디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

천재 횽님들 프로그래밍 질문이에요

개잔티(175.196) 2012.01.13 12:08:49
조회 2538 추천 2 댓글 0

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
#include <string.h>

#define MAX 5
#define COL 3        //연락처별 항목수

/*
배열 전달 시에는 주소를 이용한다.
배열 포인터 : 배열을 가리킨다.
2차 배열의 요소는 1차원 배열임을 꼭 암기
*/

list(char (*contact)[COL][80])        //배열포인터        //char contact[][80]으로 표현해도 됨
{
        int i;
        char *name,*mail,*phone;

        printf("번호: 이 름 : 이메일 : 전 화 : n");
        for(i=0;i<5;i++)
        {
                name = contact[i][0];                //i번 연락처
                mail = contact[i][1];                //
                phone = contact[i][2];                //
                printf("[%d][ %s ][ %s ][ %s ]n",i,name,mail,phone);
        }
}

insert(char (*contact)[80])        //추가시킬 부분 하나만 가져오면 되므로 1차 배열  contact[]라고 해도됨
{        //입력        //[3][80]
        char *name,*mail,*phone;

        name = &contact[0];
        mail = &contact[1];
        phone = &contact[2];        //[0]번 배열 시작 주소

        printf("Write Name : ");
        gets(name);
        printf("Write Mail : ");
        gets(mail);
        printf("Write Phone : ");
        gets(phone);
}        //0번부터 차례대로 입력

view(char (*contact)[80])        //[3][80]
{        //선택 출력
        char *name,*mail,*phone;

        name = &contact[0];
        mail = &contact[1];
        phone = &contact[2];

        printf("연락처 출력n");
        printf("Name [ %s ]n",name);
        printf("Mail [ %s ]n",mail);
        printf("Phone [ %s ]n",phone);
}

edit(char (*contact)[80])        //수정하려는 연락처 하나만 선택하면 되므로
{        //수정 - 선택
        char *name,*mail,*phone;
        char buf[3][80] = {0};
        int i;

        name = &contact[0];
        mail = &contact[1];
        phone = &contact[2];        //이름이 저장된 주소

        printf("Name ( %s ) -> ",name);
        gets(buf[0]);
        printf("Mail ( %s ) -> ",mail);
        gets(buf[1]);
        printf("Phone ( %s ) -> ",phone);
        gets(buf[2]);

        for(i=0;i<3;i++)        //실제로 수정이 이루어지는 부분
        {
                if(buf[i][0])
                {
                        strncpy(contact[i], buf[i], sizeof(contact[i]-1));        //buf에 있는 문자열을 phone에 대입해라
                        //여기서 배열크기인 sizeof(phone)로 안했냐면 마지막에 NULL문자가 들어가야 하므로 안그러면 깨질수도 있다.
                }
        }
}

select(char (*contact)[3][80], 
           void (*callback)(char (*contact)[80]))        //조회        //contact[][80]라고 해도 됨
{                                

        int no;//찾아야되니까 전체인 2차원배열 모두를 불러와야 된다.
        printf("Contact no: : ");
        scanf("%d",&no);
        fflush(stdin);

        if( strlen( contact[no][0] ) )        //연락처 이름이 저장된 배열명
        {
                callback(contact[no]);        //2차원 배열의 이름
        }else{        //예외 처리
                printf("등록되지 않은 연락처 입니다.n");
        }
        //no번 연락처를 전달(&[no][3][80]

}





main()
{
        char contact[MAX][3][80] ={" "};        //이름 5개 80바이트짜리
        int seq = 0;
        int run = 1;

        while(run)
        {
                [...];
                list(contact);
                printf("New View Edit eXitn");
                switch(getch())        //화면에 뭘 눌렀는지 안보인다.(n도 버퍼에 안남는다)
                {
                        case 'N': case'n':
                                if( seq == 5 )
                                {
                                        printf("메모리가 부족합니다.n");
                                        break;
                                }
                                insert(contact[seq]);
                                seq++;
                                break;
                        case 'V': case'v':
                                select(contact, view);        //선택된 연락처 출력        ,콜백
                                break;
                        case 'E': case'e':
                                select(contact, edit);        //선택된 연락처 수정        ,콜백
                                break;
                        case 'X': case'x':
                                run = 0;
                                break;
                }
                printf("확인");
                getch();
        //        list(contact);        //list한테 연락처가 저장된 배열의 시작주소를 알려주면 list가 출력해 준다
        }
        //정리
}

이렇게 번호부를 만들었는데

