디시인사이드 갤러리

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

갤러리 본문 영역

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

개잔티(175.196) 2012.01.13 12:08:49
조회 2533 추천 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/10 - -
AD 겨울가전 SALE! 쿨한 겨울 HOT세일 운영자 25/11/12 - -
298683 점점 집컴이 사양이 딸리기 시작한다 ㄷㄷㄷ 거칠게갤로그로 이동합니다. 12.01.14 46 0
298682 공부 못하면 플밍도 못함? [3] 블럭갤로그로 이동합니다. 12.01.14 110 0
298681 vs 2010 EXPRESS을 받으려는데 다운이 안된다?? 거칠게갤로그로 이동합니다. 12.01.14 37 0
298680 리눅스 프로그래밍 질문(기초적인 것일듯??) [3] 에이시아(125.31) 12.01.14 84 0
298679 야. 진저브레드가 무슨말이냐? 진심 몰라서 묻는거 ㅇㅇ [3] ㅁㅇㅇ(116.125) 12.01.14 133 0
298678 리눅스 고급 프로그래밍 어떻게 공부해야될지.ㅜㅜ [4] 에이시아(125.31) 12.01.14 85 0
298677 안드로아드개발자분들 테스트폰으로 무슨폰사용하시나요?? [1] 래댁갤로그로 이동합니다. 12.01.14 77 0
298676 씀 얘기가 주를 이루네 [4] LibeRa갤로그로 이동합니다. 12.01.14 111 0
298674 [html5] 멍청한 촌놈에게 가르침좀 주세요.. 굽신굽신 멍청이(118.37) 12.01.14 54 0
298672 형들 나공부하다가 신기한거발견 [9] 코딩...?갤로그로 이동합니다. 12.01.14 187 0
298671 마소 HTML5 관련 기사 보던중 [성대아싸]갤로그로 이동합니다. 12.01.14 80 0
298670 마냥 좋은 회사 다니면 답나올거 같냐 으흐흥(58.122) 12.01.14 55 0
298669 프로그래밍은 역시 쩐다.... [3] ㅁㄴㅇㄻㄴㄹㅇ(121.183) 12.01.14 193 0
298666 멤버십 후기 서울지역 [3] 멘붕의달인(121.129) 12.01.14 244 0
298665 이제 정보올림피아드 준비해야되는데 [3] 하얀사람갤로그로 이동합니다. 12.01.14 79 0
298662 프로그래밍에 입문하려면 뭐부터해야되나요..?? [2] 'ㅡ'(119.195) 12.01.14 78 0
298661 갤질 하다보면 진짜.. 무슨 다 한숨만 쉬고있네. [1] 아오..(118.35) 12.01.14 81 0
298660 오타 미안미안 [1] 풋사과1갤로그로 이동합니다. 12.01.14 40 0
298658 꼭 프로그래머가되야징.. [1] 코딩...?갤로그로 이동합니다. 12.01.14 80 0
298656 횽들 면접후 바로 견적서/계약서 안쓰고... 포트폴리오를 보자는 회사는 [1] ㅇㅇ(221.147) 12.01.14 114 0
298654 아싸3디 루빅 큐브 2X2X2 [2] [성대아싸]갤로그로 이동합니다. 12.01.14 94 0
298653 보통 대졸신입이삼성sds,LGcns,SKc&c 가면 어떤업무를 하나??? 미친놈처럼살자갤로그로 이동합니다. 12.01.14 238 0
298652 임베디드 통닭 vs 웹 통닭 [2] dlbo갤로그로 이동합니다. 12.01.14 96 1
298651 모범적인 토렌트사용 [1] elwlwlwk갤로그로 이동합니다. 12.01.14 122 0
298650 형들아. 파일처리 책중에 학부생이 볼만한 좋은 책 없나여?... ㅇㅇㄴ(116.121) 12.01.14 55 0
298649 엔지니어 계의 박지성 이야기 [4] 풋사과1갤로그로 이동합니다. 12.01.14 204 0
298648 느그들 이딴 회사 가고 싶냐?? [5] 시불라미갤로그로 이동합니다. 12.01.14 214 0
298646 자바 초~중급 책 어떤걸 보면 좋을까요? [2] ㅎㅎ(182.213) 12.01.14 78 0
298645 에딧 컨트롤에 있는 스크롤바를 움직이지 않게 하는 방법이 있을까요? aaa(175.207) 12.01.14 31 0
298644 코딩..닉박았네?? [1] ㅋㄱ(183.96) 12.01.14 32 0
298643 it쪽으로 가려는 21살인데.. [5] dd(175.211) 12.01.14 119 0
298642 다들 후기 열심이네요... [1] ㅋㄱ(183.96) 12.01.14 54 0
298641 학벌은 중요하지만 자기 써먹기 나름 아님? [5] 아구몬(61.47) 12.01.14 116 0
298640 좋은학교 나오면 짭밥 찌끌찌글할때도 잘나감? [2] 풋사과1갤로그로 이동합니다. 12.01.13 103 0
298639 프로그래밍이라? [4] Deskjet(220.75) 12.01.13 140 0
298638 영화에서보면 해커가 [3] 코딩...?갤로그로 이동합니다. 12.01.13 148 0
298637 질문을 바꿔서 해볼께요 [1] 홈피제작중(203.171) 12.01.13 39 0
298636 여기 보안쪽 잘 아시는 분 있나요 ? [8] CALLEJON(61.47) 12.01.13 130 0
298635 짝지 어플 해킹할려면 어느정도 실력 있어야함? [3] 메리프갤로그로 이동합니다. 12.01.13 322 0
298634 jsp+html로 홈피제작중인데 뭐가 틀린건지 모르겠어요; [5] 홈피제작중(203.171) 12.01.13 59 0
298632 아.. 씨언어 잇자나 [6] 코딩...?갤로그로 이동합니다. 12.01.13 124 0
298631 솔라리스 일반계정에서 [1] 풋사과1갤로그로 이동합니다. 12.01.13 60 0
298630 mvoip할줄아는 횽 있어?? [9] 730(222.101) 12.01.13 86 0
298629 외로워요... [3] asdfdsf(121.183) 12.01.13 43 0
298628 오늘 삼성소프트웨어멤버십 면접 보신분? [6] 똥줄(27.117) 12.01.13 290 0
298627 IT바닥에서 성공 할 수 있냐? [15] GoodStar갤로그로 이동합니다. 12.01.13 243 0
298624 맥북... [2] K케이K갤로그로 이동합니다. 12.01.13 52 0
298623 형님들 올해 대학교 복학하는데 어떻게 할까.. [4] 데인티갤로그로 이동합니다. 12.01.13 110 0
298622 다이얼로그 설정을 라디오버튼으로 바꿀수 있을까요? [1] aaa(175.207) 12.01.13 35 0
298619 직업학교가 뭐지 [1] K케이K갤로그로 이동합니다. 12.01.13 70 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2