From 95d75d017ce6abc00afcc69daae676db4ff065bd Mon Sep 17 00:00:00 2001 From: "18408000534@stu.hut.edu.cn" <18408000534@stu.hut.edu.cn> Date: Fri, 11 Jan 2019 19:48:36 +0800 Subject: [PATCH] first --- 421.c | 257 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 421.exe | Bin 0 -> 33925 bytes 421.o | Bin 0 -> 7110 bytes 3 files changed, 257 insertions(+) create mode 100644 421.c create mode 100644 421.exe create mode 100644 421.o diff --git a/421.c b/421.c new file mode 100644 index 0000000..f228e65 --- /dev/null +++ b/421.c @@ -0,0 +1,257 @@ +#include +#include +#include +typedef struct +{ + char name[10]; + char jiguan[20]; + long long num1; + long long num2; + char email[20]; +}person; +void xinjian(FILE *p); +void liulan(FILE *p); +void chaxun(FILE *p); +void xiugai(FILE *p); +int shanchu(FILE *p); +int count=0; +FILE *p; +person lxr; +void main() +{ + char next='Y'; + char ch; + int b; + while(next=='Y') +{ + printf("---------欢迎使用讯通讯录---------\n"); + printf("功能目录:\n"); + printf("1:新建联系人\n"); + printf("2:查看联系人\n"); + printf("3:查找联系人\n"); + printf("4:修改联系人信息\n"); + printf("5:删除联系人\n"); + printf("6:退出通讯录\n"); + int c; + printf("请输入序号:"); + scanf("%d",&c); + switch(c) + { + case 1:xinjian(p); + break; + case 2:liulan(p); + break; + case 3:chaxun(p); + break; + case 4:xiugai(p); + break; + case 5:b=shanchu(p); + break; + case 6:printf("感谢您的使用"); + break; + default:printf("请输入正确的序号:\n"); + break; + } + if(c==6) + next='N'; + else + { + printf("继续使用系统功能:Y\n退出:其他字母\n"); + if(c==5) + scanf("%c",&next); + else + scanf("%c%c",&ch,&next); + } + } +} +void xinjian(FILE *p) +{ + char next='Y'; + p=fopen("txl.sto","rb+"); + if(p==NULL) + p=fopen("txl.sto","wb+"); + fseek(p,0,SEEK_END); + while(next=='Y') + { + printf("姓名:\n"); + scanf("%s",lxr.name); + printf("籍贯:\n"); + scanf("%s",lxr.jiguan); + printf("电话号码1:\n"); + scanf("%lld",&lxr.num1); + printf("电话号码2:\n"); + scanf("%lld",&lxr.num2); + printf("邮箱:\n"); + scanf("%s",lxr.email); + fwrite(&lxr,sizeof(lxr),1,p); + fflush(stdin); + printf("是否继续进行建立新联系人;\n是:Y\n否:其他字母\n"); + next=getchar(); + count=count+1; + } + fclose(p); + + +} +void liulan(FILE *p) +{ int i=0; + p=fopen("txl.sto","rb+"); + if(p==NULL) + { + printf("通讯录为空,请建立新联系人!\n"); + fclose(p); + } + else + { + rewind(p); + printf("\n\nItem list-------------------------------------1\n"); + printf("姓名 籍贯 电话号码1 电话号码2 邮箱\n"); + fread(&lxr,sizeof(lxr),1,p); + while(!feof(p)) + { + printf("%s %s %lld %lld %s\n",lxr.name,lxr.jiguan,lxr.num1,lxr.num2,lxr.email); + fread(&lxr,sizeof(lxr),1,p); + } + fclose(p); + } + +} +void chaxun(FILE *p) +{ + int i=0; + p=fopen("txl.sto","rb+"); + if(p==NULL) + { + printf("通讯录为空,请建立新联系人!\n"); + fclose(p); + } + else + { + char mingzi[20]; + printf("请输入要查询的用户名:\n"); + scanf("%s",mingzi); + fread(&lxr,sizeof(lxr),1,p); + while(!feof(p)) + { + if(strcmp(mingzi,lxr.name)==0) + { + printf("姓名: 籍贯: 电话号码1: 电话号码2: 邮箱:\n"); + printf("%s %s %lld %lld %s\n",lxr.name,lxr.jiguan,lxr.num1,lxr.num2,lxr.email); + i=i+1; + } + + fread(&lxr,sizeof(lxr),1,p); + } + if(i==count&&(strcmp(mingzi,lxr.name)!=0)) + printf("无该联系人\n"); + fclose(p); + } +} +void xiugai(FILE *p) +{ + rewind(p); + p=fopen("txl.sto","rb+"); + if(p==NULL) + { + printf("通讯录为空,请建立新联系人!\n"); + fclose(p); + } + else + { + char mingzi[20]; + printf("请输入要修改的有用户名:\n"); + scanf("%s",mingzi); + while(!feof(p)) + { + fread(&lxr,sizeof(lxr),1,p); + if(strcmp(mingzi,lxr.name)==0) + { + char next='Y'; + printf("1.姓名:%s\n",lxr.name); + printf("2.籍贯:%s\n",lxr.jiguan); + printf("3.电话号码1:%lld\n",lxr.num1); + printf("4.电话号码2:%lld\n",lxr.num2); + printf("5.邮箱:%s\n",lxr.email); + printf("6.取消\n"); + while(next=='Y') + { + int c; + printf("请输入序号:"); + scanf("%d",&c); + switch(c) + { + case 1:printf("请修改姓名:"); + scanf("%s",lxr.name); + break; + case 2:printf("请修改籍贯:"); + scanf("%s",lxr.jiguan); + break; + case 3:printf("请修改电话号码1:"); + scanf("%s",lxr.num1); + break; + case 4:printf("请修改电话号码2:"); + scanf("%s",lxr.num2); + break; + case 5:printf("请修改邮箱:"); + scanf("%s",lxr.email); + break; + default:printf("输入错误"); + break; + } + printf("继续修改:Y\n停止修改:其他字母\n"); + getchar(); + next=getchar(); + } + fseek(p,-sizeof(lxr),SEEK_CUR); + fwrite(&lxr,sizeof(lxr),1,p); + printf("修改成功!\n"); + fclose(p); + return ; + } + + + } + printf("没有该联系人\n"); + fclose(p); + return; + } +} +int shanchu(FILE *p) +{ + p=fopen("txl.sto","rb+"); + if(p==NULL) + { + printf("通讯录为空,请建立新联系人!\n"); + fclose(p); + return 0; + } + else + { + person b; + person blank={}; + char name[20]; + int c=0; + rewind(p); + printf("请输入您要删除的联系人名称:"); + scanf("%s",name); + fflush(stdin); + while(!feof(p)) + { + fread(&b,sizeof(b),1,p); + if(strcmp(name,b.name)==0) + { + fseek(p,-sizeof(b),SEEK_CUR); + fwrite(&blank,sizeof(blank),1,p); + printf("删除成功!\n"); + fclose(p); + c=c+1; + return 0; + } + + } + if(c==count&&(strcmp(name,b.name)!=0)) + printf("无该联系人!\n"); + fclose(p); + return 0; + } +} diff --git a/421.exe b/421.exe new file mode 100644 index 0000000000000000000000000000000000000000..92eebac4608ca10cea39fb01872e80e925aee245 GIT binary patch literal 33925 zcmeHw3w%`7x$m0EAY%wglu)Ba9qgb{AtWJ0j8JEoOvvbv#LNW3qurS#lQ24YbY_CV zLwn#1QDRD)K0NhjZGWJi)>?0mt&gJ8iX?)MDiI&G)!Wia+tB3RL#s!*YR&zBYpuQa z?AZw%(w_c$es#l|z1H`A>wB$lz4q)`S+#DEWiZBUND~u`?ZKTc7ymr@$5x=TFM2$i zJ$&X1^Y&Q$FU$*WjKm$?v99)5sKe0`>g?=FIGV$bSWl-T(&?zI4LCZwTEj)NXJpCxEeoGcgGZ?F4?68%wBW$K+mc^RS@&PVF0&MHqxaT4jBawEL2b}b_Akm#)NAQV4 z?HJ>BG3F4oRDtT?k~dN4hJ3BE0G-aKZIE#_)9V}o-+R-6DdnO>xHo}v;uH8Fg~--4 zJ(^fuQ&DRu5t1a_cG%1ckWwxeE8bTW6NKZ$!-aGP(uGJV7wBAz$^>8+HF_Nq(K`i9 z{Uo}g=6IaSd+DQzKFrrv*0irEBII%(!e%bF&`8Vm^VA0kN@lXHNMr}KZOX;z5>YPK zLGVE&qAR9?ei7ZG5@87Ew+lF;E7fTz=VG}l7L{JbfltrI?Lnk$BGWpmT<^R^f`h=bd^-lFQU^+f8V)4a(wCTagU4j?MoCKtaRE*UEFPC z*FhVPjERxtcoy=xXSvwuLvtBRj@w4xhC@eRgg19qIv4a;I&*g;YIsf7guBgYqZ@F< z5cn+672<9meJqc$-37oxv9X&pphw);xoiN1LzMGUHX1hr(sv59Dt)WprNcsz$qepSynYe_( zAB6*z&f)=7T>fQ*!cEJU@5C*(>IoWV$TMUR>?2Q&&PBE42}{oQcTnovm(#Zk_mX|d z;llO%ZEWWzw)|_ToVafJztZiTz7|Z|v)oY>5_BiNJoe;A6v1S1xsll23Iv_`+t5kF#)F+jD8yfJiJ

@7fc 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