1>c:documents and settingsbitacademymy documentsvisual studio 2008projects오전장티마지막마지막end.c(134) : warning C4047: '함수' : 'int'의 간접 참조 수준이 'char [5][3][80]'과(와) 다릅니다.
1>c:documents and settingsbitacademymy documentsvisual studio 2008projects오전장티마지막마지막end.c(134) : warning C4024: 'select' : 형식 및 실제 매개 변수 1의 형식이 서로 다릅니다.
1>c:documents and settingsbitacademymy documentsvisual studio 2008projects오전장티마지막마지막end.c(134) : warning C4047: '함수' : 'fd_set *'의 간접 참조 수준이 'int (__cdecl *)(char (*)[80])'과(와) 다릅니다.
1>c:documents and settingsbitacademymy documentsvisual studio 2008projects오전장티마지막마지막end.c(134) : warning C4024: 'select' : 형식 및 실제 매개 변수 2의 형식이 서로 다릅니다.
1>c:documents and settingsbitacademymy documentsvisual studio 2008projects오전장티마지막마지막end.c(134) : error C2198: 'select' : 호출에 매개 변수가 너무 적습니다.
1>c:documents and settingsbitacademymy documentsvisual studio 2008projects오전장티마지막마지막end.c(137) : warning C4047: '함수' : 'int'의 간접 참조 수준이 'char [5][3][80]'과(와) 다릅니다.
1>c:documents and settingsbitacademymy documentsvisual studio 2008projects오전장티마지막마지막end.c(137) : warning C4024: 'select' : 형식 및 실제 매개 변수 1의 형식이 서로 다릅니다.
1>c:documents and settingsbitacademymy documentsvisual studio 2008projects오전장티마지막마지막end.c(137) : warning C4047: '함수' : 'fd_set *'의 간접 참조 수준이 'int (__cdecl *)(char (*)[80])'과(와) 다릅니다.
1>c:documents and settingsbitacademymy documentsvisual studio 2008projects오전장티마지막마지막end.c(137) : warning C4024: 'select' : 형식 및 실제 매개 변수 2의 형식이 서로 다릅니다.
1>c:documents and settingsbitacademymy documentsvisual studio 2008projects오전장티마지막마지막end.c(137) : error C2198: 'select' : 호출에 매개 변수가 너무 적습니다.

이렇게 에러가뜨네요 원인좀 알려주세요 ㅠ

추천 비추천

