您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 简单个人电话号码查询系统
#includeiostream#includefstream#includestringusingnamespacestd;intx=0;chara;intj=1;structTeleNumber//数据类{charname[10];//姓名intphoneNumber;//固定电话号码intmobileNumber;//移动电话号码charemail[10];//电子邮箱ints;TeleNumber*Next;voidReadFile(istream&in);voidinput();voiddisplay();};voidTeleNumber::ReadFile(istream&in)//从文件把数据读入到程序{innamephoneNumbermobileNumberemail;}voidTeleNumber::input()//信息输入{cout请输入姓名endl;cinname;cout请输入固定电话号码endl;cinphoneNumber;cout请输入移动电话号码endl;cinmobileNumber;cout请输入电子邮箱endl;cinemail;s=j++;}voidTeleNumber::display()//信息输出{cout姓名:name'\t'固定号码:phoneNumber'\t'移动电话号码:mobileNumber'\t'电子邮箱:emailendl;}classTeleMessage//功能类{public:TeleMessage();//构造数据结构~TeleMessage();//释放单链表voidSave();//数据保存到文件TeleNumber*Search(char*);//信息查找voidSort();//排序voidInsert();//插入voidRemove();//删除voidChange();//更改voidShow();//显示voidSwap(TeleNumber*,TeleNumber*);//两个TeleNumber对象交换数据域private:TeleNumber*End,*Head;ifstreamin;//定义读,写文件对象ofstreamout;};TeleMessage::TeleMessage(){Head=newTeleNumber;//头插法建立单链表Head-Next=newTeleNumber;End=Head-Next;in.open(TeleNumber.text);//打开外存文件,看是否有数据存在if(!in)cout电话系统中没有任何号码,请输入号码endl;else{while(!in.eof())//如果有,则打开,并将数据读取到程序{End-ReadFile(in);if(End-name[0]=='\0')break;End-Next=newTeleNumber;End=End-Next;}in.close();cout读取电话号码系统成功!endl;}cout输入任意字母继续endl;cina;}TeleMessage::~TeleMessage()//释放单链表{TeleNumber*temp;while(Head-Next!=End){temp=Head-Next;Head=Head-Next;deletetemp;}deleteHead,End;//删除头尾指针}voidTeleMessage::Save()//保存文件{out.open(TeleNumber.txt);//建立外存文件TeleNumber.txtfor(TeleNumber*p=Head-Next;p!=End;p=p-Next)outp-name\tp-phoneNumber\tp-mobileNumber\tp-emailendl;//将数据存到外存文件里out.close();cout保存成功!endl;}voidTeleMessage::Swap(TeleNumber*p1,TeleNumber*p2)//两个类对象数据域进行交换{TeleNumber*temp=newTeleNumber;strcpy(temp-name,p1-name);strcpy(temp-email,p1-email);temp-mobileNumber=p1-mobileNumber;temp-phoneNumber=p1-phoneNumber;temp-s=p1-s;strcpy(p1-name,p2-name);strcpy(p1-email,p2-email);p1-mobileNumber=p2-mobileNumber;p1-phoneNumber=p2-phoneNumber;p1-s=p2-s;strcpy(p2-name,temp-name);strcpy(p2-email,temp-email);p2-mobileNumber=temp-mobileNumber;p2-phoneNumber=temp-phoneNumber;p2-s=temp-s;}voidTeleMessage::Sort()//起泡排序{TeleNumber*p=NULL,*q=NULL;intexchange=j-1;intbound;inti;while(exchange){bound=exchange;exchange=0;for(p=Head-Next,i=1;ibound;i++,p=p-Next)if(p-mobileNumberp-Next-mobileNumber){Swap(p,p-Next);//调用交换函数exchange=p-s;}}Show();}voidTeleMessage::Insert()//插入{End-input();//从单链表尾部插入End-Next=newTeleNumber;End=End-Next;coutendl插入成功endl;}voidTeleMessage::Remove()//删除{charname[20];TeleNumber*p=newTeleNumber,*temp=NULL;cout请输入要删除人的姓名:endl;cinname;p-Next=Search(name);//先进行查找,找到所要删除的结点if(Search(name)){temp=p-Next;p-Next=p-Next-Next;//摘链deletetemp;cout\t\t删除成功!endl;}else{cout\t\t没有找到!endl;}}TeleNumber*TeleMessage::Search(char*name){for(TeleNumber*p=Head-Next;p!=End;p=p-Next)if(!strcmp(p-name,name)){if(x==4){p-display();returnp;}elsereturnp;}if(x==4)cout查无此人endl;return0;}voidTeleMessage::Change()//修改信息{charname[20];cout请输入要修改的人的姓名:;cinname;if(Search(name)){cout\t\t已找到个人的信息,请输入新的信息!endl;Search(name)-input();cout修改成功!endl;}else{cout\t\t没有找到!endl;}}voidTeleMessage::Show(){for(TeleNumber*p=Head-Next;p!=End;p=p-Next)p-display();}intmain(){boolflag=true;TeleMessagetele;charname[20];while(flag){system(cls);cout********************☆简单个人电话号码查询系统☆********************endl;cout**************★★★★★★★★★★★★★★★★★**************endl;cout******************★☆1.增加电话号码☆★******************endl;cout******************★☆2.显示电话号码☆★******************endl;cout******************★☆3.排序个人电话☆★******************endl;cout******************★☆4.查找个人电话☆★******************endl;cout******************★☆5.删除个人信息☆★******************endl;cout******************★☆6.修改个人信息☆★******************endl;cout******************★☆7.保存个人信息☆★******************endl;cout******************★☆0.退出系统☆★******************endl;cout\n\t\t\n\t\t请选择:;cinx;switch(x){case0:flag=false;break;case1:tele.Insert();break;case2:tele.Show();break;case3:tele.Sort();break;case4:cout请输入欲查找认得姓名endl;cinname;tele.Search(name);break;case5:tele.Remove();break;case6:tele.Change();break;case7:tele.Save();break;}cout输入任意字母返回endl;cina;}return0;}
本文标题:简单个人电话号码查询系统
链接地址:https://www.777doc.com/doc-2708066 .html