《c语言程序设计通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《c语言程序设计通讯录管理系统.docx(13页珍藏版)》请在三一办公上搜索。
1、c语言程序设计通讯录管理系统#include<stdio.h>#include<string.h>#include<stdlib.h>struct lianxiren/联系人信息;char name20;char address50;char age5;char tele20;char e_mail30;char caidan;/菜单void add;/增加联系人函数void print(struct lianxiren a,int);/输入所有联系人void dele(struct lianxiren a,int);void chazhao(struct lianxi
2、ren a,int);void chazhao_name(struct lianxiren a,int n);void chazhao_age(struct lianxiren a,int n);void main/*int n=0;struct lianxiren tongxunlu100;struct lianxiren *p;p=tongxunlu;*/FILE *fp;if(fp=fopen(通讯录.txt,a)=NULL)printf(无法打开文件,按任意键退出!n);char a;scanf(%c,&a);exit(0);fclose(fp);for(;)int n=0;char
3、ch;struct lianxiren tongxunlu100;struct lianxiren *p;p=tongxunlu;FILE *fp;if(fp=fopen(通讯录.txt,r)=NULL)printf(无法打开文件,按任意键退出!n);char a;scanf(%c,&a);exit(0);elsewhile(ch=fgetc(fp)!=EOF)fscanf(fp,%s%s%s%s%s,p->name,p->address,p->age,p->tele,p->e_mail);p+;n+;/p=tongxunlu;switch(caidan)case 1:ad
4、d;break;case 2:print(tongxunlu,n);break;case 3:dele(tongxunlu,n);break;case 4:chazhao(tongxunlu,n);break;case 5:exit(0);char caidanchar choose5;printf(n*n);printf( n);printf( 通 讯 录n);printf( _n);printf(1,增 加 联 系 人 信 息 n);printf(2,输 出 所 有 联 系 人 n);printf(3,删 除 联 系 人 n);printf(4,查 找 联 系 人 n);printf(5,
5、退 出 通 讯 了 n); printf(n);printf(*nn);doprintf(请输入您的选择(1-5):);scanf(%s,choose);while(strcmp(choose,1)&strcmp(choose,2)&strcmp(choose,3)&strcmp(choose,4)&strcmp(choose,5);return choose0;void addint i;FILE *fp;if(fp=fopen(通讯录.txt,a)=NULL)printf(无法打开文件,按任意键退出!n);char a;scanf(%c,&a);exit(0);int num;printf
6、(您想要增加几个联系人:n);scanf(%d,&num);struct lianxiren t50;printf(请输入联系人信息n);printf(名字地址年龄电话电子邮箱n);printf(-n);for(i=0;i<num;i+)scanf(%s%s%s%s%s,ti.name ,ti.address ,ti.age ,ti.tele ,ti.e_mail );printf(_n);for(i=0;i<num;i+)fprintf(fp,n);fprintf(fp,%s%s%s%s%s,ti.name ,ti.address ,ti.age ,ti.tele ,ti.e_mai
7、l);/fprintf(fp,n);printf(*已成功添加%d个联系人*n,num);fclose(fp);void dele(struct lianxiren a,int n)struct lianxiren temp5;char mingzi20;int i,j=0,s=0;printf(输入你要删除人得名字:);scanf(%s,mingzi);printf(n);for(i=0;i<n;i+)if(strcmp(mingzi,ai.name)!=0)/*s+;printf(你要删除得人得信息是:n);printf(-n);printf(名字地址 年龄 电话邮箱n);printf
8、(-n);printf(%-8s%-10s%-8s%-15s%-20sn,ai.name,ai.address,ai.age,ai.tele,ai.e_mail);/for(j=i+1;j<n;j+)/*strcpy(aj-1.name,aj.name);strcpy(aj-1.address,aj.address);strcpy(aj-1.age,aj.age);strcpy(aj-1.tele,aj.tele);strcpy(aj-1.e_mail,aj.e_mail);*/strcpy(tempj.name,ai.name);strcpy(tempj.address,ai.addre
9、ss);strcpy(tempj.age,ai.age);strcpy(tempj.tele,ai.tele);strcpy(tempj.e_mail,ai.e_mail);j+;/else s+;printf(你要删除得人得信息是:n);printf(-n);printf(名字地址 年龄 电话邮箱n);printf(-n);printf(%-8s%-10s%-8s%-15s%-20sn,ai.name,ai.address,ai.age,ai.tele,ai.e_mail);/n=n-s;FILE *fp;if(fp=fopen(通讯录.txt,w)=NULL)printf(无法打开文件,按
10、任意键退出!n);char a;scanf(%c,&a);exit(0);for(i=0;/*i<n*/i<j;i+)fprintf(fp,n);fprintf(fp,%s%s%s%s%s,tempi.name,tempi.address,tempi.age,tempi.tele,tempi.e_mail);/ai.name,ai.address,ai.age,ai.tele,ai.e_mail);/fprintf(fp,n);if(s!=0) printf(*删除成功!*n);else printf(您所要删除的联系人不存在,请核查拼写及大小写n);fclose(fp);void p
11、rint(struct lianxiren t,int n)/printf(n=%d,n);char x,b,v;scanf(%c%c%c,&x,&b,&v);if(n=0)printf(*文件为空!*n);return;int i;printf(*通讯录*n);printf(名字地址 年龄 电话邮箱n);printf(_n);for(i=0;i<n;i+)printf(%-8s%-10s%-8s%-15s%-20s,ti.name ,ti.address ,ti.age ,ti.tele ,ti.e_mail );printf(n);void chazhao(struct lianxir
12、en t,int n)int i;printf(输入选择:1按姓名查找,2按年龄查找:);scanf(%d,&i);if(i=1) chazhao_name(t,n);if(i=2) chazhao_age(t,n);void chazhao_name(struct lianxiren a,int n)char s20; int i,f=0; printf(输入要查找的人的名字n);scanf(%s,s);for(i=0;i<n;i+)if(strcmp(s,ai.name )=0)f+;printf(您要找得人是:n);printf(名字地址 年龄 电话邮箱n);printf(_n);p
13、rintf(%-8s%-10s%-8s%-15s%-20sn,ai.name ,ai.address ,ai.age ,ai.tele ,ai.e_mail );if(f=0)printf(没有找到符合您要求的联系人,请核查你的输入!n);void chazhao_age(struct lianxiren a,int n)int i,f=0;char j5;printf(输入要找人的年龄:n);scanf(%s,j);for(i=0;i<n;i+)if(strcmp(j,ai.age)=0)f+;printf(您要找得人是:n);printf(名字地址 年龄 电话邮箱n);printf(_n);printf(%-8s%-10s%-8s%-15s%-20sn,ai.name ,ai.address ,ai.age ,ai.tele ,ai.e_mail );if(f=0)printf(没有找到符合您要求的联系人,请检查您的输入!n);