디시인사이드 갤러리

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

갤러리 본문 영역

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

개잔티(175.196) 2012.01.13 12:08:49
조회 2534 추천 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 - -
298552 재발 저여자는 아니여야 되는데 제발!! [3] 일광면(119.198) 12.01.13 89 0
298551 ㅅㅂ 오늘은 또 여자드립인가. 나는 권태기임 dot(125.128) 12.01.13 42 0
298550 애인이 있으면 뭐가 좋은거야? [10] SODMaster갤로그로 이동합니다. 12.01.13 126 0
298549 다들 썰이 많네.. 그럼 나도 용기해서 여자 만난 썰 풀어봄 ㅎㅎ [6] HarlemLuiah갤로그로 이동합니다. 12.01.13 111 0
298548 내가 그래서 여자를 안사귀는거야 [2] SODMaster갤로그로 이동합니다. 12.01.13 80 0
298547 나도 경험담 ㅇㅇ [4] ㅇㅇㅇ갤로그로 이동합니다. 12.01.13 89 0
298546 나도 저번학기때 소개팅 함 뛰어본적이 있제잉 [6] 나리링갤로그로 이동합니다. 12.01.13 127 0
298543 베이스 깔려면 [9] K케이K갤로그로 이동합니다. 12.01.13 110 0
298542 형들 왜 여기 관련갤러리 없음요? Karen(14.52) 12.01.13 58 0
298541 친구가 소개팅녀에게 빅엿을 먹인 사례 [6] 거칠게갤로그로 이동합니다. 12.01.13 252 0
298540 요즘 진짜 할 일이 없다. [1] 개심심(61.73) 12.01.13 49 0
298539 아 존나 뻥찌네 [1] □ㅁ갤로그로 이동합니다. 12.01.13 53 0
298538 리눅스에서 spring 돌려본사람?? [5] 개심심(61.73) 12.01.13 120 0
298537 공대생 여자 진짜 아웃 오브 안중임 ㅋㅋ 일광면(119.198) 12.01.13 141 0
298536 또 어처구니 없었던 년 사례 [2] 거칠게갤로그로 이동합니다. 12.01.13 132 0
298535 뉴비 인사 및 삼성소프트웨어멤버십 기술면접 후기.. [6] 망장군갤로그로 이동합니다. 12.01.13 1055 1
298534 K케이K 봐라. 뼈있는 한마디 해주마 [2] 개심심(61.73) 12.01.13 74 0
298533 띄어쓰기 없는 경로로 지정해도 마찬가지... [2] 치킨맛맛폰갤로그로 이동합니다. 12.01.13 55 0
298532 프로그래밍 베이스 깔려면 [3] K케이K갤로그로 이동합니다. 12.01.13 81 0
298531 여자가 동성친구가 없다는 거는 심각한 문제 맞지??? [4] 거칠게갤로그로 이동합니다. 12.01.13 380 0
298530 프겔이여 경배하라 드뎌 올 것이 왔다 [4] 개심심(61.73) 12.01.13 82 0
298529 내가 만났던 년중 최고로 어이 없었던 년 [5] 거칠게갤로그로 이동합니다. 12.01.13 160 0
298528 psp 프로메테우스 같은건 뭘로 코딩 하는것임? [5] 1(118.220) 12.01.13 81 0
298527 유지보수 기간 끝나고 무보수 기능 수정 ㅇㅇㅇ갤로그로 이동합니다. 12.01.13 27 0
298526 직업훈련학교라는게 어떤걸까? [1] 쿠마코갤로그로 이동합니다. 12.01.13 127 0
298525 디매 벤틀리 보픈녀 [5] McHello갤로그로 이동합니다. 12.01.13 2293 0
298524 유지보수 기간 끝나고 무보수 기능 수정 [3] ㅇㅇㅇ갤로그로 이동합니다. 12.01.13 56 0
298523 옛날이나 공대 여자가 대우를 받았지 요즘은 그런거 없지 않냐?? 거칠게갤로그로 이동합니다. 12.01.13 192 0
298522 내가 아는 누나가 있는데 자길 여자로 봐달래..ㅍㅇㅅㅅ?? [2] HarlemLuiah갤로그로 이동합니다. 12.01.13 379 0
298521 밀레니엄 재밌을까? 이모군(175.114) 12.01.13 36 0
298520 슈즈케4에 함 나가봐야겠다 -_- [5] 거칠게갤로그로 이동합니다. 12.01.13 74 0
298519 듣기만 해도..부르기만 해도 부러워지는 그 단어... [6] 캐언니닭(115.92) 12.01.13 78 0
298518 '귀하신' 보안관제 전문가들 '8년차 연봉이...' [4] 거칠게갤로그로 이동합니다. 12.01.13 267 0
298517 여자가 컴공과가면 이상한거? [12] K케이K갤로그로 이동합니다. 12.01.13 229 0
298515 시간때울데 없어서 방황하는데 누나가 커피사줌 ㅋㅋ [7] 쿠마코갤로그로 이동합니다. 12.01.13 90 0
298514 [Android] AVD lunch 누르면 로딩은 되고 실행은 안되는데 [1] 치킨맛맛폰갤로그로 이동합니다. 12.01.13 42 0
298513 디씨 서버가 교착상태에 빠졌냐?? 왜이래?? 거칠게갤로그로 이동합니다. 12.01.13 38 0
298512 강남역에 이런 카페 없음?? [3] [성대아싸]갤로그로 이동합니다. 12.01.13 105 0
298511 애들아 플밍 그만하고 이새끼나 좀 족치자 이사람진짜뭐(121.186) 12.01.13 109 0
298510 카페에서 사이드메뉴만 주문해도되나? [2] 쿠마코갤로그로 이동합니다. 12.01.13 176 0
298508 즐거운 낮입니다. SODMaster갤로그로 이동합니다. 12.01.13 28 0
298507 나 좀있다 면접? 보러감 [1] 퐈응퐈응갤로그로 이동합니다. 12.01.13 57 0
298506 흉들 내가 개인적으로 써야될 프로그래밍 필요한데 [2] 오뎅(120.28) 12.01.13 74 0
298505 C#좀 잘하는 횽들 배열 Array.Reverse쓰는데 질문이 있어 [1] Ram갤로그로 이동합니다. 12.01.13 74 0
천재 횽님들 프로그래밍 질문이에요 개잔티(175.196) 12.01.13 2534 2
298503 SQL primary key 관련 질문입니다. [5] 케이갤로그로 이동합니다. 12.01.13 101 0
298501 요새 책보면서 느끼는건데 c가 참;;존나 징한거 같다;; [1] aasd(116.121) 12.01.13 146 0
298499 홀짝게임에서 승리를 할수있을까요 [2] ㅡㅡ(120.28) 12.01.13 620 1
298498 20대의 마지막 불살라야지. [2] 씨발라드세요갤로그로 이동합니다. 12.01.13 104 0
298497 와 이럴수가... [6] 바보플머(222.121) 12.01.13 137 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2