프로그래밍

 3198, 1/160 회원가입  로그인  
   goeun30
   뭐가 에러인건지

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=6360 [복사]


#include <stdio.h>
#include <string.h>

//연락처 구조체 정의
struct address
{
        char name[36];
        char age[5];
        char phone[15];
};

void print_menu();
void view_juso();
void add_juso();
void delete_juso();
//연락처 파일명을 전역변수로고정
const char *fname = "c:\\juso.txt";

int main()
{
        char select=0;
        puts("\n### 번호저장 ###\n");

        while(select !=4)
        {
                print_menu();
                select=getch();

                switch(select)
                {
                        case '1' : view_juso();
                                break;
                        case '2' : add_juso();
                                break;
                        case '3' : delete_juso();
                                break;
                        case '4' : return 0;
                                break;
                        default : printf("\n 잘못입력했어 다시선택해ㅋ.\n");
                }
        }
        return 0;
}

//처음사용자용 튜토리얼 메뉴 출력
void print_menu()
{
        printf("1 연락처 출력\n");
        printf("2 연락처 등록\n");
        printf("3 연락처 삭제\n");
        printf("4 끝내기\n");
}

//입력된 내용 출력
void view_juso()
{
        char str[200]="";
        FILE *rfp, *wfp;
        int i;

        rfp = fopen(fname,"r");

    //연락처 파밍이 없을경우 빈파일생성
        if (rfp == NULL)
        {
                wfp = fopen(fname,"w");
                fclose(wfp);
                rfp = fopen(fname,"r");
        }
        //연락처 모두 출력
        for(i = 1; ; i++)
        {
                fgets(str, 199 ,rfp);

                if (feof(rfp))
                break;

                printf("%2d: %s",i , str);
        }

        //i가 1이면 실제파일내용 없음
        if(i == 1)
                puts("\n **연락처에 전화번호가 없어**\n");

        fclose(rfp);
}

//연락처추가
void add_juso()
{
        struct address adr = {"","",""};
        char wstr[50]="";
        FILE *wfp;

        wfp = fopen(fname,"a");

        printf("이름입력 ==>");
        gets(adr.name);
        printf("나이입력 ==>");
        gets(adr.age);
        printf("전화번호입력 ==>");
        gets(adr.phone);

        strcat(wstr, adr.name);
        strcat(wstr,"\t");
        strcat(wstr, adr.age);
        strcat(wstr,"\t");
        strcat(wstr, adr.phone);
        strcat(wstr,"\n");

        fputs(wstr, wfp);

        fclose(wfp);
}
//연락처 제거
void delete_juso()
{
        char read_str[50][50]={"",};

        char str[50]="";
        FILE *rfp, *wfp;
        int del_line, i, count=0;

        rfp=fopen(fname,"r");

        if (rfp ==NULL)
        {
                puts("\n!!연락처가없네!!\n");
                return;
        }
        printf("\n삭제할번호는?\n");
        scanf("%d", &del_line);

        for(i=0;i<50;i++)
        {
                strcpy(str,"");
                fgets(str,50,rfp);

                if(i+1 !=del_line)
                {
                        strcpy(read_str[i], str);
                        count ++;
                }
                else
                {
                        printf("%d 행이 삭제됬어", del_line);
                }

                if(feof(rfp))
                        break;

        }
        fclose(rfp);
        
        wfp=fopen(fname,"w");

        for(i=0;i<count;i++)
        {
                fputs(read_str[i], wfp);
        }
        fclose(wfp);
}
일단 이렇게 했는데 에러가 나네요
C:\Program Files\Microsoft Visual Studio\MyProjects\전화번호저장기\전화번호저장기.cpp(27) : error C2065: 'getch' : undeclared identifier
Error executing cl.exe.
뭐가 문제인건가요

  Hit : 4737     Date : 2013/06/26 01:17



    
hjt7942 select=getch();
이걸
gets(&select);
로바꾸면됨
2013/06/26  
cd80 #include <conio.h> 를 추가시켜주세요 2013/06/27