#include #include #include #include #include #include using namespace std; int x=0; char a; int s=1; struct List //数据类 { char name[20]; //姓名 char cardNumber[20]; char phoneNumber[20]; //固定电话号码 char email[10]; //电子邮箱 int s; List * Next;//结构体指针 void ReadFile(istream & in); void put(); void print(); } ; void List::ReadFile(istream & in) //从文件把数据读入到程序 { in>>name>>cardNumber>>phoneNumber>>email; } void List::put() //信息输入 { cout<<\"请输入姓名\"< cout<<\"请输入身份证号\"< cout<<\"请输入电话号码\"< cout<<\"请输入电子邮箱\"< s++; } void List::print() //信息输出 { cout<<\" *姓名*:\"< class FcMessage 的功能 { //与结构体功能类似 *身份证号*:\"< public: FcMessage(); //构造结构,构造一个单链表,打开文件,读取信息 ~FcMessage(); //释放单链表 void Save(); //数据保存到文件 List * Search_name(char * ); List * search_card(char * ); List * search_phone(char *);//信息查找,是一个指针函数,返回结构体指针 void Insert(); //插入 void Remove(); //删除 void Change(); //更改 void Show(); // 显示 private: List * End,* Head;//这是单链表的头尾指针 ifstream in; //定义读,写文件对象 ofstream out; }; FcMessage::FcMessage() { Head=new List; //头插法建立单链表 Head->Next=new List; End=Head->Next; in.open(\"List.text\"); //打开外存文件,看是否有数据存在 if(!in) cout<<\"电话系统中没有任何号码,请输入号码\"< { in.close(); cout<<\"读取电话号码系统成功!\"< cout<<\"输入任意字母继续\"< } FcMessage::~FcMessage() { List * temp; while(Head->Next!=End) { temp=Head->Next; Head=Head->Next; //释放单链表 delete temp; } delete Head; delete End; //删除头尾指针 } void FcMessage::Save() //把插入的信息放回文件中 //保存文件 { out.open(\"List.txt\"); //建立外存文件TeleNumber.txt for(List *p=Head->Next; p!=End; p=p->Next) out< out.close(); cout<<\"保存成功!\"< void FcMessage::Insert() //插入 { End->put(); End->Next=new List; End=End->Next; cout< void FcMessage::Remove() { char name[20]; List * p; //从单链表尾部插入 //删除 List * q; int i=0; cout<<\"请输入要删除人的姓名:\"< p=Head; while(p->Next) { if(strcmp(p->Next->name,name)==0) { i++; q=p->Next; p->Next=q->Next; delete q; break; } p=p->Next; } if(!p&&i==0) { cout<<\" *查无此人*\" < } List * FcMessage::Search_name(char * name) { cin>>name; int i=0; List *p=Head->Next; while(p) { if(strcmp(p->name,name)==0) { i++; p->print(); return p; } p=p->Next; } if(!p&&i==0) { cout<<\" *查无此人*\" < return 0; } List * FcMessage::search_card(char * cardNumber) { int i=0; cin>>cardNumber; List *p=Head->Next; while(p) { if(strcmp(p->cardNumber,cardNumber)==0) { i++; p->print(); return p; } p=p->Next; } if(!p&&i==0) { cout<<\" *查无此人*\" < return 0; } List * FcMessage::search_phone(char *phoneNumber) { int i=0; cin>>phoneNumber; List *p=Head->Next; while(p) { if(strcmp(p->phoneNumber,phoneNumber)==0) { i++; p->print(); return p; } p=p->Next; } if(!p&&i==0) { cout<<\" *查无此人*\" < return 0; } /*List * FcMessage::search_card(int cardNumber) { for(List * p=Head->Next;p!=End;p=p->Next) { if(p->cardNumber==cardNumber) { p->print(); return p; } else { cout<<\" *查无此人*\" < } }*/ /*List * FcMessage::search_phone(int * phoneNumber) { for(List *p=Hesd->Next;p!=End;p=p->Next) { if(p->phoneNumber==phoneNumber) { p->print(); return p; } else cout<<\" *查无此人*\" < }*/ void FcMessage::Change() //修改信息 { char name[20]; cout<<\"请输入要修改的人的姓名:\"; cin>>name; int i=0; List *p=Head->Next; while(p) { if(strcmp(p->name,name)==0) { i++; cout<<\" p->put(); } p=p->Next; } *找到,请输入修改信息*\"< { cout<<\" *查无此人*\" < } void FcMessage::Show() { cout<<\" ***********************\"< p->print(); cout<<\" ***********************\"< int main() { bool flag=true; FcMessage book; char name[20]; char cardNumber[20]; char phoneNumber[10]; while(flag) { system(\"cls\"); cout< //具有清屏作用 *简单个人电话号码查询系统* \"< cout<<\" # *0.退出系统 #\"< #################################\"< switch(x) { case 0: flag=false; break; case 1: book.Insert(); break; *请选择*:\"; case 2: book.Show(); break; case 3: cout<<\" 请输入查找人得姓名\"< break; case 4: cout<<\" 请输入查找人得身份证号\"< break; case 5: cout<<\" 请输入查找人得电话号码\"< break; case 6: book.Remove(); break; case 7: book.Change(); break; case 8: book.Save(); break; } cout<<\"输入任意字母返回\"< } return 0; } 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务