#include
#include
#include
#include
#include
#include
usingnamespacestd;
intx=0;
chara;
ints=1;
structList//数据类
{
charname[20];//姓名
charcardNumber[20];
charphoneNumber[20];//固定电话号码
charemail[10];//电子邮箱
ints;
List*Next;//结构体指针
voidReadFile(istream&in);
voidput();
voidprint();
};
voidList::ReadFile(istream&in)//从文件把数据读入到程序
{
in>>name>>cardNumber>>phoneNumber>>email;
}
voidList::put()//信息输入
{
cout<<"请输入姓名"<
cin>>name;
cout<<"请输入身份证号"<
cin>>cardNumber;
cout<<"请输入电话号码"<
cin>>phoneNumber;
cout<<"请输入电子邮箱"<
cin>>email;
s++;
}
voidList::print()//信息输出
{
cout<<"*姓名*:"<
cout<
cout<<"*身份证号*:"<
cout<
cout<<"*电话号码*:"<
cout<
cout<<"*电子邮箱*:"<
cout<
}
classFcMessage//功能类,实现实现查询系统的功能
{
//与结构体功能类似
public:
FcMessage();//构造结构,构造一个单链表,打开文件,
读取信息
~FcMessage();//释放单链表
voidSave();//数据保存到文件
List*Search_name(char*);
List*arch_card(char*);
List*arch_phone(char*);//信息查找,是一个指针函数,返回结构体指针
voidInrt();//插入
voidRemove();//删除
voidChange();//更改
voidShow();//显示
private:
List*End,*Head;//这是单链表的头尾指针
ifstreamin;//定义读,写文件对象
ofstreamout;
};
FcMessage::FcMessage()
{
Head=newList;//头插法建立单链表
Head->Next=newList;
End=Head->Next;
("");//打开外存文件,看是否有数据存在
if(!in)
cout<<"电话系统中没有任何号码,请输入号码"<
el
{
();
cout<<"读取电话号码系统成功!"<
}
cout<<"输入任意字母继续"<
cin>>a;
}
FcMessage::~FcMessage()//释放单链表
{
List*temp;
while(Head->Next!=End)
{
temp=Head->Next;
Head=Head->Next;
deletetemp;
}
deleteHead;
deleteEnd;//删除头尾指针
}
voidFcMessage::Save()//把插入的信息放回文件中//保存文件
{
("");//建立外存文件
for(List*p=Head->Next;p!=End;p=p->Next)
out<
dl代表结束~~
//将数据存到外存文件里
();
cout<<"保存成功!"<
}
voidFcMessage::Inrt()//插入
{
End->put();//从单链表尾部插入
End->Next=newList;
End=End->Next;
cout<
}
voidFcMessage::Remove()//删除
{
charname[20];
List*p;
List*q;
inti=0;
cout<<"请输入要删除人的姓名:"<
cin>>name;
p=Head;
while(p->Next)
{
if(strcmp(p->Next->name,name)==0)
{
i++;
q=p->Next;
p->Next=q->Next;
deleteq;
break;
}
p=p->Next;
}
if(!p&&i==0)
{
cout<<"*查无此人*"<
}
}
List*FcMessage::Search_name(char*name)
{
cin>>name;
inti=0;
List*p=Head->Next;
while(p)
{
if(strcmp(p->name,name)==0)
{
i++;
p->print();
returnp;
}
p=p->Next;
}
if(!p&&i==0)
{
cout<<"*查无此人*"<
}
return0;
}
List*FcMessage::arch_card(char*cardNumber)
{
inti=0;
cin>>cardNumber;
List*p=Head->Next;
while(p)
{
if(strcmp(p->cardNumber,cardNumber)==0)
{
i++;
p->print();
returnp;
}
p=p->Next;
}
if(!p&&i==0)
{
cout<<"*查无此人*"<
}
return0;
}
List*FcMessage::arch_phone(char*phoneNumber)
{
inti=0;
cin>>phoneNumber;
List*p=Head->Next;
while(p)
{
if(strcmp(p->phoneNumber,phoneNumber)==0)
{
i++;
p->print();
returnp;
}
p=p->Next;
}
if(!p&&i==0)
{
cout<<"*查无此人*"<
}
return0;
}
/*List*FcMessage::arch_card(intcardNumber)
{
for(List*p=Head->Next;p!=End;p=p->Next)
{
if(p->cardNumber==cardNumber)
{
p->print();
returnp;
}
el
{
cout<<"*查无此人*"<
}
}
}*/
/*List*FcMessage::arch_phone(int*phoneNumber)
{
for(List*p=Hesd->Next;p!=End;p=p->Next)
{
if(p->phoneNumber==phoneNumber)
{
p->print();
returnp;
}
el
cout<<"*查无此人*"<
}
}*/
voidFcMessage::Change()//修改信息
{
charname[20];
cout<<"请输入要修改的人的姓名:";
cin>>name;
inti=0;
List*p=Head->Next;
while(p)
{
if(strcmp(p->name,name)==0)
{
i++;
cout<<"*找到,请输入修改信息*"<
p->put();
}
p=p->Next;
}
if(!p&&i==0)
{
cout<<"*查无此人*"<
}
}
voidFcMessage::Show()
{
cout<<"***********************"<
for(List*p=Head->Next;p!=End;p=p->Next)
p->print();
cout<<"***********************"<
}
intmain()
{
boolflag=true;
FcMessagebook;
charname[20];
charcardNumber[20];
charphoneNumber[10];
while(flag)
{
system("cls");//具有清屏作用
cout<
cout<
cout<
cout<<"*简单个人电话号码查询系统*
"<
cout<<"*********************************"<
cout<<"#*1.增加信息#"<
cout<<"#*2.显示信息#"<
cout<<"#*3.根据姓名查找#"<
cout<<"#*4.根据身份证号码查找#"<
cout<<"#*5.根据电话号码查找#"<
cout<<"#*6.删除信息#"<
cout<<"#*7.修改信息#"<
cout<<"#*8.保存信息#"<
cout<<"#*0.退出系统#"<
cout<<"
#"<
cout<<"*请选择*:";
cin>>x;
switch(x)
{
ca0:
flag=fal;
break;
ca1:
();
break;
ca2:
();
break;
ca3:
cout<<"请输入查找人得姓名"<
_name(name);
break;
ca4:
cout<<"请输入查找人得身份证号"<
_card(cardNumber);
break;
ca5:
cout<<"请输入查找人得电话号码"<
_phone(phoneNumber);
break;
ca6:
();
break;
ca7:
();
break;
ca8:
();
break;
}
cout<<"输入任意字母返回"<
cin>>a;
}
return0;
}
本文发布于:2022-12-30 22:19:21,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/61986.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |