《个人电话号码查询程序》由会员分享,可在线阅读,更多相关《个人电话号码查询程序(6页珍藏版)》请在金锄头文库上搜索。
1、#include#include#include using namespace std;int x=0;char a;int j=1;struct TeleNumber /数据类char name20; /姓名int phoneNumber; /固定电话号码int mobileNumber; /移动电话号码char email30; /电子邮箱int s; TeleNumber * Next;void ReadFile(istream & in);void input();void display();void copyfromother(TeleNumber * p); ;void Tel
2、eNumber:ReadFile(istream & in) /从文件把数据读入到程序innamephoneNumbermobileNumberemail;void TeleNumber:input() /信息输入 cout请输入姓名name;cout请输入固定电话号码phoneNumber;cout请输入移动电话号码mobileNumber;cout请输入电子邮箱email;s=j+;void TeleNumber:display() /信息输出cout姓名:namet固定号码:phoneNumbert移动电话号码:mobileNumbert电子邮箱:emailname);phoneNumb
3、er=p-phoneNumber;mobileNumber=p-mobileNumber;strcpy(email,p-email);class TeleMessage /功能类public:TeleMessage(); /构造数据结构 TeleMessage(); /释放单链表void Save(); /数据保存到文件TeleNumber * Search(char *); /信息查找void Insert(); /插入void Remove(); /删除void Change(); /更改void Show(); /显示private:TeleNumber * End,* Head;ifs
4、tream in; /定义读,写文件对象ofstream out;TeleMessage:TeleMessage()Head=new TeleNumber; /头插法建立单链表Head-Next=new TeleNumber;End=Head-Next;in.open(TeleNumber.txt); /打开外存文件,看是否有数据存在if(!in|in.peek()=EOF)cout电话系统中没有任何号码,请输入号码Next; while(!in.eof()p-ReadFile(in);if(in.peek()!=EOF) p-Next=new TeleNumber; p=p-Next;End
5、=p;in.close();cout读取电话号码系统成功!endl;cout输入任意字母继续a;TeleMessage:TeleMessage() /释放单链表0TeleNumber * temp;while(Head-Next!=End)temp=Head-Next;Head-Next=Head-Next-Next;delete temp; delete Head,End; /删除头尾指针void TeleMessage:Save() /保存文件out.open(TeleNumber.txt); /建立外存文件TeleNumber.txt,覆盖方式/else/out.open(TeleNum
6、ber.txt,ios:app); /建立外存文件TeleNumber.txt,追加方式/ for(TeleNumber *p=Head-Next;p!=End;p=p-Next)outnametphoneNumbertmobileNumbertemailendl;/将数据存到外存文件里out.close();cout保存成功!input(); /从单链表尾部插入End-Next=new TeleNumber;End=End-Next;coutendl插入成功并保存endl;void TeleMessage:Remove() /删除 char name20;TeleNumber * p=NUL
7、L,*temp=NULL; cout请输入要删除人的姓名:name;if(Search(name) p=Search(name); /先进行查找,找到所要删除的结点temp=p-Next;if(temp!=End)p-copyfromother(temp);p-Next=p-Next-Next; /摘链elseEnd=p;delete temp;cout删除成功!endl;elsecout没有找到!Next;p!=End;p=p-Next)if(!strcmp(p-name,name) getNum+;if(x=3)/p-display();return p;/else/return p;if
8、(!getNum)cout查无此人endl; return 0; /else return p;void TeleMessage:Change() /修改信息char name20;coutname;if(Search(name)cout已找到个人的信息,请输入新的信息!input();cout修改成功!endl;elsecout没有找到!Next;p!=End;p=p-Next)p-display(); int main()bool flag=true;TeleMessage tele;char name20;while(flag)system(cls);cout简单个人电话号码查询系统en
9、dlendl;cout1.增加信息endl;cout2.显示信息endl;cout3.查找号码endl;cout4.删除信息endl;cout5.修改信息endl;cout6.保存信息endl;cout0.退出系统endlendl;coutx;switch(x)case 0:flag=false;break;case 1:tele.Insert();break;case 2:tele.Show();break;case 3:cout请输入姓名name;tele.Search(name);break;case 4:tele.Remove();break;case 5:tele.Change();break;case 6:tele.Save();break;cout输入任意字母返回a;return 0;