2

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 대박 날 것 같아서 내 꿈에 나와줬으면 하는 스타는? 운영자 25/11/17 - -
AD 겨울가전 SALE! 쿨한 겨울 HOT세일 운영자 25/11/12 - -
298492 우왕 ㅋㅋ 나 어제 생전 처음으로 Bar 가봄 ㅋㅋㅋㅋㅋ [11] 쿄스케갤로그로 이동합니다. 12.01.13 543 0
298490 공무원 급수, 호봉 별 급여 테이블 [9] 씨발라드세요갤로그로 이동합니다. 12.01.13 234 0
298483 씨발라드세요 // 곽노현팀장 하고 말 안섞는게 좋아 [2] ㅁㅈㄹ(116.125) 12.01.13 102 0
298482 새벽4시엔 들어갈꺼라 예상했따.. [4] 캐밤샘닭(115.92) 12.01.13 88 0
298480 파이썬 시작하려는데 버전몇짜리로 해야대?? [2] ㅁㅁㅁ(211.232) 12.01.13 93 0
298477 안녕하세요. [11] HiKiKoMoRi갤로그로 이동합니다. 12.01.13 126 0
298476 ㅆㅂㄴ이 아침부터 프갤에 정치글싸고 지랄이네.. 씨발라드세요갤로그로 이동합니다. 12.01.13 52 0
298475 고려대 컴공들어가는데 질문좀 [4] 고대(112.168) 12.01.13 619 0
298472 apue.h 파일이라는게 어디있는건지요??? [3] 에이시아(125.31) 12.01.13 151 0
298470 우분투에서 gcc사용법 좀 알려주세요. [3] 에이시아(125.31) 12.01.13 141 0
298469 아, 인성검사 참 멍충하네 = _=)... [2] 땡칠도사갤로그로 이동합니다. 12.01.13 117 0
298467 프갤 슨상님들 [3] ㅁㄴㅇㄹ(119.195) 12.01.13 73 0
298466 근데 c언어로 코딩하는애들은 [6] 김탱구○갤로그로 이동합니다. 12.01.13 243 0
298458 자바스크립트 고수분들.. [2] (118.176) 12.01.13 60 1
298457 오랫만에 생각나서 책장 뒤져서 잡지 꺼내옴 ㅋㅋ [2] [성대아싸]갤로그로 이동합니다. 12.01.13 101 0
298454 스프링 프레임워크 다뤄본 사람 있습니까! [3] 한마음택배(114.202) 12.01.13 85 0
298453 난 중학교때 뭘 했는가 [2] [성대아싸]갤로그로 이동합니다. 12.01.13 102 0
298451 확실히 뭔가 압박감이 있어야.... [1] 캐야근닭(115.92) 12.01.13 58 0
298450 세상살기쉬운게아니네요 [3] IMhouse갤로그로 이동합니다. 12.01.12 74 0
298448 c언어 고수 성님들~ [4] 123(210.218) 12.01.12 141 0
298447 blind sql injection에 대해서 아시는 분? ㅇㅅㅇ(111.118) 12.01.12 68 0
298445 html css 자바스크립트 배우는 책 html(112.146) 12.01.12 105 0
298444 형님들 도와주세요~~~~~~ [1] SoliCode갤로그로 이동합니다. 12.01.12 54 0
298443 안드로이드 태블릿 [2] sloth_갤로그로 이동합니다. 12.01.12 87 0
298441 님들 해커 간지 내는법좀 알려주세여 [16] ㅇㅇ(121.132) 12.01.12 240 0
298440 프로그래밍 갤러리에도 공무원 생각중인 형들 있어? 광란의디씨질갤로그로 이동합니다. 12.01.12 91 0
298439 제가요 보안쪽으로 가려고 하는데요 [2] 장떡갤로그로 이동합니다. 12.01.12 98 0
298438 삼성소프트웨어멤버십?? 여기무슨 쓰레기집단이냐 [2] 아넬카(218.209) 12.01.12 382 2
298435 프로그래밍 하면 하드웨어도 잘뜯어고칠줄 안다? [9] 에헹헹헤(211.221) 12.01.12 220 0
298434 초봉 실수령 300이면 존나 많이 받는거? [1] 킁킁(183.99) 12.01.12 210 0
298433 비주알 정품 쓰는 사람 있음? [3] 1(211.197) 12.01.12 84 0
298432 나 연봉 4000만 되도 아이코 감사 핥핥 하면서 살게싿 [1] 1(211.197) 12.01.12 78 0
298431 다들꿈의 연봉이 얼마라고 생각함? [2] 부왘(183.99) 12.01.12 178 0
298430 웹프로그래밍 할줄 아는 형들.. 이 태그 뭐가 잘못된거? ㅇㅇ(115.86) 12.01.12 56 0
298429 운동 끝났어여 뿌우 SODMaster갤로그로 이동합니다. 12.01.12 44 0
298427 형아 한양대 컴공 신입생인대여 [6] 신입생ㅇㄴㅁ(124.54) 12.01.12 220 0
298426 혹시?? 독수리산 보셨어요//?//? 학교가자갤로그로 이동합니다. 12.01.12 38 0
298425 삼전 무선 초봉이 [1] 푸의미래갤로그로 이동합니다. 12.01.12 170 0
298424 삼성 멤버십 기술면접 후기 [6] ㅅㅅㅅ(182.208) 12.01.12 433 0
298423 형들 자바 질문 있어요 초보(203.241) 12.01.12 57 0
298422 미국 회사 분위기 VS 한국 회사 분위기 [2] 1(211.197) 12.01.12 208 0
298421 나름대로 희망적인 말을 들엇는데 [5] 신미애갤로그로 이동합니다. 12.01.12 211 0
298419 유럽은 17살부터 일할수 있음 1(211.197) 12.01.12 55 0
298417 내일 세미나 자료준비중인데..키노트 정말 괜찮네 ㅋ [1] 캐맥닭(115.92) 12.01.12 94 0
298416 신조어 만들어 내자 다운증후군 1(211.197) 12.01.12 43 0
298414 여자가 병신인 이유 [1] 1(211.197) 12.01.12 98 0
298413 SM에 대해 어찌 생각해?? [1] 거칠게갤로그로 이동합니다. 12.01.12 152 0
298411 님들 중에 운동 하시는분? [3] 1(211.197) 12.01.12 71 0
298410 비수알 2010 prenium 받는중 1(211.197) 12.01.12 37 0
298409 스티브잡스는 97년 애플으로 돌아온 뒤에 단 1주도 매각하지 않았다 ㅁㄴㄻㄹ갤로그로 이동합니다. 12.01.12 86 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2