diff --git a/修改.cpp b/修改.cpp new file mode 100644 index 0000000..e1e3b9d --- /dev/null +++ b/修改.cpp @@ -0,0 +1,468 @@ +#include +#include +#include +#include +#include + +void add(); +void finds(); +void clean(); +void menus(); +void delet(); +void modify(); + +FILE *fp; /*¶¨ÒåÎļþÖ¸Õë*/ + +int num=0; + +struct word +{ + char en[100]; + char ch[100]; + char ex[100]; + +}s[200]; + +//ÇåÆÁ +void clean() +{ + int choice; + system("cls"); + printf("\n") ; + menus(); + scanf("%d",&choice); + printf("\n") ; + switch(choice) + { + case 1: + add();break; + case 2: + finds();break; + case 3: + clean();break; + case 4: + delet();break; + case 5: + modify();break; + case 0: + break; + + } +} + +//´´½¨Îļþ²¢´ò¿ªÎļþ +void add() +{ + + int a,b,c,choice; + char next='1'; + char word[100]; + FILE *fp; + char en[20];//Òª´æÈëµÄµ¥´Ê + char ch[10]; + char ex[20]; + if((fp=fopen("f4.txt","a+"))==NULL)//´´½¨²¢´ò¿ªÎļþ£¬ºÍ·ÀÖ¹Îļþ´ò¿ªÊ§°Ü¡£ + { + printf("cann't open file"); + exit(0); + } + fseek(fp,0,SEEK_END);//¶¨Î»µ½Îļþĩβ + while(next=='1') + { + printf("\nÇëÊäÈëµ¥´ÊµÄÓ¢ÎÄ:"); + scanf("%s",en); + strcpy(s[num].en,en); + a=fprintf(fp,"%s\t",s[num].en); + + printf("\nÇëÊäÈëµ¥´ÊµÄÊÍÒå:"); + scanf("%s",ch); + strcpy(s[num].ch,ch); + b=fprintf(fp,"%s\t",s[num].ch); + + printf("\nÇëÊäÈëµ¥´ÊµÄÀý¾ä:"); + getchar() ; + gets(ex); + strcpy(s[num].ex,ex); + c=fprintf(fp,"%s\n",s[num].ex); + + if(a&&b&&c) + { + printf("\nÊäÈë³É¹¦\n"); + num++; + printf("%d",num); + } + else + printf("\nÊäÈëʧ°Ü\n"); + printf("\nWould you like to enter more items(Yes--1/No--³ý1ÒÔÍâµÄÈÎÒâ¼ü)\n"); + printf("\n·µ»ØÖ÷²Ëµ¥°´'#'ºÅ¼ü") ; + fflush(stdin);//Çå¿ÕÊäÈ뻺³åÇø + next=getch(); + } + if(next=='#') + { + printf("\n") ; + menus(); + scanf("%d",&choice); + printf("\n") ; + switch(choice) + { + case 1: + add();break; + case 2: + finds();break; + case 3: + clean();break; + case 4: + delet();break; + case 5: + modify();break; + case 0: + break; + + } + } + + if(fclose(fp))//¹Ø±ÕÎļþ²¢·ÀÖ¹Îļþ¹Ø±Õʧ°Ü¡£ + { + printf("cann't close file"); + exit(0); + } +} + +//²éÕÒµ¥´Ê +void finds() +{ + rewind(fp); + int i,l,choice,flag=0; + char find='2'; + char n,y; + char w[100]; + if((fp=fopen("f4.txt","r"))==NULL)//´ò¿ªÎļþ£¬ºÍ·ÀÖ¹Îļþ´ò¿ªÊ§°Ü¡£ + { + printf("cann't open file"); + exit(0); + } + + while(find=='2') + { + y='y'; + printf("\nÇëÊäÈëÐèÒª²éÕҵĵ¥´Ê:"); + while(y=='y') + { + char i=getch(); + if(i==27) + return ;/*27ΪESC*/ + else + { + if(i==8&&flag>0)/*8ΪBS*/ + { + w[--flag]='\0'; + system("cls"); + printf("ESC:·µ»Ø\n\nBackSpace:ɾ³ý\n\nÇëÊäÈëÒª²éµÄ´Ê£º"); + puts(w); + printf("\n"); + } + else + { + w[flag]=i; + system("cls"); + printf("ESC:·µ»Ø\n\nBackSpace:ɾ³ý\n\nÇëÊäÈëÒª²éµÄ´Ê£º"); + puts(w); + printf("\n"); + flag++; + } + for(l=0;l<=10;l++) + { + fscanf(fp,"%s\t%s\t%s\n",s[l].en,s[l].ch,s[l].ex); + if(w[0]!='\0') + { + if(strncmp(s[l].en,w,flag)==0) + printf("µ¥´Ê£º%s\n",s[l].en); + if(strcmp(s[l].en,w)==0) + { + printf("\nÓ¢ÎÄÐÎʽ ÖÐÎÄÐÎʽ Àý¾ä "); + printf("\n %-12s%8s%12s\n",s[l].en,s[l].ch,s[l].ex); + printf("\nqÊÇ·ñ¼ÌÐø²éÕÒµ¥´Ê y---ÊǵÄ/n---²»ÊǵÄ\n"); + y=getch(); + } + } + } + } + } + + printf("\nWould you like to enter more items(Yes--2/No--³ý2ÒÔÍâµÄÈÎÒâ¼ü)\n"); + printf("\n·µ»ØÖ÷²Ëµ¥°´'#'ºÅ¼ü") ; + fflush(stdin);//Çå¿ÕÊäÈ뻺³åÇø + find=getch(); + } + if(find=='#') + { + printf("\n") ; + menus(); + scanf("%d",&choice); + printf("\n") ; + switch(choice) + { + case 1: + add();break; + case 2: + finds();break; + case 3: + clean();break; + case 4: + delet();break; + case 5: + modify();break; + case 0: + break; + + } + } + if(fclose(fp))//¹Ø±ÕÎÄ ¼þ²¢·ÀÖ¹Îļþ¹Ø±Õʧ°Ü¡£ + { + printf("cann't close file"); + exit(0); + } +} + +//ɾ³ýµ¥´ÊÐÅÏ¢ +void delet() +{ + int choice ; + FILE *fp; + FILE *fp1; + char set[20]; + int j,d,h,g,u=0; + int sum=0; + char delets='4'; + if((fp=fopen("f4.txt","a+"))==NULL)//´´½¨²¢´ò¿ªÎļþ£¬ºÍ·ÀÖ¹Îļþ´ò¿ªÊ§°Ü¡£ + { + printf("cann't open f4 file"); + exit(0); + } + if((fp1=fopen("linshi.txt","a+"))==NULL)//´´½¨²¢´ò¿ªÎļþ£¬ºÍ·ÀÖ¹Îļþ´ò¿ªÊ§°Ü¡£ + { + printf("cann't open linshi file"); + exit(0); + } + while(delets=='4') + { + printf("\nÇëÊäÈëҪɾ³ýµÄµ¥´Ê£º\n"); + scanf("%s",set); + for(j=0;j<=10;j++)//ÏÈÕÒµ½¸Ãµ¥´ÊÐÎʽ¶ÔÓ¦µÄÐòºÅ + { + fscanf(fp,"%s\t%s\t%s\n",s[j].en,s[j].ch,s[j].ex); + if(strcmp(s[j].en,set)!=0) + { + fprintf(fp1,"%s\t",s[j].en); + d=sizeof(s[j].en); + fprintf(fp1,"%s\t",s[j].ch); + h=sizeof(s[j].ch); + fprintf(fp1,"%s\n",s[j].ex); + g=sizeof(s[j].ex); + u=d+g+h; + sum=sum+u; + } + else + { + rewind(fp); + fseek(fp,sum,0); + } + } + if(fclose(fp))//¹Ø±ÕÎļþ²¢·ÀÖ¹Îļþ¹Ø±Õʧ°Ü¡£ + { + printf("cann't close f4 file"); + exit(0); + } + if(fclose(fp1))//¹Ø±ÕÎļþ²¢·ÀÖ¹Îļþ¹Ø±Õʧ°Ü¡£ + { + printf("cann't close linshi file"); + exit(0); + } + remove("f4.txt"); + rename("linshi.txt","f4.txt"); + printf("\nɾ³ý³É¹¦\n"); + printf("\n¼ÌÐøɾ³ý°´¡®4¡¯,·µ»Ø²Ëµ¥°´¡®#¡¯,Í˳ö°´ÈÎÒâ¼ü\n\n"); + delets=getch(); + } + if(delets=='#') + { + printf("\n") ; + menus(); + scanf("%d",&choice); + printf("\n") ; + switch(choice) + { + case 1: + add();break; + case 2: + finds();break; + case 3: + clean();break; + case 4: + delet();break; + case 5: + modify();break; + case 0: + break; + + } + } +} + +//Ð޸ĵ¥´ÊÐÅÏ¢ +void modify() +{ + int choice; + int o,g=1,j=0;//chooses´ú±íÑ¡Ïî±êʶ£¬g´ú±íÊÇ·ñÕÒµ½µ¥´Ê + char choose='5'; + + char x[100]; //²éÕÒ´íÎóµ¥´Ê + char y[100]; //ÕýÈ·Ó¢ÎÄÐÎʽ + char z[100]; //ÕýÈ·ÖÐÎÄÐÎʽ + char l[100]; //ÕýÈ·Àý¾ä + + FILE *fp; + FILE *fw; + + while(choose=='5') + { + + if((fp=fopen("f4.txt","a+"))==NULL)//´´½¨²¢´ò¿ªÎļþ£¬ºÍ·ÀÖ¹Îļþ´ò¿ªÊ§°Ü¡£ + { + printf("cann't open f4 file"); + exit(0); + } + if((fw=fopen("linshi.txt","a+"))==NULL)//´´½¨²¢´ò¿ªÎļþ£¬ºÍ·ÀÖ¹Îļþ´ò¿ªÊ§°Ü¡£ + { + printf("cann't open linshi file"); + exit(0); + } + + printf("\nÇëÊäÈëÄãÒªÐ޸ĵĵ¥´ÊÓ¢ÎÄÐÎʽ:"); + scanf("%s",x); + + fseek(fp,0,SEEK_SET); + + for(o=0;o<10;o++)//ÏÈÕÒµ½¸ÃÓ¢ÎÄÐÎʽ¶ÔÓ¦µÄÐòºÅ + { + fscanf(fp,"%s\t%s\t%s\t",s[o].en,s[o].ch,s[o].ex); + if(strcmp(s[o].en,x)!=0) + { + fprintf(fw,"%s\t%s\t%s\n",s[o].en,s[o].ch,s[o].ex); + + } + else + { + printf("\nÇëÊäÈëµ¥´ÊÕýÈ·µÄÓ¢ÎÄÐÎʽ:"); + scanf("%s",y); + + printf("\nÇëÊäÈë´Ëµ¥´ÊÕýÈ·µÄÖÐÎÄÐÎʽ:"); + scanf("%s",z); + + printf("\nÇëÊäÈë´Ëµ¥´ÊÕýÈ·µÄÀý¾ä:"); + getchar(); + gets(l); + + j=fprintf(fw,"%s\t%s\t%s\n",y,z,l); + } + + } + + if(fclose(fp))//¹Ø±ÕÎļþ²¢·ÀÖ¹Îļþ¹Ø±Õʧ°Ü¡£ + { + printf("cann't close f4 file"); + exit(0); + } + if(fclose(fw))//¹Ø±ÕÎļþ²¢·ÀÖ¹Îļþ¹Ø±Õʧ°Ü¡£ + { + printf("cann't close linshi file"); + exit(0); + } + if(j) + printf("\nÐ޸ijɹ¦£¡\n"); + else + { + printf("\nÐ޸IJ»³É¹¦£¡\n"); + printf("\nûÓÐÕâ¸öµ¥´Ê£¡\n"); + } + + remove("f4.txt"); + rename("linshi.txt","f4.txt"); + + printf("\n¼ÌÐøÐÞ¸ÄÇëÑ¡¡®5 ¡¯£¬·µ»Ø²Ëµ¥ÇëÑ¡¡®# ¡¯:"); + choose=getch(); + + } + if(choose=='#') + { + printf("\n") ; + menus(); + scanf("%d",&choice); + printf("\n") ; + switch(choice) + { + case 1: + add();break; + case 2: + finds();break; + case 3: + clean();break; + case 4: + delet();break; + case 5: + modify();break; + case 0: + break; + + } + } +} + +//ϵͳ²Ëµ¥ +void menus() +{ + printf("\n"); + printf(" *****************************\n"); + printf(" # #\n"); + printf(" # »¶Ó­Ê¹ÓÃÃÔÄãÓ¢ºº×Öµä #\n"); + printf(" # #\n"); + printf(" *****************************\n"); + printf(" # #\n"); + printf(" #0.Í˳ö #\n"); + printf(" #1.Ôö¼Óµ¥´Ê #\n"); + printf(" #2.²éÕÒµ¥´Ê #\n"); + printf(" #3.ÇåÆÁ #\n"); + printf(" #4.ɾ³ýµ¥´Ê #\n"); + printf(" #5.Ð޸ĵ¥´Ê #\n"); + printf(" #<ÇëÊäÈë0-5ÖÐÈÎÒâÒ»¸öÊý×Ö> #\n"); + printf(" *****************************\n"); + printf("\n"); +} + +int main() +{ + int choice; + printf("\n") ; + menus(); + scanf("%d",&choice); + printf("\n") ; + switch(choice) + { + case 1: + add();break; + case 2: + finds();break; + case 3: + clean();break; + case 4: + delet();break; + case 5: + modify();break; + case 0: + break; + + } + return 0; +} + diff --git a/修改.exe b/修改.exe new file mode 100644 index 0000000..7d82906 Binary files /dev/null and b/修改.exe differ