디시인사이드 갤러리

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

갤러리 본문 영역

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

개잔티(175.196) 2012.01.13 12:08:49
조회 2542 추천 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 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
299169 병신들아 C언어 배우는데 몇달걸리냐 이지랄떨지마라 [54] 똥싸개새끼(112.161) 12.01.17 415 1
299168 근데 안드로이드는 왜 UI 디자인을 XML로 잡게 했을까.... [15] dlbo갤로그로 이동합니다. 12.01.17 155 0
299167 형들 안드로이드 XML 공부법 질문좀 [7] 숭살숭살(114.71) 12.01.17 212 0
299165 능력자 님들 게임가드 뚫어서 다클 띄우는거 힘든가요? [15] 미친저그갤로그로 이동합니다. 12.01.17 154 0
299164 더 이상 늦장 그만 피고 빨리 나가야겠다 [2] coding갤로그로 이동합니다. 12.01.17 52 0
299163 LTE가 휴대폰 화질이랑 관계잇음 ㅇ벗음? [8] HarlemLuiah갤로그로 이동합니다. 12.01.17 100 0
299162 MFC할줄아는 게이 있어?? [28] 730(222.101) 12.01.17 221 0
299161 토익높으면 연봉이랑 관련이 있움?! [7] 으힝힝(222.107) 12.01.17 145 0
299160 방송 3사 미쳣네? 공영방송 요금내게 생겻네 [3] HarlemLuiah갤로그로 이동합니다. 12.01.17 95 0
299159 컴공가는게 무시당할만함? [10] K케이K갤로그로 이동합니다. 12.01.17 169 0
299157 웹사이트 리뉴얼작업하는데 php에 sqlite로 디비되있네 [1] hamsik(165.194) 12.01.17 62 0
299156 c언어 고수형 질문좀 [2] 입문뉴비(210.93) 12.01.17 64 0
299155 올해 중1입니다. 정보보안전문가가 되고 싶습니다!!!!!!! [9] 초딩6(59.13) 12.01.17 147 0
299152 이거 오토핫키는아닌거같은데 무슨프로그램으로짠거죠? ㅁㄴㅇ(175.196) 12.01.17 88 0
299150 2008서버 이거 10분 되면 자동 로그오프 되는데 왜이럼? [1] □ㅁ갤로그로 이동합니다. 12.01.17 61 0
299149 비주얼 스튜디오 호무라 에디션 ㅁㄴㄻㄹ갤로그로 이동합니다. 12.01.17 72 0
299148 배열 대 배열로 대입이 원래 안됐었나? [4] 배열(211.183) 12.01.17 116 0
299147 성대아싸횽이 보면 좋아할거 같은 신문기사!! ㅋㅋㅋ [4] ㅁㄴㅇㄹ(59.30) 12.01.17 118 0
299146 시언어 지금까지 공부한걸로 가위바위보 만들었는데. 궁금한점 [6] 해피너스갤로그로 이동합니다. 12.01.17 160 0
299145 게임 개발자들은 조석을 스카웃해라 ㅋㅋ [1] 쿄스케갤로그로 이동합니다. 12.01.17 164 0
299144 아오 진짜 프로그래밍은 좀 프로그래밍에 뜻이있는 사람들이 했으면 좋겟따. 개심심(61.73) 12.01.17 80 0
299143 여기 혹시 주식하는 형들있어여?? 가비아 존나 폭등했던데 ㅋㅋㅋㅋㅋㅋㅋㅋ [1] ㅁㄴㅇㄹ(59.30) 12.01.17 105 0
299142 혹시 c++프로젝트에서 C# dll참조하는거 해본 형 있음? [9] laoshanlong갤로그로 이동합니다. 12.01.17 110 0
299140 대기업에 미련 [1] 3(121.169) 12.01.17 125 0
299139 근데 다른직종도 바쁜곳 많은데.. [2] 쿄스케갤로그로 이동합니다. 12.01.17 96 0
299138 프로그래머는 별로 존경받지 못하는 직업같아 슬프다 [4] ㅇㅇ(58.102) 12.01.17 169 0
299137 제가 취업준비하려고 여기저기 회사 알아볼때 주로 봤던 사이트들 ㅋㅋㅋㅋㅋ [2] ㅁㄴㅇㄹ(59.30) 12.01.17 190 0
299136 그래픽카드 바꿀껀데 좀 괜찮은거 살껀데 그냥 사서 껴 넣기만 하면 되나요 [2] 글링(180.68) 12.01.17 48 0
299135 대학원 다니는 횽 있나요? [4] Paradise갤로그로 이동합니다. 12.01.17 143 0
299134 table div ul li 태그 많이 써본 님들 질문좀 [1] □ㅁ갤로그로 이동합니다. 12.01.17 141 0
299132 DLL 질문점... SODMaster갤로그로 이동합니다. 12.01.17 62 0
299131 티멕스하니까 생각나는건데 [6] NightWish갤로그로 이동합니다. 12.01.17 132 0
299130 난수에 대한 질문 드림 [5] 해피너스갤로그로 이동합니다. 12.01.17 72 0
299129 '에러'와 '예외'는 다르게 받아들여야 하는걸까? [6] +어게인갤로그로 이동합니다. 12.01.17 111 0
299128 웹에서 업로기 하기전 이미지파일을 미리보기 가능함? [1] 웹노예(183.105) 12.01.17 85 0
299127 패이스북은 [1] ㅇㅇ갤로그로 이동합니다. 12.01.17 83 0
299126 게임 프로그래밍 하는 횽중에 unstylized갤로그로 이동합니다. 12.01.17 85 0
299123 서울대 가고싶다 자살춤갤로그로 이동합니다. 12.01.17 117 0
299121 지금 디씨 디도스 먹는거임? 풋사과1갤로그로 이동합니다. 12.01.17 48 0
299120 ㅋㅋ 밤새는 형있나? [2] 좋은아버지갤로그로 이동합니다. 12.01.17 81 0
299117 프로그래밍 독학죽인데, 어려워서 학원좀 다니려고 하거든 [2] ㅁㄴㄴㅁ(65.49) 12.01.17 156 0
299116 형들!티맥스소프트,농심전산실,농협전산실,기타등등 [4] 김탱구○갤로그로 이동합니다. 12.01.17 223 0
299115 진로상담좀 [2] 유니크감성돔갤로그로 이동합니다. 12.01.17 78 0
299113 형님들 삼성 bada 개발해보신분? 시작은secret(59.5) 12.01.17 53 0
299112 면 먹고싶다 elwlwlwk갤로그로 이동합니다. 12.01.17 36 0
299110 아 자바 GUI 도구 욀케 구리냐 [5] (112.153) 12.01.17 120 0
299109 World vision...최고@.^^^/ 학교가자갤로그로 이동합니다. 12.01.17 30 0
299108 고마워 switch에 ()를 안달아서 안되던거였구나 [12] 해피너스갤로그로 이동합니다. 12.01.17 100 0
299106 시망 배탈나서 존나 까칠모드 됐네 dlbo갤로그로 이동합니다. 12.01.17 36 0
299103 바이브레이터는 [1] 생각놀이갤로그로 이동합니다. 12.01.17 69 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2