디시인사이드 갤러리

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

갤러리 본문 영역

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

개잔티(175.196) 2012.01.13 12:08:49
조회 2546 추천 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 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
298798 밑에글 요약 (테트리스 정도는 초등학생도 쉽게 만들 수 있는가?) [7] qxq(59.24) 12.01.15 247 0
298796 허세 부리지 말고 까놓고 말해서... [3] qxq(59.24) 12.01.15 192 0
298795 형님들 전자10(115.21) 12.01.15 32 0
298794 인공지능은 컴퓨터 과학/공학과 다른 독자적인 학문분야일세... [5] ㅇㅇ(221.147) 12.01.15 214 0
298793 형들 기업에서 요구하는게 c야 c++이야? [4] 김탱구○갤로그로 이동합니다. 12.01.15 209 0
298791 인공지능 존내 발전하면 [2] 천재(211.197) 12.01.15 112 0
298790 인공지능은 90년대에 유망하다던 분야인데 망했어요 [7] [성대아싸]갤로그로 이동합니다. 12.01.15 270 0
298789 바이러스 의심가는 exe파일 안전하게 여는 법 없나여 [3] 하니하니.갤로그로 이동합니다. 12.01.15 101 0
298788 나도 인공지능에 관심 있는데 [11] 천재(211.197) 12.01.15 166 0
298787 이거 C로 반복문 안써서 구현할수 있나요? [8] omaggo갤로그로 이동합니다. 12.01.15 173 0
298786 인공지능에 대해 좀 아는사람있나? [3] 근데(175.198) 12.01.15 110 0
298785 형들 나형들이 [1] 코딩...?갤로그로 이동합니다. 12.01.15 78 0
298784 문제는.... [1] 쿄스케갤로그로 이동합니다. 12.01.15 54 0
298783 바이오스 질문하나할께횽~ 윗휴갤로그로 이동합니다. 12.01.15 43 0
298782 쿄스케횽 돌아와 [2] dlbo갤로그로 이동합니다. 12.01.15 65 0
298780 오늘도 솔로 [1] elwlwlwk갤로그로 이동합니다. 12.01.15 69 0
298779 이런 공모전은 처음본다 카오드림드(211.246) 12.01.15 111 1
298775 우분투도 보안 뚫린다... [3] 065갤로그로 이동합니다. 12.01.14 131 0
298773 아 내 발톱 ㅠㅠ [5] [성대아싸]갤로그로 이동합니다. 12.01.14 83 0
298771 근데 횽들은 회사 앞에 임베디드 치킨이 있으면 시켜먹을꺼임? [2] dlbo갤로그로 이동합니다. 12.01.14 85 0
298770 치킨집 보다는.. ㅇㅇ [8] ☎v2.0™갤로그로 이동합니다. 12.01.14 98 0
298769 디씨에서 모바일 웹이 나올 줄은 [2] dot(125.128) 12.01.14 95 0
298767 임베디드치킨집 정리해봐따 [10] dlbo갤로그로 이동합니다. 12.01.14 158 0
298766 C# Dictionary 질문점여 형님들 뉴비(121.137) 12.01.14 51 0
298765 MFC치킨집 차리면 장사 잘댈것 같다 [1] 천재(211.197) 12.01.14 87 0
298764 ASSA3d 루빅 큐브, 변경했음 테스트좀ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ [5] [성대아싸]갤로그로 이동합니다. 12.01.14 90 0
298763 오늘 면접 후기.. 개발자들에게 실망했다. 한마음택배(114.202) 12.01.14 174 1
298762 프로그래밍 좆밥이네 천재(211.197) 12.01.14 58 0
298761 이거 html5로 만든 게임인데, 화려하다. 파이브하자(183.1) 12.01.14 146 0
298760 임베디드 치킨 이름에 걸맞게 이거 dlbo갤로그로 이동합니다. 12.01.14 45 0
298759 네떡이 개같군요 dot(125.128) 12.01.14 41 0
298758 임베디드 치킨 새로운 아이템 [1] 거칠게갤로그로 이동합니다. 12.01.14 60 0
298757 설렌다 임베디드 치킨 dlbo갤로그로 이동합니다. 12.01.14 48 0
298756 엑셀파일 저장한게 CMD 파일로 바꼈어요 ㅠㅠ [6] 바보생키(115.93) 12.01.14 91 0
298755 오케이 한국엔 임베디드 치킨 미쿡엔 임베디드 분식 [4] dlbo갤로그로 이동합니다. 12.01.14 72 0
298754 한국에는 임베디드 치킨, 미쿡에는 임베디드 김치 [4] dlbo갤로그로 이동합니다. 12.01.14 65 0
298753 gtx 465 xp dx9 device 생성 실패 [1] ㅁㄴㅇㄹ(112.187) 12.01.14 59 0
298752 임베디드 치킨을 열고 키워서 실리콘밸리로 진출하는거야 [3] dlbo갤로그로 이동합니다. 12.01.14 61 0
298751 치킨은 레드오션아니냐? 다른거 팔자 [2] 거칠게갤로그로 이동합니다. 12.01.14 82 0
298750 로또 되면 가산디지털단지랑 구로디지털이랑 성수역일대에 [5] dlbo갤로그로 이동합니다. 12.01.14 102 0
298749 야이 지금 이란과 미쿡이 전쟁 일으킬지도 모르는데 잠이오냐?? [2] 거칠게갤로그로 이동합니다. 12.01.14 80 0
298748 님들아 저의 진로 상담좀 부탁염 [4] 유페미아(211.212) 12.01.14 67 0
298746 웹플머가 그렇게 막장인가요? [1] ㅇㅇ(112.144) 12.01.14 112 0
298745 업그레이드 ....//? 학교가자갤로그로 이동합니다. 12.01.14 24 0
298744 프로그래밍 좀 한다 하는 사람들을 이걸 알겠지? [1] SODMaster갤로그로 이동합니다. 12.01.14 88 0
298743 자바스크립트 배열에서 :이 왜 들어가면 [3] ㅇㅇ(112.144) 12.01.14 75 0
298742 성님들 도와주세요 [4] 눈팅싫어서로그인함갤로그로 이동합니다. 12.01.14 66 0
298741 프로그래머와 코더를 왜 분류하죠? [3] ㅇㅇ(112.144) 12.01.14 138 0
298740 컴공여자는취업하기힘들까여? [5] 겸찌니갤로그로 이동합니다. 12.01.14 917 1
298739 보안 배우고있는 고수형들 좀도와줘여 [3] 카리아트갤로그로 이동합니다. 12.01.14 78 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2