1、 void CreatList(); void set(char *name= .,char *address=,char *phone=,char *code=,char *email=); void Delete(int t); void Change(char *name); void Find(int x); void filecin(); void fileout(); void showall();List:List() head=tail=NULL;List() hum *p; if(head) p=head; head=head-next; delete p; void Lis
2、t:set(char *name,char *address,char *phone,char *email,char *code) /文本导入时调用的构造函数 hum *p=new hum; strcpy(p-name,name);address,address);phone,phone);code,code);email,email); p-next=NULL; if(head=NULL) head=p; else tail-next=p; tail=p;CreatList() /默认的构造函数 int flag=1;name,address,phone,code,email, getch
3、ar(); cout请输入家庭地址: gets(address); if(strcmp(address,请输入联系电话: gets(phone); if(strcmp(phone,请输入邮编: gets(code); if(strcmp(code,请输入电子邮件: gets(email); if(strcmp(email, hum *q=head; while(q) /判断是否以存在相同的信息 if(strcmp(q-name,name)=0&strcmp(q-address,address)=0&phone,phone)=0&code,code)=0&email,email)=0) flag
4、=0; cout if(flag) ofstream outfile; outfile.open(cin.txt,ios:app); /将新数据添加的文本末尾 if(!outfile) /调试期间怕出错添加的判断函数 cerrFile open or create error!endl; exit(1); outfileendlname addressphonecode if(head=NULL) head=p; else tail- tail=p; coutshuru; hum *p=head,*q; char flag; while(p) if(strcmp(p-name,shuru)=0
5、&t=1)|(strcmp(p-phone,shuru)=0&t=2)|(strcmp(p-code,shuru)=0)&t=3) coutflag; if(flag=Y|flag=y) if(p=head) head=p- else q-next=p- delete p; break; break; q=p; p=p- ofstream outfile; outfile.open(trunc); if(! cerrnext) /链表输出信息至文本 outfileemail /将删除后的信息存入cin.txt文件中保存 outfile outfile.close(); system(cls /
6、每次程序的最终结果都清屏一次,并给出程序最后的结果,方便使用者查看 cout程序运行结果: if(flag= coutname,name)=0)姓名: n 地址: 电话: 邮编: E-mail: getchar();-无需修改选项直接回车!-n /对于无需修改的项目不需要重复填入,方便使用者输入要修改成的地址: gets(address);输入要修改成的电话: gets(phone);输入要修改成的邮编: gets(code);输入要修改成的E-mail: gets(email); if(strcmp(address, strcpy(p- if(strcmp(code, if(strcmp(e
7、mail, if(strcmp(phone, flag=1; p=p- ofstream outfile; outfile.open( if(! cerr /将删除后的信息存入cin.txt文件中保存 outfilex=2)|(strcmp(p-x=3|(strcmp(p-email,shuru)=0&x=4) system(n查找人: flag=1; if(flag=0) system(filecin() /默认导入文本信息至程序 ifstream txtfile; txtfile.open(txtfile)txt open error! while(!txtfile.eof() txtfi
8、lenameaddressphonecode List:set(name,address,phone,code,email); txtfile.close();fileout() /导出信息至文本 fstream outfile;cout.txtout|ios: while (p) /链表输出信息至文本 printf(导出信息至文本成功!showall() /链表输出各个成员信息 while(p)int main() List TXL; int n=1; /n表示要输入的操作步骤 TXL.filecin(); /程序打开默认导入记录在cin.txt中的文件内容。 while(n) 欢迎使用通信
9、簿! /用户友好界面 请选择以下操作! !-1-添加通讯录信息n-2-修改通讯录信息n-3-删除通讯录信息n-4-查找通讯录信息n-5-输出通讯录信息n-6-文本导出信息n-7-退出通讯录n输入菜单中的操作步骤: cinn; switch(n) case 1: TXL.CreatList(); /在程序运行时添加成员 case 2:输入要修改的人的名字: cinname; TXL.Change(name); case 3:1-根据姓名删除信息n /不同的删除方式。2-根据电话删除信息n3-根据E-mail删除信息n int t;t; TXL.Delete(t); case 4:查找方式 /不同的查找方式。-1、按名字查找 n-2、按电话查找 n-3、按邮编查找 n-4、按E-mail查找请输入查找方式: int x;x; TXL.Find(x); case 5: TXL.showall(); case 6: TXL.fileout();break; /文件导出最终结果 case 7: n=0; default:操作错误! return 0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1