通讯录管理软件c 通讯录管理软件哪个好 - 电脑 - 【龙岩电脑网】_龙岩电脑维修_龙岩笔记本电脑维修_监控安装_市区上门维修
公司动态

通讯录管理软件c 通讯录管理软件哪个好

摘要:安卓独立通讯录管理软件 * HELLO C -- Hello, world * includestruct person{ char name[8]; char tel[15];char addr[...

发布日期:2020-10-23

通讯录管理软件c

安卓独立通讯录管理软件

/* HELLO.C -- Hello, world */#includestruct person{ char name[8]; char tel[15];char addr[50];};char filename[20]="E:\\txl.txt";FILE *fp;void creat();void output();void search();void append();void modify();void delete();main( ){ int m; creat(); while(1) {printf("\n\t\t*********欢迎使用通讯录信息管理系统*********\n\n"); printf("\n\t\t添加,请按1"); printf("\n\t\t查找,请按2"); printf("\n\t\t修改,请按3"); printf("\n\t\t删除,请按4"); printf("\n\t\t输出,请按5"); printf("\n\t\t退出,请按0\n");printf("\n\t\t********************************************\n\n");printf("Please select(0--5):");scanf("%d",&m); if(m>=0&&m { switch(m) { case 1: append(); break; case 2: search(); break; case 3: modify(); break; case 4: delete(); break; case 5: output(); break; case 0: exit(); } printf("\n\n操作完毕,请再次选择!"); } else printf("\n\n选择错误,请再次选择!"); } }/*输入模块creat( ): 创建通讯录的子函数。

*/void creat(){ struct person one; long s1; /*printf("\n请输入通讯录文件名:"); scanf("%s",filename); */ if((fp=fopen(filename,"at+"))==NULL) { printf("\n不能建立通讯录!"); exit(); } fprintf(fp,"%-10s%-20s%-50s\n","姓名","电话号码","住址"); printf("\n请输入姓名、电话号码及住址(以0结束)\n"); scanf("%s",one.name); while(strcmp(one.name,"0")) { scanf("%s%s",one.tel,one.addr); fprintf(fp,"%-10s%-20s%-50s\n",one.name,one.tel,one.addr); scanf("%s",one.name); } fclose(fp); }/*输出模块output( ):输出通讯录中联系人通讯信息的子函数*/void output(){ struct person one; if((fp=fopen(filename,"r"))==NULL) { printf("\n不能打开通讯录!"); exit(); } printf("\n\n%20s\n","通 讯 录"); while(!feof(fp)) { fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr); printf("%-10s%-20s%-50s",one.name,one.tel,one.addr); } fclose(fp); }/*添加模块append( ):向通讯录中添加某人通讯信息的子函数*/void append(){ struct person one; if((fp=fopen(filename,"a"))==NULL) { printf("\n不能打开通讯录!"); exit(); } printf("\n请输入添加的姓名、电话号码及住址\n"); scanf("%s%s%s",one.name,one.tel,one.addr); fprintf(fp,"%-10s%-20s%-50s\n",one.name,one.tel,one.addr); fclose(fp);}/*查找模块search( ):在通讯录中查找某人通讯信息的子函数*/void search(){ int k=0; char namekey[8]; struct person one; printf("\n请输入姓名:"); scanf("%s",namekey); if((fp=fopen(filename,"rb"))==NULL) { printf("\n不能打开通讯录!"); exit(); } while(!feof(fp)) { fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr); if(!strcmp(namekey,one.name)) { printf("\n\n已查到,记录为:"); printf("\n%-10s%-18s%-50s",one.name,one.tel,one.addr); k=1; } } if(!k) printf("\n\n对不起,通讯簿中没有此人的记录。

"); fclose(fp); }/*修改模块modify( ):在通讯录中修改某人通讯信息的子函数*/void modify(){ int m,k=0; long offset; char namekey[8]; struct person one; printf("\n请输入姓名:"); scanf("%s",namekey); if((fp=fopen(filename,"r+"))==NULL) { printf("\n不能打开通讯录!"); exit(); } while(!feof(fp)) { offset=ftell(fp); fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr); if(!strcmp(namekey,one.name)) { k=1; break; } } if(k) { printf("\n已查到,记录为:"); printf("\n%-10s%-18s%-50s",one.name,one.tel,one.addr); printf("\n请输入新姓名、电话号码及住址:"); scanf("%s%s%s",one.name,one.tel,one.addr); fseek(fp,offset,SEEK_SET); printf("%ld",ftell(fp)); fprintf(fp,"%-10s%-20s%-50s\n",one.name,one.tel,one.addr); } else printf("\n对不起,通讯录中没有此人的记录。

"); fclose(fp); }/*删除模块delete( ):在通讯录中删除某人通讯信息的子函数*/void delete(){ int m,k=0,flag; long offset1,offset2; char namekey[8], valid[4]; struct person one; printf("\n请输入姓名:"); scanf("%s",namekey); if((fp=fopen(filename,"r+"))==NULL) { printf("\n不能打开通讯录!"); exit(); } while(!feof(fp)) { offset1=ftell(fp); fscanf(fp,"%s%s%s\n",one.name,one.tel,one.addr); if(!strcmp(namekey,one.name)) { k=1; break; if(k) { printf("\n已查到,记录为"); printf("\n%-10s%-18s%-50s",one.name,one.tel,one.addr); printf("\n确实要删除,按1;不删除,按0:"); scanf("%d",&m); if(m) { fseek(fp,offset1,SEEK_SET); fprintf(fp,"%-10s%-20s%-50s\n","","",""); } else printf("\n对不起,通讯录中没有此人的记录。

"); fclose(fp); } } } }1###########################################################

C语言设计个人通讯录管理系统

/* * main_tongxunlu.c * * Created on: 2011-6-21 * Author: zhanglujin */#include#include#include#includestruct record{ char name[20]; //姓名 char phone[12]; //电话 char adress[50]; //地址 char postcode[8]; //邮政编码 char e_mail[20]; //电子邮件。

}student[100]; //假设最大数为100.//定义全局变量num,表示已经输入的人数 。

int num; //这里使用数组解决通讯录的问题,实际上使用链表更好。

int menu_select(){ char s[80]; int a;/*定义整形变量*/ system("cls"); printf("\t\t***********欢迎进入通讯管理界面********\n\n"); printf("\t\t\t0. 输入记录\n"); printf("\t\t\t1. 显示记录\n"); printf("\t\t\t2. 按姓名查找\n"); printf("\t\t\t3. 按电话号码查找\n"); printf("\t\t\t4. 插入记录 \n"); printf("\t\t\t5. 按姓名排序\n"); printf("\t\t\t6. 删除记录\n"); printf("\t\t\t7. Quit\n"); printf("\t\t***********************************************\n\n"); do{ printf("Enter you choice(0~7):"); scanf("%s",s); a=atoi(s); } while (a7); return a;}int adduser(){ printf("\t\t\t**************** 请输入用户信息 ****************\n"); printf("\t\t\t输入姓名:\n"); scanf("%s",student[num].name); printf("\t\t\t输入电话号码:\n"); scanf("%s",student[num].phone); printf("\t\t\t输入地址:\n"); scanf("%s",student[num].adress); printf("\t\t\t输入邮编:\n"); scanf("%s",student[num].postcode); printf("\t\t\t输入e-mail:\n"); scanf("%s",student[num].e_mail); num++; printf("\t\t\t是否继续添加?(Y/N):\n"); if(getch()=="y" || getch()=="Y") adduser(); return(0);}void list(){ int i; system("cls"); if(num!=0) { printf("\t\t\t*************** 以下为通讯录所有信息************\n"); for (i=0;i { printf("\t\t\t姓名:%s\n",student[i].name); printf("\t\t\t电话:%s\n",student[i].phone); printf("\t\t\t地址:%s\n",student[i].adress); printf("\t\t\t邮编:%s\n",student[i].postcode); printf("\t\t\te-mail:%s\n",student[i].e_mail); if(i+1 { system("pause"); } } printf("\t\t\t************************************************\n"); } else printf("\t\t\t通讯录中无任何纪录\n"); printf("\t\t\t按任意键返回主菜单:\n"); getch(); //这里是无回显的输入字符,你输入的字符不会显示在屏幕上。

return;}int searchbyname(){ int mark=0; int i; printf("\t\t\t***************** 按姓名查找 *******************\n"); char name[20]; printf("\t\t\t请输入姓名:\n"); scanf("%s",name); for(i=0;i { if (strcmp(student[i].name,name)==0) { printf("\t\t\t************* 以下是您查找的用户信息 ***********\n"); printf("\t\t\t姓名: %s",student[i].name); printf("\t\t\t电话: %s",student[i].phone); printf("\t\t\t地址: %s",student[i].adress); printf("\t\t\te-mail:%s",student[i].e_mail); printf("\t\t\t************************************************\n"); mark++; if((i+1) { printf("\t\t\t是否继续查找相同名字的用户信息:(y/n)\n"); if(getch()=="y" || getch()=="Y") { continue; } else return(0); } else { printf("\t\t\t按任意键返回主菜单"); getch(); return(0); } } } if(mark == 0) { printf("\t\t\t没有相同姓名的用户纪录\n"); printf("\t\t\t按任意键返回主菜单\n"); getch(); return(0); } return 0;}int searchbyphone(){ int mark=0; int i; printf("\t\t\t****************** 按电话查找 ******************\n"); char phone[10]; printf("\t\t\t请输入电话号码:\n"); scanf("%s",phone); for(i=0;i { if (strcmp(student[i].phone,phone)==0) { printf("\t\t\t************** 以下是您查找的用户信息 **********\n"); printf("\t\t\t姓名: %s",student[i].name); printf("\t\t\t电话: %s",student[i].phone); printf("\t\t\t地址: %s",student[i].adress); printf("\t\t\te-mail:%s",student[i].e_mail); printf("\t\t\t************************************************\n"); printf("\t\t\t按任意键返回主菜单\n"); mark++; getch(); return(0); } } if (mark==0) { printf("\t\t\t没有改用户的信息\n"); printf("\t\t\t按任意键返回主菜单\n"); getch(); return(0); } return(0);}void deletebyphone(){ int i,j; int deletemark=0; char phone[20]; printf("\t\t\t请输入要删除用户电话号码:\n"); scanf("%s",phone); if(num==0) { printf("\t\t\t对不起,文件中无任何纪录\n"); printf("\t\t\t按任意键返回主菜单\n"); getch(); return; } for (i=0;i { if (strcmp(student[i].phone,phone)==0) { printf("\t\t\t以下是您要删除的用户纪录:\n"); printf("\t\t\t姓名: %s",student[i].name); printf("\t\t\t电话: %s",student[i].phone); printf("\t\t\t地址: %s",student[i].adress); printf("\t\t\te-mail:%s",student[i].e_mail); printf("\t\t\t是否删除?(y/n)"); if (getch()=="y" || getch()=="Y") { for (j=i;j student[j]=student[j+1]; num--; deletemark++; printf("\t\t\t删除成功"); printf("\t\t\t是否继续删除?(y/n)"); if (getch()=="y" || getch()=="Y") deletebyphone(); return; } else return; } continue; } if (deletemark==0) { printf("\t\t\t没有该用户的纪录"); printf("\t\t\t是否继续删除?(y/n)"); if(getch()=="y" || getch()=="Y") deletebyphone(); return; } return;}void deletebyname(){ int a=0; int findmark=0; int j; int deletemark=0; int i; char name[20]; printf("\t\t\t请输入要删除用户姓...

有免费的客户通讯录管理软件吗,该如何进行选择?

是的,如果你想选择客户通讯录管理软件的话,可以往客户管理软件方面搜索,京诺移动CRM应该能够解决你的问题,帮助企业对客户信息进行规范化整理,防止人员变动等因素造成的客户资料丢失,快速查询某一客户的详细信息,产品需求,有针对性的对客户进行维护。

求助:推荐一款实用的免费通讯录管理软件各位网友,因工作关系,结...

n"); printf(&quot:返回值 函数名 参数表 函数说明 提供客户int main void 主函数 是void initAddressBook LinkQueue &Q 初始化通讯录 否bool enAddressBook LinkQueue &Q 增加联系人 是bool update LinkQueue &Q 修改联系人 是bool delPerson LinkQueue &Q 删除联系人 是bool findByName LinkQueue &Q 查找联系人 是bool findByGroup LinkQueue &Q 按组显示 是void disAll LinkQueue &Q 显示全部联系人 是bool clearAddressBook LinkQueue &Q 清空通讯录 是表1 函数说明(2)对程序中的各个函数功能的描述① 主函数main: 年 月 日 1 需求分析手机通讯录系统,以联系人为节点建立伪队列(有头尾指针;修改联系人?清空通讯录?,有头、尾指针,可从中间进行删除操作③ 增加联系人函数enAddressBook增加联系人到通讯录的尾部,给出设计方案。

任务要求 综合运用和融化所学理论知识,工作量饱满。

参考文献 《数据结构(C语言版)》严蔚敏 清华大学出版社《C语言程序设计》(第三版)谭浩强 清华大学出版社审查意见 指导教师签字;n"); scanf("%d":系统开始、结束界面的显示、各个功能函数的调用、转换以及参数的传递、定义通讯头结点并传递给各个功能函数② 初始化通讯录函数initAddressBook;※5、查找联系人 6!\n&quot,返回增加是否成功。

④ 修改联系人函数按照用户提供的联系人姓名修改联系人所有信息课 程 设 计课程设计名称;)、且可从表中间进行操作);输入错误请重新输入。

⑦ 按组显示函数按照用户提供的分组名称,返回修改是否成功。

⑤ 删除联系人按照用户指定的联系人姓名删除相应联系人信息,选择、设计和实现合适的抽象数据类型!=8) { printf(" printf("※3。

?:1GB以上显卡,返回删除是否成功。

⑥ 查找联系人按照用户提供的联系人姓名查找第一个合法姓名对应的信息,查找成功则显示信息,失败则提示无此联系人; while(flag;退出系统2概要设计(1) 程序总体框架如图1所示:图1 程序框架图(2)序中各函数程简单说明见如表1函数说明所示;※※※※※主※※※※※菜※※※※※单※※※※※\、删除联系人 ※\n&quot、按组显示 ※\n"); printf("进行简单的需求分析;1||flag>8) { printf(&quot,&flag); if(flag&lt,提高分析和解决实际问题的能力,达到培养良好程序设计能力和习惯的目的,返回是否成功!⑩ 通讯录人数函数判断通讯录当前联系人数量,返回之,此函数主要是为清空通讯录函数所调用,故不提供给用户。

计3 运行环境1)软件环境操作系统:Windows72)硬件环境处理器:Intel Pentium 166MX 或更高内存:32MB以上硬盘空间:初始化主函数传入的头结点,即初始化通讯录,此系统采用伪队列。

⑧ 显示全部联系人函数显示当前通讯录中所有联系人的信息;※※※※※※※※※※※※※※※※※※※※※※※\查找联系人?按分组显示联系人?显示全部联系人?请输入编号(1-8):\、修改联系人 4、清空通讯录 ※\,为开发满足问题要求的小型应用软件奠定基础,达到软件工程的综合性基础训练的目的。

完成需求分析报告,若存在则全部输出,若不存在则提示无此分组,返回是否超找到合法联系人;n"); printf("主函数int main(){ LinkQueue Q; initAddressBook(Q); int flag=0,报告中对关键部分给出图表说明。

要求格式规范,返回是否查找到;n"); printf(&quot:教研室主任签字;※7、显示全部联系人 8;※1、增加联系人 2;n"); printf(&quot,要实现一下基本功能;增加联系人?删除联系人?,查找组中联系人、退出 ※\: ****** 指 导 教 师 : 课程设计时间: 计算机应用技术 专业课程设计任务书学生姓名 *** 专业班级 计科** 学号 ****题 目 **********课题性质 A 课题来源 D指导教师 同组姓名 无主要内容 学习掌握并熟练运用C语言进行程序设计;针对具体应用问题:SVGA 显示适配4 开发工具和编程语言Microsoft visual C++C语言5 详细设//): *** 学 号 : 数据结构课程设计 专 业 班 级 : 计科**** 学 生 姓 名 ; continue; } else { switch(flag){ case 1: if(enAddressBook(Q)) printf("增加联系人成功!\n"); else printf("增加联系人失败!\n"); break; case 2: if(delPerson(Q)) printf("删除联系人成功!\n"); else printf("联系人删除失败!\n"); break; case 3: if(update(Q)) printf("修改联系人成功!\n"); else printf("修改联系人失败!\n"); break; case 4: if(clearAddressBook(Q)) printf("通讯录已清空!\n"); else printf("通讯录清空失败!\n"); break; case 5: findByName(Q); break; case 6: findByGroup(Q); break; case 7: disAll(Q); break; case 8: system("cls"); break; } } } printf("※※※※※感谢您使用本系统!※※※※※※\n"); return 0;}//初始化通讯录void initAddressBook(LinkQueue &Q){ Q.front=Q.rear=(QNode *)malloc(sizeof(QNode)); if(!Q.front) exit(1); else Q.front->next=NULL;}//清空通讯录bool clearAddressBook(LinkQueue &Q){ system("cls"); while(addressBookLength(Q)!=0) { QNode *p; p=Q.front->next; Q.front->next=p->next; if(p==Q.rear) Q.rear=Q.front; free(p); } return true;}//通讯录当前人数int addressBookLength(LinkQueue &Q...

用C++语言通讯录管理软件的设计

有点难看。

如果有邮箱可以再发给你。

我这个是原版,但差别不大,修改结构体的成员就可以了,我就不修改了!我的劳动成果。

请采纳啊!!!!!!!!!#include#include#define M 100static int N=0,I=0;struct student{char name[20];char num[20];char qq[20];char type[10];}stu[M];void menu();void add();void find();void alter();void Delete();void list();void input();void output();int quit();int Find(char []);int Find_num(char []);int Find_qq(char []);int Find_type(char []);void main(){int op;menu(); while(1){printf("\t\n\t\t 请选择功能(1-8):");scanf("%d",&op);getchar();switch(op){case 1:printf("\n\t1.***********新增记录****************\n");add();break;case 2:printf("\n\t2.**********查找通讯录***************\n");find();break;case 3:printf("\n\t3.**********修改通讯录***************\n");alter();break;case 4:printf("\n\t4.**********删除通讯录***************\n");Delete();break;case 5:printf("\n\t5.**********显示通讯录***************\n");list();break;case 6:printf("\n\t6.*******从内存导出文件中************\n");output();break;case 7:printf("\n\t7.*******从文件导入内存中************\n");input();break;break;case 8:printf("\n\t8.*************退出******************\n");op=quit();break;default:printf("\tNot have the function!\n");break;}if(op==8){printf("\n\t感谢您的使用,已退出程序!\n\t");break;}elsecontinue;}}void menu(){printf("\n");printf("\t************通讯录管理菜单***********\n");printf("\t\t1.增加新的记录\n");printf("\t\t2.查找通讯录\n");printf("\t\t3.修改通讯录\n");printf("\t\t4.删除通讯录\n");printf("\t\t5.显示全部通讯录\n");printf("\t\t6.把通讯录导出到文件\n");printf("\t\t7.从文件导入通讯录\n");printf("\t\t8.退出\n");printf("\t*************************************\n");}//1实现新增void add(){ struct student stud;while(1){printf("\n\t当前共存在%d条记录,请输入下一条:",N);if(N==0){printf("\n\t请输入姓名:");scanf("%s",stu[N].name);printf("\t请输入电话号码:");scanf("%s",stu[N].num);printf("\t请输入QQ号:");scanf("%s",stu[N].qq);printf("\t请输入类别(小学、初中、高中、大学):");scanf("%s",stu[N].type);N++;printf("\n\t是否输入下一条(Y)?按任意键返回主菜单:");if(getchar()=="Y"||getchar()=="y")continue;break;}printf("\n\t请输入姓名:");scanf("%s",&stud.name);printf("\t请输入电话号码:");scanf("%s",&stud.num);printf("\t请输入QQ号:");scanf("%s",&stud.qq);printf("\t请输入类别(小学、初中、高中、大学):");scanf("%s",&stud.type);if(!Find(stud.name)){printf("\n\t发现通讯录中存在该记录,确认新增吗(Y)?其它任意键将覆盖:");if(getchar()=="Y"||getchar()=="y"){stu[N]=stud;N++;}elsestu[I]=stud;printf("\n\t操作成功!\n");}else{stu[N]=stud;N++;}printf("\n\t是否输入下一条(Y)?按任意键返回主菜单:"); if(getchar()=="Y"||getchar()=="y")continue;break;}menu();}//2 实现查找void find(){char s[20],ch,ch1;while(1){printf("\n\t****选择查找方式****");printf("\n\t1.按姓名查找:");printf("\n\t2.按电话号码查找:");printf("\n\t3.按QQ查找:");printf("\n\t4.按类别查找:");printf("\n\t*******************\n");printf("\n\t请输入查找方式(1-4):");ch=getchar();getchar();switch(ch){case "1":printf("\n\t请输入姓名:");gets(s);if(Find(s))printf("\n\t查找失败,请确认是否输入有误或不存在该记录!\n");break;case "2":printf("\n\t请输入电话号码:");gets(s);if(Find_num(s))printf("\n\t查找失败,请确认是否输入有误或不存在该记录!\n");break;case "3":printf("\n\t请输入QQ号码:");gets(s);if(Find_qq(s))printf("\n\t查找失败,请确认是否输入有误或不存在该记录!\n");break;case "4":printf("\n\t请输入类别:");gets(s);if(Find_type(s))printf("\n\t查找失败,请确认是否输入有误或不存在该记录!\n"); break;default:printf("\tHave not the function!");printf("\t\n");break;}printf("\n\t继续查找吗(Y)?,按任意键返回主菜单:");ch1=getchar();getchar();if(ch1=="Y"||ch1=="y")continue;break;}menu();}//3 实现修改void alter(){char ch,ch1,ch2,s[20];printf("\n\t请输入要修改的姓名:");gets(s);if(Find(s))printf("\n\t查找失败,请确认是否输入有误或不存在该记录!");else{printf("\n\t*****请选择修改方式*****:");printf("\n\t1.覆盖修改(重新输入全部信息)");printf("\n\t2.部分修改");printf("\n\t************************\n");printf("\n\t请选择修改的方式(1-2):");ch=getchar();getchar();switch(ch){case "1":printf("\n\t请输入姓名:");scanf("%s",stu[I].name);printf("\t请输入电话号码:");scanf("%s",stu[I].num);printf("\t请输入QQ:");scanf("%s",stu[I].qq);printf("\t请输入类别(小学、初中、高中、大学):");scanf("%s",stu[I].type);printf("\n\t修改成功! 修改后记录为:\n");printf("\n\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");printf("\n\t姓名\t电话号码\tQQ\t\t类别");...

通讯录管理系统C语言程序 这个程序的添加号码为什么只能添加一个

t\,student[i].phone);n");scanf("%s";n");printf(");n";}elseprintf("\t\t\t通讯录中无任何纪录\n");printf("\t\t\t按任意键返回主菜单:\n");getch(); //这里是无回显的输入字符,你输入的字符不会显示在屏幕上。

return;}int searchbyname(){int mark=0;int i;printf("\t\t\t***************** 按姓名查找 *******************\n");char name[20];printf("\t\t\t请输入姓名:\n");scanf("%s",name);for(i=0;i<num;i++){if (strcmp(student[i].name,name)==0){printf("\t\t\t************* 以下是您查找的用户信息 ***********\n");printf("\t\t\t姓名: %s",student[i].name);printf("\t\t\t电话: %s",student[i].phone);printf("\t\t\t地址: %s",student[i].adress);printf("\t\t\te-mail:%s",student[i].e_mail);printf("\t\t\t************************************************\n");mark++;if((i+1)<num){printf("\t\t\t是否继续查找相同名字的用户信息:(y/n)\n");if(getch()=="y" || getch()=="Y"){continue;}elsereturn(0);}else{printf("\t\t\t按任意键返回主菜单");getch();return(0);}}}if(mark == 0){printf("\t\t\t没有相同姓名的用户纪录\n");printf("\t\t\t按任意键返回主菜单\n");getch();return(0);}return 0;}int searchbyphone(){int mark=0;int i;printf("\t\t\t****************** 按电话查找 ******************\n");char phone[10];printf("\t\t\t请输入电话号码:\n");scanf("%s",phone);for(i=0;i<num;i++){if (strcmp(student[i].phone,phone)==0){printf("\t\t\t************** 以下是您查找的用户信息 **********\n");printf("\t\t\t姓名: %s",student[i].name);printf("\t\t\t电话: %s",student[i].phone);printf("\t\t\t地址: %s",student[i].adress);printf("\t\t\te-mail:%s",student[i].e_mail);printf("\t\t\t************************************************\n");printf("\t\t\t按任意键返回主菜单\n");mark++;getch();return(0);}}if (mark==0){printf("\t\t\t没有改用户的信息\n");printf("\t\t\t按任意键返回主菜单\n");getch();return(0);}return(0);}void deletebyphone(){int i,j;int deletemark=0;char phone[20];printf("\t\t\t请输入要删除用户电话号码:\n");scanf("%s",phone);if(num==0){printf("\t\t\t对不起,文件中无任何纪录\n");printf("\t\t\t按任意键返回主菜单\n");getch();return;}for (i=0;i<num;i++){if (strcmp(student[i].phone,phone)==0){printf("\t\t\t以下是您要删除的用户纪录:\n");printf("\t\t\t姓名: %s",student[i].name);printf("\t\t\t电话: %s",student[i].phone);printf("\t\t\t地址: %s",student[i].adress);printf("\t\t\te-mail:%s",student[i].e_mail);printf("\t\t\t是否删除?(y/n)");if (getch()=="y" || getch()=="Y"){for (j=i;j<num-1;j++)student[j]=student[j+1];num--;deletemark++;printf("\t\t\t删除成功");printf("\t\t\t是否继续删除?(y/n)");if (getch()=="y" || getch()=="Y")deletebyphone();return;}elsereturn;}continue;}if (deletemark==0){printf("\t\t\t没有该用户的纪录");printf("\t\t\t是否继续删除?(y/n)");if(getch()=="y" || getch()=="Y")deletebyphone();return;}return;}void deletebyname(){int a=0;int findmark=0;int j;int deletemark=0;int i;char name[20];printf("\t\t\t请输入要删除用户姓名:\n");scanf("%s",name);for (i=a;i<num;i++){if(strcmp(student[i].name,name)==0){printf("\t\t\t以下是您要删除的用户纪录:");findmark++;printf("\t\t\t________________________________");printf("\t\t\t姓名: %s",student[i].name);printf("\t\t\t电话: %s",student[i].phone);printf("\t\t\t地址: %s",student[i].adress);printf("\t\t\te-mail:%s",student[i].e_mail);printf("\t\t\t________________________________");printf("\t\t\t是否删除?(y/n)");if (getch()=="y" || getch() == "Y"){for(j=i;j<num-1;j++)student[j]=student[j+1];num--;deletemark++;printf("\t\t\t删除成功");if((i+1)<num){printf("\t\t\t是否继续删除相同姓名的用户信息?(y/n)");if (getch()=="y"){a=i;continue;}}printf("\t\t\t是否继续删除?(y/n)");if (getch()=="y")deletebyname();return;}if((i+1)<num){printf("\t\t\t是否继续删除相同姓名的用户信息?(y/n)");if (getch()=="y" || getch() == "Y"){a=i;continue;}}}elsecontinue;}if ((deletemark==0)&&(findmark==0)){printf("\t\t\t没有该用户的纪录");printf("\t\t\t是否继续删除?(y/n)");if(getch()=="y" || getch() == "Y")deletebyphone();return;}else if (findmark!=0){printf("\t\t\t没有重名信息");printf("\t\t\t没有该用户的纪录");printf("\t\t\t是否继续删除?(y/n)");if(getch()=="y" || getch() == "Y")deletebyphone();return;}}int dele(){char choic;printf("\t\t\t1-按电话号码删除 2-按姓名删除");printf("\t\t\t请选择:");choic=getch();switch (choic){case "1":deletebyphone();break;case "2":deletebyname();break;}return(0);}int sortbyname() //按姓名进行排序{int i,j;struct record tmp;for (i=1;i<num;i++){if(strcmp(student[i].name,student[i-1].name)<0){tmp=student[i];j=i-1;do{student[j+1]=student[j];j--;}while ((strcmp(tmp.name,student[j].name)=0));student[j+1]=tmp;}}printf("\t\t\t排序成功,是否显示?(y/n)");if (getch()=="y")list();return(0);}int main(){printf("\t\t************************************************\n");printf("\t\t********welcome to TONGXU...

c语言通讯录管理系统

#include#include#define MAX 100struct addr{ char name[30]; char street[40]; char city[20]; char state[3]; unsigned long int zip;}addr_list[MAX];void init_list(void);int menu_select(void);void enter(void);int find_free(void);void deleted(void);void list(void);int main(void){ char choice; init_list(); /* initialize the structure array */ for(;;){ choice=menu_select(); switch(choice){ case 1: enter(); break; case 2: deleted(); break; case 3: list(); break; case 4: exit(0); } } return 0;}/* initialize the list*/void init_list(void){ register int t; for(t=0;t4); return c;}/* Input address into the list*/void enter(void){ int slot; char s[80]; slot=find_free(); if(slot==-1){ printf("\nList Full"); return; } printf("Enter name: "); gets(addr_list[slot].name); printf("Enter street: "); gets(addr_list[slot].street); printf("Enter city: "); gets(addr_list[slot].city); printf("Enter state: "); gets(addr_list[slot].state); printf("Enter zip: "); gets(s); addr_list[slot].zip=strtoul(s,"\0",10);}/* Find an unused structure.*/int find_free(void){ register int t; for(t=0;addr_list[t].name[0]&&t=0&&slot<MAX) addr_list[slot].name[0]="\0";}/* Display the list on the screen*/void list(void){ register int t; for(t=0;t<MAX;++t){ if(addr_list[t].name[0]){ printf("%s\n",addr_list[t].name); printf("%s\n",addr_list[t].street); printf("%s\n",addr_list[t].city); printf("%s\n",addr_list[t].state); printf("%lu\n",addr_list[t].zip); } } printf("\n\n");}我以前写的

c语言 电话簿管理系统

#include#include#include #include //主函数int main(){ LinkQueue Q; initAddressBook(Q); int flag=0; while(flag!=8) { printf("※※※※※主※※※※※菜※※※※※单※※※※※\n"); printf("※1、增加联系人 2、删除联系人 ※\n"); printf("※3、修改联系人 4、清空通讯录 ※\n"); printf("※5、查找联系人 6、按组显示 ※\n"); printf("※7、显示全部联系人 8、退出 ※\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※\n"); printf("请输入编号(1-8):\n"); scanf("%d",&flag); if(flag8) { printf("输入错误请重新输入!\n"); continue; } else { switch(flag){ case 1: if(enAddressBook(Q)) printf("增加联系人成功!\n"); else printf("增加联系人失败!\n"); break; case 2: if(delPerson(Q)) printf("删除联系人成功!\n"); else printf("联系人删除失败!\n"); break; case 3: if(update(Q)) printf("修改联系人成功!\n"); else printf("修改联系人失败!\n"); break; case 4: if(clearAddressBook(Q)) printf("通讯录已清空!\n"); else printf("通讯录清空失败!\n"); break; case 5: findByName(Q); break; case 6: findByGroup(Q); break; case 7: disAll(Q); break; case 8: system("cls"); break; } } } printf("※※※※※感谢您使用本系统!※※※※※※\n"); return 0;}//初始化通讯录void initAddressBook(LinkQueue &Q){ Q.front=Q.rear=(QNode *)malloc(sizeof(QNode)); if(!Q.front) exit(1); else Q.front->next=NULL;}//清空通讯录bool clearAddressBook(LinkQueue &Q){ system("cls"); while(addressBookLength(Q)!=0) { QNode *p; p=Q.front->next; Q.front->next=p->next; if(p==Q.rear) Q.rear=Q.front; free(p); } return true;}//通讯录当前人数int addressBookLength(LinkQueue &Q){ int i=0; QNode *p; p=Q.front; if(Q.front==Q.rear) i=0; else { while(p!=Q.rear) { p=p->next; i++; } } return i;}//删除联系人bool delPerson(LinkQueue &Q){ char _name[20]; system("cls"); printf("请输入要删除的联系人的姓名:\n"); scanf("%s",_name); QNode *p,*q; if(Q.front==Q.rear) { printf("通讯录为空!\n"); return false; } else { p=Q.front; q=Q.front->next; while(q!=Q.rear){ if(strcmp(q->name,_name)==0) { p->next=q->next; free(q);//删除节点 return true; } else { p=p->next; q=q->next; } } if((strcmp(q->name,_name)==0)) { free(q); Q.front=Q.rear; return true; } else { printf("无此联系人!\n"); return false; } } }//查找联系人bool findByName(LinkQueue &Q){ system("cls"); if(Q.front==Q.rear) { printf("手机中无联系人!\n"); return false; } else { char _name[20]; printf("请输入要查询的联系人姓名:\n"); scanf("%s",_name); QNode *p; p=Q.front->next; while(p->next!=NULL) { if(strcmp(p->name,_name)==0) { printf("姓名:%s 号码:%s 分组:%s\n",p->name,p->tel,p->group); return true; } p=p->next; } if(strcmp(p->name,_name)==0){ printf("姓名:%s 号码:%s 分组:%s\n",p->name,p->tel,p->group); return true; } else { printf("查无此人!\n"); return false; } }}//按组显示联系人bool findByGroup(LinkQueue &Q){ system("cls"); if(Q.front==Q.rear) { printf("手机中无联系人!\n"); return false; } else { char _group[20]; printf("请输入要查询的分组:\n"); scanf("%s",_group); QNode *p; p=Q.front->next; while(p->next!=NULL) { if(strcmp(p->group,_group)==0) { printf("姓名:%s 号码:%s \n",p->name,p->tel); } p=p->next; } if(strcmp(p->group,_group)==0){ printf("姓名:%s 号码:%s \n",p->name,p->tel); return true; } else { printf("无此分组!\n"); return false; } }}//增加联系人bool enAddressBook(LinkQueue &Q){ system("cls"); QNode *p; p=(QNode *)malloc(sizeof(QNode)); if(!p) return false; else { printf("请输入联系人姓名:\n"); scanf("%s",p->name); printf("请输入联系人号码:\n"); scanf("%s",&p->tel); printf("请输入联系人分组:\n"); scanf("%s",p->group); if(Q.front->next==NULL) { Q.front->next=p; Q.rear=p; Q.rear->next=NULL; } else { p->next=NULL; Q.rear->next=p; Q.rear=p; } return true; }}//修改联系人bool update(LinkQueue &Q){ system("cls"); if(Q.front==Q.rear) { printf("手机中无联系人!\n"); return false; } else { char _name[20]; printf("请输入要修改的联系人姓名:\n"); scanf("%s",_name); QNode *p; p=Q.front->next; while(p->next!=NULL) { if(strcmp(p->name,_name)==0) { printf("请输入新联系人姓名:\n"); scanf("%s",p->name); printf("请输入新联系人号码:\n"); scanf("%s",&p->tel); printf("请输入新联系人分组:\n"); scanf("%s",p->group); return true; } p=p->next; } if(strcmp(p->name,_name)==0){ printf("请输入新联系人姓名:\n"); scanf("%s",p->name); printf("请输入新联系人号码:\n"); scanf("%s",&p->tel); printf("请输入新联系人分组:\n"); scanf("%s",p->group); return true; } else { printf("查无此人!\n"); return false; } }}/...