디시인사이드 갤러리

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

갤러리 본문 영역

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

개잔티(175.196) 2012.01.13 12:08:49
조회 2535 추천 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 - -
298985 사업할꺼야 [5] McHello갤로그로 이동합니다. 12.01.16 144 0
298983 자바로 콤비네이션 계산 코드 질문염 [4] 뿌뿌뿌웅(112.216) 12.01.16 72 0
298982 IT 경력 뻥튀기가 문제가 많긴 많은갑다. [3] 거칠게갤로그로 이동합니다. 12.01.16 254 0
298976 근데 난 돈많아도 딱히 쓸데가 없어서 [2] SODMaster갤로그로 이동합니다. 12.01.16 73 0
298975 실수령 1억 찍고 싶다 [1] SODMaster갤로그로 이동합니다. 12.01.16 105 0
298974 아는 여자애 현다이 다니는데 3(121.169) 12.01.16 80 0
298973 세상에는 게이가 많을까 레즈가 많을까 [1] SODMaster갤로그로 이동합니다. 12.01.16 54 0
298972 지금 이렇게 생긴 구조의 방을 계약할까 말까 고민중..의견좀 줍셔 [12] 캐고민닭(115.92) 12.01.16 165 0
298969 12년 삼성소프트웨어 맴버십 기술면접 본 친구들 봐라. [6] 칭송받는자갤로그로 이동합니다. 12.01.16 516 0
298968 난 대리말인데 5900 안될거 같은데 ㅁㅁㅁ(111.91) 12.01.16 67 0
298966 정보처리 기사 어떻게 준비해야되죠? [8] 열심히살자(124.146) 12.01.16 153 0
298965 연봉 5900 그거 다 훼이크임..월급여액은 실제론 다르다고... [7] 캐멘젠닭(115.92) 12.01.16 314 0
298964 칠게님 c# 질문여 [8] ㅂㅈㄷ(210.178) 12.01.16 94 0
298963 형들 네트워크 문제좀 봐줘바 [1] belkin갤로그로 이동합니다. 12.01.16 46 0
298962 FarPoint Spread 쓰는데 이게 왜 안되는 지 궁금 [3] 궁금이(59.13) 12.01.16 184 0
298961 이음이나.. 이런 앱들은 수익 뭘로 얻는거지...? [5] 쿄스케갤로그로 이동합니다. 12.01.16 162 0
298960 시언어 for문 예제 연습하다가 궁금한거 [7] 해피너스갤로그로 이동합니다. 12.01.16 100 0
298959 횽들은 구정 보너스 받았어?? [1] 거칠게갤로그로 이동합니다. 12.01.16 70 0
298958 과연 si는 다 막장인가?? [5] 거칠게갤로그로 이동합니다. 12.01.16 194 0
298957 연봉 5900이라는거 이거 말하는거지? [3] 광란의디씨질갤로그로 이동합니다. 12.01.16 194 0
298956 아웅 다음주면 귀요미 조카들 보겠네 >.<;; [1] 거칠게갤로그로 이동합니다. 12.01.16 66 0
298954 서버플그밍 책좀 추천해달라규 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ ㅎ그흑 [3] SODMaster갤로그로 이동합니다. 12.01.16 69 0
298952 형들 내가 안드로이드 개발 하는데 말이야 앤트빌드 Noble.6갤로그로 이동합니다. 12.01.16 59 0
298951 나이 많은 신입이 si를 거치지 않고 개발자로 들어갈 방법은?? [4] 거칠게갤로그로 이동합니다. 12.01.16 185 0
298950 친구가 기술 영업을 해봐서 그런지 si는 죽어도 싫덴다 ㅡ.ㅡ [3] 거칠게갤로그로 이동합니다. 12.01.16 186 0
298949 전산직 공무원에 대한 환상 [3] 광란의디씨질갤로그로 이동합니다. 12.01.16 444 0
298948 네이트온에 있는 여자 년들은 답이 없다. [4] 거칠게갤로그로 이동합니다. 12.01.16 155 0
298947 이직할 때 나이와 경력과 이직 횟수는 몇개까지가 마지노선이냐??? [8] 거칠게갤로그로 이동합니다. 12.01.16 315 0
298946 음 서버만드는 책 중에서 좀 잘 만들어진 책 없나여? SODMaster갤로그로 이동합니다. 12.01.16 42 0
298945 우와 여기 형들도 공무원에 관심있나 봅니다. [2] 광란의디씨질갤로그로 이동합니다. 12.01.16 99 0
298943 SVN 속도가 특정 PC에서만 느릴 수 있나요? [3] Ynobe갤로그로 이동합니다. 12.01.16 158 0
298941 프레임웤 쓴 프로젝트에서 가장 열받을때. [5] 캐빈둥닭(115.92) 12.01.16 132 0
298940 시언어 처음 입문하면 원래 이렇게 헷갈리나? [6] 해피너스갤로그로 이동합니다. 12.01.16 207 0
298939 곽팀장도 회사 다니긴 하나보다??? 퓨리님(111.91) 12.01.16 68 0
298938 개심심횽..피자 배달말구.... [3] 캐맥북닭(115.92) 12.01.16 82 0
298936 해커꿈잡고 시작할라 하는데 뭐공부해야되나요 [4] 흑형아갤로그로 이동합니다. 12.01.16 169 0
298935 맥북 트랙패드 계속 쓰다보니깐... [1] 캐맥북닭(115.92) 12.01.16 58 0
298934 형들 자바로 게임 만드는 것 좀 질문할게요 [1] 좌파척결앞잡이갤로그로 이동합니다. 12.01.16 67 0
298933 Dev c++에서 지역변수 값 [2] ㅇㅋㅇ(183.96) 12.01.16 60 0
298931 공무원 업무강도의 진실을 알려줄게 [14] 싴보이갤로그로 이동합니다. 12.01.16 495 0
298930 앱개발할때 이미지 좌표같은건 개발자가? 디자이너가? (112.223) 12.01.16 46 0
298928 궁금한게 있는데 트위터나 페이스북 친구목록 연동할때... (112.223) 12.01.16 66 0
298927 횽들 비주얼스튜디오 2008 ;;; [3] 중학생(119.69) 12.01.16 76 0
298926 시언어 늅늅인데, for문 예제풀다가 막혔어 [3] 해피너스갤로그로 이동합니다. 12.01.16 95 0
298924 우으으 [2] ENBI(58.227) 12.01.16 35 0
298923 형이 재미있는 얘기 해줄게ㅋ [10] 개심심(61.73) 12.01.16 199 0
298922 c# UI들어간 프로젝트는 라이브러리로 출력할수가 없나요? [2] ㅇㅇㅇㅇ(203.244) 12.01.16 53 0
298921 대기업 경력직으로 면접 본님들 이떵? [2] □ㅁ갤로그로 이동합니다. 12.01.16 147 0
298920 공무원 봉급이랑 연금 대폭 줄여야 할거 같아 [9] □ㅁ갤로그로 이동합니다. 12.01.16 144 0
298919 소켓프로그래밍 질문 좀 [2] 스타퍽스갤로그로 이동합니다. 12.01.16 94 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2