디시인사이드 갤러리

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

갤러리 본문 영역

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

개잔티(175.196) 2012.01.13 12:08:49
조회 2540 추천 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 - -
299046 CMD가 너무 빨리닫힌다. 프로그램 수행 후 바로종료 안되게좀 ㅡㅡ [11] 빡치는CMD(121.157) 12.01.16 299 0
299044 존나 병신이 간단한 질문좀;; (cmd창 옵션 쓰는 법) [8] jaydeedonuts갤로그로 이동합니다. 12.01.16 110 1
299043 복사/붙여넣기 안되는 바이러스도 있나?? [1] fta(115.88) 12.01.16 82 0
299042 이번에 휴학하면서 자바를 한번 배워보려고 하는데요 [1] 휴학생(59.14) 12.01.16 91 0
299041 C언어 간단한 질문좀요. [3] ㅂㅈㄷ(183.109) 12.01.16 65 0
299038 조공을 바칠테니 [2] 유니크감성돔갤로그로 이동합니다. 12.01.16 86 0
299037 여친이랑 휫자 먹고있다 [2] dlbo갤로그로 이동합니다. 12.01.16 114 0
299036 야근하시는데 할일없으신형들 [1] 유니크감성돔갤로그로 이동합니다. 12.01.16 56 0
299034 오늘 첫출근... [5] 그러함(211.246) 12.01.16 132 0
299033 근데 뭔 숙제 검색 좀 하면 죄다 레포트월드네; aaaaa(116.121) 12.01.16 49 0
299031 이런건 얼마정도함? 유니크감성돔갤로그로 이동합니다. 12.01.16 54 0
299030 근데 운지점프 해본 횽들 있음? dlbo갤로그로 이동합니다. 12.01.16 50 0
299029 쿠마코 소환 [6] 생각놀이갤로그로 이동합니다. 12.01.16 144 0
299028 도대체 이 슈발 빌어먹을 외쿡개발자새끼들은 [3] 유니크감성돔갤로그로 이동합니다. 12.01.16 145 0
299027 새로 왔슴다 [8] 유니크감성돔갤로그로 이동합니다. 12.01.16 83 0
299026 나갔다 와서 주갤가서 휫자좀비질이나 해야겠다 dlbo갤로그로 이동합니다. 12.01.16 30 0
299024 이클립스 사용법좀요 야요이갤로그로 이동합니다. 12.01.16 56 0
299023 케이블 방송 뭐여? [2] 이모군(175.114) 12.01.16 50 0
299021 아래 동영상 검색 구인 글 말인데 [3] HJJ(220.76) 12.01.16 54 0
299020 어이 님들아 [2] 오마이갓넬갤로그로 이동합니다. 12.01.16 49 0
299019 dlbo횽! 아까 그 과제 말인데... [9] 쿠마코갤로그로 이동합니다. 12.01.16 100 0
299018 시발 그러고 보니 올해에 운석 운지하면 치킨집 차려도 소용없잖아 [2] dlbo갤로그로 이동합니다. 12.01.16 66 0
299017 내가 피부만 좋았어도 SODMaster갤로그로 이동합니다. 12.01.16 49 0
299014 MP3 파일 길이 구하는 C언어 코드인데 문제가이씀 [4] 나랏말싸미듕(121.157) 12.01.16 97 1
299013 자바의 장점에 대해 의문이생김 [5] zaitsev갤로그로 이동합니다. 12.01.16 121 0
299012 횽들 나 이거 이해 안갈수도 있는거지? [38] 쿠마코갤로그로 이동합니다. 12.01.16 225 0
299011 퇴근합시다. 개심심(61.73) 12.01.16 27 0
299010 이 숫자를 해독하면 엄청난 보물을 찾을수 있덴다 [3] 거칠게갤로그로 이동합니다. 12.01.16 138 0
299009 곽노현팀장 [13] 칭송받는자갤로그로 이동합니다. 12.01.16 192 0
299008 c 언어 고수형들 나좀 도와줘 제발 [18] x뉴비갤로그로 이동합니다. 12.01.16 172 0
299007 어휴 재난 대비하라니깐 김태희 따먹을 생각이나 하냐?? [2] 거칠게갤로그로 이동합니다. 12.01.16 95 0
299006 조건문좀 봐주세여 [3] ㅂㅈㄷ(210.178) 12.01.16 66 0
299004 천재들아 도와주라~~~ [3] ㅇㅇ(61.77) 12.01.16 114 0
299002 임금 못받은거 받으려면 고용노동부에 신고하면 거의 해결되나요? [12] ㅇㅇ(61.43) 12.01.16 579 0
299001 다들 재난 방지 대책이나 강구해라 [32] 거칠게갤로그로 이동합니다. 12.01.16 201 0
299000 흉님들 erp애플리케이션이라고 들어보셨음???? [2] 키키키(125.133) 12.01.16 89 0
298999 언제까지 회사의 노예로써 살아갈텐가!! [5] 거칠게갤로그로 이동합니다. 12.01.16 125 0
298998 프로그램 개발자분 구해요. [98] 세레빈갤로그로 이동합니다. 12.01.16 507 1
298997 돈많으면 없던 재미가 생길까 [6] 싴보이갤로그로 이동합니다. 12.01.16 97 0
298996 돈생기면 쓸데가 생각남 [2] SODMaster갤로그로 이동합니다. 12.01.16 60 0
298995 아무래도 이번에 지대로 운지할듯 dlbo갤로그로 이동합니다. 12.01.16 58 0
298994 지나다님~ 쿄스케님~ 예기 다시 시작하도록 해요 ㅋ [12] 세레빈갤로그로 이동합니다. 12.01.16 124 0
298990 왜케 재미가업냐 [2] 싴보이갤로그로 이동합니다. 12.01.16 62 1
298989 학원에서 c언어 과제를 내주는데 [7] 쿠마코갤로그로 이동합니다. 12.01.16 187 0
298988 야근에 대한 요즘 추세는 [4] ㅁㄴㄻㄹ갤로그로 이동합니다. 12.01.16 159 0
298986 야 시펄 경력 뻥튀기보다 고경력에 좃같은 실력이 더 병신같은거 아니냐? [5] 개심심(61.73) 12.01.16 178 0
298985 사업할꺼야 [5] McHello갤로그로 이동합니다. 12.01.16 150 0
298983 자바로 콤비네이션 계산 코드 질문염 [4] 뿌뿌뿌웅(112.216) 12.01.16 78 0
298982 IT 경력 뻥튀기가 문제가 많긴 많은갑다. [3] 거칠게갤로그로 이동합니다. 12.01.16 260 0
298976 근데 난 돈많아도 딱히 쓸데가 없어서 [2] SODMaster갤로그로 이동합니다. 12.01.16 78 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2