디시인사이드 갤러리

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

갤러리 본문 영역

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

개잔티(175.196) 2012.01.13 12:08:49
조회 2544 추천 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/24 - -
이슈 [디시人터뷰] 충무로가 주목하는 신예, '세계의 주인' 서수빈 운영자 25/11/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
298849 해외 해외 하니 나도 목표중 하나가 해외 대학원.. +어게인갤로그로 이동합니다. 12.01.15 89 0
298848 어디에 있는 코드게? [1] elwlwlwk갤로그로 이동합니다. 12.01.15 64 0
298847 컴자격증 많이 따보신 님들아 [5] 비수쉴드갤로그로 이동합니다. 12.01.15 104 0
298844 나 고3때 수리 가 모의 100점 맞았었음.. [2] ㅋㄱ(183.96) 12.01.15 94 0
298843 치킨 무시하지 마라능. ㅇㅇ [1] ☎v2.0™갤로그로 이동합니다. 12.01.15 81 0
298842 형들 나 수리5등급에 수포자인데ㅋㅋㅋ [3] 어려운리눅스갤로그로 이동합니다. 12.01.15 96 0
298841 형들 나 아랫글보니궁금한거 [1] 코딩...?갤로그로 이동합니다. 12.01.15 49 0
298840 컴공? 컴과? [9] 전과생(121.167) 12.01.15 204 0
298839 어플,프로그램,웹사이트 만들려면 무슨학과가야되요? [6] 어려운리눅스갤로그로 이동합니다. 12.01.15 114 0
298838 파이썬 input() 함수 질문좀 [2] ThinkCHAN갤로그로 이동합니다. 12.01.15 172 0
298837 해외 회사 입사 내가 아는 루트들. ㅇㅇ [3] ☎v2.0™갤로그로 이동합니다. 12.01.15 206 0
298836 으엥 코딩...?갤로그로 이동합니다. 12.01.15 33 0
298835 이거 왜이런거에요ㅠ 댓글점여ㅠ 심각해요ㅠ [1] 글쓴이(121.165) 12.01.15 74 1
298834 Win7 64bit VS2010에서 FreeGLUT 사용 - 링크 오류 [9] wiu갤로그로 이동합니다. 12.01.15 273 0
298831 킁.. 집에서 회사일 하기 무지 싫넹. [10] ☎v2.0™갤로그로 이동합니다. 12.01.15 149 0
298829 프로그래밍을 배우고싶은 학생이질문하나해요 ㅠㅠ [2] 초보(211.229) 12.01.15 67 0
298828 뜬금없지만 라면 종결자 [4] 바보플머(222.121) 12.01.15 137 0
298826 프로그래머로 미국회사 취업하려면 스펙어느정도 되야돼? [5] ㅁㅁㅁ(121.164) 12.01.15 277 0
298825 엔진이 한종류인줄로만 알았는데 아니네.. [7] +어게인갤로그로 이동합니다. 12.01.15 138 0
298823 클라이언트 프로그래머 되려는데 커리큘럼 비교좀 해주세요!!!!!!~~~~ [2] 맹러(175.123) 12.01.15 136 0
298821 전에 나 집에 있을때 집으로 온 전화 기억난다 [2] dlbo갤로그로 이동합니다. 12.01.15 44 0
298818 횽들 class를 사용하려면 iostream이 필요한거야???? [1] 플밍 초보 (121.164) 12.01.15 4718 0
298817 우리 이모부.. 보이스 피싱 당하셨다네..... [5] 쿄스케갤로그로 이동합니다. 12.01.15 121 0
298816 프갤러 형들 프갤 늅인데 인턴 질문좀(계약직같은거) 정육갤로그로 이동합니다. 12.01.15 43 0
298815 역시 임베디드 치킨이 제일 좋겠어 dlbo갤로그로 이동합니다. 12.01.15 46 0
298814 c언어 공부하면서 수학딸린다는게 존나 느껴져서 수학공부 시작하려고 하는데 [5] 세탁범갤로그로 이동합니다. 12.01.15 161 0
298813 어제도 올렸지만 답이 없던 질문 재질문합니당. [2] SODMaster갤로그로 이동합니다. 12.01.15 62 0
298812 C#이 C++ 보다 좋은 점에 대한 질문에 대해서... [1] 바보플머(222.121) 12.01.15 161 0
298811 그것에 대해서 무엇을 얼마나 아느냐가 중요한게 아닌 것 같다. [2] 바보플머(222.121) 12.01.15 75 0
298808 정보처리기사 이제 비전공이면 경력 꼭 필요하냐? [2] 으헝(58.122) 12.01.15 172 0
298807 for 문 뒤에는 ; 안붙여도 됨/?? [4] 노소프소갤로그로 이동합니다. 12.01.15 110 0
298806 횽들 개뉴비가 c sprintf 질문좀 할게요 [2] 노소프소갤로그로 이동합니다. 12.01.15 62 0
298805 좆뉴비인데 횽들 API 뭐로해야할지도와줘,, 123(58.148) 12.01.15 48 0
298804 퇴사한지 2주째 [1] 므해?갤로그로 이동합니다. 12.01.15 124 0
298803 c#이 c++보다 낳은점이 뭐가있나여 [1] 회전매니아갤로그로 이동합니다. 12.01.15 123 0
298801 하아 Expert C Programming이책 넘 구하기 힘들다 [2] 일광면(119.198) 12.01.15 100 0
298800 말년 휴가 나왓는데 .. 코딩 기억나나 찍어볼려고 햇는데 [1] 까르갤로그로 이동합니다. 12.01.15 69 0
298799 윈도우7도 콘솔 고자였네 dot(125.128) 12.01.15 70 0
298798 밑에글 요약 (테트리스 정도는 초등학생도 쉽게 만들 수 있는가?) [7] qxq(59.24) 12.01.15 245 0
298796 허세 부리지 말고 까놓고 말해서... [3] qxq(59.24) 12.01.15 191 0
298795 형님들 전자10(115.21) 12.01.15 31 0
298794 인공지능은 컴퓨터 과학/공학과 다른 독자적인 학문분야일세... [5] ㅇㅇ(221.147) 12.01.15 213 0
298793 형들 기업에서 요구하는게 c야 c++이야? [4] 김탱구○갤로그로 이동합니다. 12.01.15 207 0
298791 인공지능 존내 발전하면 [2] 천재(211.197) 12.01.15 111 0
298790 인공지능은 90년대에 유망하다던 분야인데 망했어요 [7] [성대아싸]갤로그로 이동합니다. 12.01.15 270 0
298789 바이러스 의심가는 exe파일 안전하게 여는 법 없나여 [3] 하니하니.갤로그로 이동합니다. 12.01.15 99 0
298788 나도 인공지능에 관심 있는데 [11] 천재(211.197) 12.01.15 164 0
298787 이거 C로 반복문 안써서 구현할수 있나요? [8] omaggo갤로그로 이동합니다. 12.01.15 173 0
298786 인공지능에 대해 좀 아는사람있나? [3] 근데(175.198) 12.01.15 109 0
298785 형들 나형들이 [1] 코딩...?갤로그로 이동합니다. 12.01.15 76 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2