#include #include #include #include #include #include int menu(void); void Input(void); void Output(void); void Search(void); void Save(void); void Load(void); void Display(int i); void Del(void); char More(int found); char name[80][20]; char number[80][20]; int t=0; int main(void) { int choise; char ch; do{ choise = menu(); switch(choise){ case 1: Input(); break; case 2: Output(); break; case 3: Search(); break; case 4: Del(); break; case 5: Save(); break; case 6: Load(); } }while(choise!=7); printf("\nÁ¾·á ÇϽðڽÀ´Ï±î? (Y/N) "); ch=getche(); if(toupper(ch)=='N') menu(); return 0; } int menu(void) { char i; do{ clrscr(); struct tm *systime; time_t t; t = time(NULL); systime = localtime(&t); printf("Time is %.2d:%.2d:%.2d\n", systime->tm_hour,systime->tm_min,systime->tm_sec); printf("Date: %.2d/%.2d/%.2d\n", systime->tm_year-100,systime->tm_mon+1,systime->tm_mday); puts("\n======================"); puts("\t1.Input"); puts("\t2.Output"); puts("\t3.Search"); puts("\t4.Del"); puts("\t5.Save"); puts("\t6.Load"); puts("\t7.Quit"); puts("======================"); printf("-> "); i=getche(); }while(!(i>'1' || i<'7')); return i-'0'; } void Input(void) { int i=t; while(i<80){puts("\n°ø¹é¾øÀÌ ½áÁÖ¼¼¿ä.(Enter to Quit)"); printf("Enter name: "); gets(name[i]); if(!*name[i]) break; printf("Enter number: "); gets(number[i++]); } t=i; } void Output(void) { int i=0,count=0; char ch; while(i<80){ Display(i); i++; if(count++==10){ printf("\nMore? (Y/N) "); ch = getche(); if(toupper(ch)=='N') break; count=0; } } } void Search(void) { char j,ch[20]; int i=0,found=0; puts("\n\n1.name search"); puts("2.number search"); puts("3.menu"); j=getche(); if(j=='1'){ printf("\nname? "); gets(ch); while(i<80){ if(!strcmp(ch,name[i])){ Display(i); found=1; } i++; } } else if(j=='2'){ printf("\nnumber? "); gets(ch); while(i<80){ if(!strcmp(ch,number[i])){ Display(i); found=1; } i++; } } if(toupper(More(found))=='Y') Search(); } void Display(int i) { printf("\n%s, %s\n",name[i],number[i]); } char More(int found) { char j; switch(found){ case 1: case 3: break; case 0: case 2: printf("\nNot found"); } printf("\nMore? (Y/N) "); j=getche(); return j; } void Del(void) { char j,ch[20]; int i=0,found=2; puts("\n1.name search"); puts("2.number search"); puts("3.menu"); j=getche(); if(j=='1'){ printf("\nname? "); gets(ch); while(i<80){ if(!strcmp(ch,name[i])){ printf("Really Del? (Y/N) "); if(toupper(getche())=='Y'){ *name[i]='\0'; *number[i]='\0'; found = 3; } } i++; } } else if(j=='2'){ printf("\nnumber? "); gets(ch); while(i<80){ if(!strcmp(ch,number[i])){ printf("Really Del? (Y/N) "); if(toupper(getche())=='Y'){ *name[i]='\0'; *number[i]='\0'; found = 3; } } i++; } } if(toupper(More(found))=='Y') Del(); } void Save(void) { FILE *fp; int i=0; if((fp=fopen("phone.txt","w+"))==NULL){ printf("\nConnot open file"); exit(1); } printf("\nÀúÀå ÇϽðڽÀ´Ï±î? (Y/N)"); if(toupper(getche())=='Y'){ while(i<80){ fprintf(fp,"%s %s\n",name[i],number[i]); if(!*name[i]) break; i++; } } } void Load(void) { FILE *fp; int i=0; if((fp=fopen("phone.txt","r"))==NULL){ printf("\nConnot open file"); exit(1); } printf("\nºÒ·¯ ¿À½Ã°Ú½À´Ï±î? (Y/N)"); if(toupper(getche())=='Y'){ while(!feof(fp)){ fscanf(fp,"%s%s\n",name[i],number[i]); i++; } } t=i; }