|
소스에 추가된 3곳을 보십셔..
: #include <stdio.h>
: #include <stdlib.h>
:
: /*전 처리문 끝*/
:
: #define MAX 15
: struct data{
: char name[MAX];
: int age;
: char phone[MAX];
: };
: struct data list[100];
:
: main()
: {
: FILE *fp;
: int panbul,ctr,result;
: printf("====>주소록 프로그램<====\n");
: printf("몇명의 데이터를 입력할것 입니까?\n");
: scanf("%d",&panbul);
고칠곳:여기에 fflush(stdin); 추가
:
: for(ctr=0;ctr<=panbul;ctr++){
이상한곳:ctr<= : =이 들어가서 실제 panbul보다 1번더 입력을 받습니다.
: printf("\n %d 번째 사람의 이름을 입력하세요",ctr);
: gets(list[ctr].name);
:
: printf("\n %d 번째 사람의 나이를 입력하세요",ctr);
: scanf("%d",list[ctr].age);
고칠곳:여기에도 fflush(stdin); 추가
: printf("\n %d 번째 사람의 전화를 입력하세요",ctr);
: gets(list[ctr].phone);
: }
:
:
:
: if(NULL==(fp=fopen("juso.txt","a"))){
: printf("파일을 여는데 실패하였습니다.\n");
: exit(-1);
: }
: else{
: printf("파일을 열었습니다.\n");
: for(ctr=0;ctr<=panbul;ctr++){
: fprintf(fp,"%s\n",list[ctr].name);
: fprintf(fp,"%d\n",list[ctr].age);
: fprintf(fp,"%s\n",list[ctr].phone);
: }
: if((result=fclose(fp))){
: printf("\n파일을 닫는데 실패 하였습니다.");
: }
: else{
: printf("\n파일을 닫았습니다.");
: }
:
:
: }
: return 0;
: }
:
:
|