您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C语言通讯录管理系统源代码
/*通讯录管理系统源代码*/#includestdio.h#includestdlib.h#includestring.hstructtongxunlu{/*结构定义*/charname[10];charaddress[30];charbirthday[10];charphonenumber[15];charmail[20];charrelation[8];};voidadd(structtongxunlurecode[]);/*函数声明*/voiddemand(structtongxunlurecode[]);voidshow(structtongxunlurecode[]);voidrevamp(structtongxunlurecode[]);voidomit(structtongxunlurecode[]);voidshanjia(structtongxunlurecode[]);/*mian函数,进行主界面设计,调用各函数*/intmain(void){intchoice,i;structtongxunlurecode[200];FILE*fp;printf(*********************通讯录管理系统**********************\n);printf(*:如果您是第一次使用此系统,请按0让系统在F盘为您建立一个保存联系人的新TXT文件!\n);printf(*:如果不是第一次使用此系统,请按1开始使用系统,按0会清除您以前保存的所有联系人!\n);printf(请输入您的选择:);scanf(%d,&i);if(i==0){if((fp=fopen(f:\\project.txt,w+))==NULL){printf(Fileopenerror!);exit(0);}if(fclose(fp)){printf(cannotclocethefile!);exit(0);}}elseif(i==1);system(pause);system(cls);do{printf(通讯录管理系统\n);printf(|-------------------------|\n);printf(|选择[1]:添加通讯记录|\n);printf(|选择[2]:修改通讯记录|\n);printf(|选择[3]:删除通讯记录|\n);printf(|选择[4]:查询通讯记录|\n);printf(|选择[5]:显示通讯记录|\n);printf(|选择[0]:退出|\n);printf(|-------------------------|\n);printf(\n);printf(请输入您的选择:);scanf(%d,&choice);switch(choice){case1:add(recode);break;case2:revamp(recode);break;case3:omit(recode);break;case4:demand(recode);break;case5:show(recode);break;case0:break;default:printf(\n);printf(您的选择有误!\n);printf(\n);break;}}while(choice!=0&&choice6);printf(\n);printf(谢谢使用!\n);printf(\n);return0;}/*添加通讯录函数*/voidadd(structtongxunlurecode[]){intn,count=0,t,i,m;/*变量n作为是否保存判断,t判断是否继续添加,i循环判断,m记还可添加数目*/FILE*fp;structtongxunlus,p;/*定义新结构s保存新输入信息,新结构p保存原来已经保存在文件的信息*/if((fp=fopen(f:\\project.txt,a+))==NULL){printf(Fileopenerror!);exit(0);}while(!feof(fp)){/*计算文件中已有记录数count*/fscanf(fp,%s%s%s%s%s%s\n,&p.name,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation);/*将数据保存在新结构变量中*/count++;}printf(|*****************开始添加****************|\n);printf(|*******************注意:地址不要超过十个字*******************|\n);for(i=0;i200;i++){printf(姓名:);scanf(%s,&s.name);printf(电话号码:);scanf(%s,&s.phonenumber);printf(住址:);scanf(%s,&s.address);printf(生日:);scanf(%s,&s.birthday);printf(邮箱:);scanf(%s,&s.mail);printf(关系:);scanf(%s,&s.relation);printf(保存记录请按1,否则按其他数字!\n);printf(输入您的选择:);scanf(%d,&n);if(n==1){fprintf(fp,%-7s%-12s%-22s%-10s%-20s%-3s\n,s.name,s.phonenumber,s.address,s.birthday,s.mail,s.relation);printf(保存成功!\n);count++;system(pause);system(cls);}elseif(n!=1){system(cls);break;}if(count=200){system(cls);/*一次记录保存后清屏*/m=200-count;printf(您已经输入了%d个记录,还可以输入%d个!\n,count,m);}else{printf(您的通讯录已满!\n);system(cls);}printf(按0退出添加,按其他数字继续添加!\n);scanf(%d,&t);if(t==0){system(cls);break;}}if(fclose(fp)){printf(cannotclocethefile!);exit(0);}}/*查询通讯录函数*/voiddemand(structtongxunlurecode[]){structtongxunlus,p;/*定义两个新结构变量,s用来保存要查询的某个项目,p用来保存查询到需输出结构各项目*/intflag,a,l;/*flag作为判断查询开始,a为判断查询方式,l为判断是否退出查询*/FILE*fp;if((fp=fopen(f:\\project.txt,r+))==NULL){printf(Fileopenerror!);exit(0);}printf(按0选择姓名查询,按1选择号码查询!\n);printf(输入您的选择:);scanf(%d,&a);if(a==0){/*用姓名查询*/printf(输入要查询的姓名:);scanf(%s,&s.name);while(!feof(fp)){fscanf(fp,%s%s%s%s%s%s,&p.name,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation);/*将数据保存在新结构变量中*/if(strcmp(s.name,p.name)==0){flag=1;break;}}if(flag==1){printf(|-----------------------------------------------------------------------------|\n);printf(|姓名号码地址生日邮箱关系|\n);printf(|-----------------------------------------------------------------------------|\n);printf(|%-7s%-12s%-22s%-10s%-20s%-3s|\n,p.name,p.phonenumber,p.address,p.birthday,p.mail,p.relation);/*输出新结构中项目*/printf(|-----------------------------------------------------------------------------|\n);printf(按0退出查询!\n);scanf(%d,&l);if(l==0)system(cls);}else{printf(您的通讯录中没有此记录!\n);printf(按0退出查询!\n);scanf(%d,&l);if(l==0)system(cls);}}elseif(a==1){/*用号码查询*/printf(输入要查询的号码:);scanf(%s,&s.phonenumber);while(!feof(fp)){fscanf(fp,%s%s%s%s%s%s,&p.name,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation);/*将数据保存在新结构变量中*/if(strcmp(s.phonenumber,p.phonenumber)==0){flag=1;break;}}if(flag==1){printf(|-----------------------------------------------------------------------------|\n);printf(|姓名号码地址生日邮箱关系|\n);printf(|-----------------------------------------------------------------------------|\n);printf(|%-7s%-12s%-22s%-10s%-20s%-3s|\n,p.name,p.phonenumber,p.address,p.birthday,p.mail,p.relation);/*输出新结构中项目*/printf(|-----------------------------------------------------------------------------|\n);printf(按0退出查询!\n);scanf(%d,&l);if(l==0)system(cls);}else{printf(您的通讯录中没有此记录!\n);printf(按0退出查询!\n);scanf(%d,&l);if(l==0)system(cls);}}if(fclose(fp)){printf(cannotclocethefile!);exit(0);}}/*显示通讯录函数*/voidshow(structtongxunlurecode[]){structtongxunlup;/*定义新结构变量保存要显示的信息*/intl,i,j,n=0,m;FILE*fp;if((fp=fopen(f:\\project.txt,r+))==NULL){printf(Fileopenerror!);exit(0);}for(j=0;j200;j++){if(feof(fp))break;fscanf(fp,%s%s%s%s%s%s,&p.name,&p.phonenumber,&p.address,&p.birthday,&p.mail,&p.relation);/*将数据保存在新结构变量中*/n++;}if(n==1){printf(###################################\n);printf(###您还没有添加任何联系人!###\n);pri
本文标题:C语言通讯录管理系统源代码
链接地址:https://www.777doc.com/doc-3818359 .html