📄 bookinfo.cpp
字号:
#include "BookInfo.h"
void BookInfo::PrintScreen()
{
cout <<endl;
cout <<"**************************** 通信录系统 **************************"<<endl;
cout <<" Welcome to use TelBook" <<endl
<<" 姓名: XX" <<endl
<<" 学号: XXXXXXXXXX" <<endl
<<" 日期: XXXX-XX-XX" <<endl;
cout <<" [0] 退出系统"<<endl
<<" [1] 添加通讯录信息"<<endl
<<" [2] 依姓名删除通讯录信息"<<endl
<<" [3] 显示所有成员姓名"<<endl
<<" [4] 依姓名查询通讯录信息"<<endl
<<" [5] 依姓名修改通讯录信息"<<endl
<<" [6] 调用帮助菜单"<<endl
<<" [7] 把链表保存到文件"<<endl;
cout <<"******************************************************************"<<endl;
}
void BookInfo::Loop()
{
char ch[20];
nodetype *p, *head;
int i; //存放节点序号
p=L.load(); //初始化:从外部读入数据创建链表
head=p;
PrintScreen();
while(1)
{
cout<<endl;
cout<<"Please choose your choice (Choose 6 for help): "<<endl;
cin>>ch;
if(L.check(ch, "1"))
{
p=L.insnode(0);
head=p;
cout<<endl;
cout<<"****************** 添加通讯录信息 ******************"<<endl;
cout<<"下面输入个人信息: "<<endl;
L.editperson(p);
}
if(L.check(ch, "2"))
{
cout<<endl;
cout<<"**************** 依姓名删除通讯录信息 ***************"<<endl;
L.dispname();
cout<<endl;
cout<<"请输入成员姓名: "<<endl;
cin>>ch;
i=L.find2(ch);
L.delnode(i);
cout<<"删除信息成功"<<endl;
}
if(L.check(ch, "3"))
{
cout<<endl;
cout<<"****************** 显示所有成员姓名 ******************"<<endl;
L.dispname();
}
if(L.check(ch, "4"))
{
cout<<endl;
cout<<"**************** 依姓名查询通讯录信息 ***************"<<endl;
L.dispname();
cout<<endl;
cout<<"请输入成员姓名: "<<endl;
cin>>ch;
p=L.find1(ch);
if(!p)
{
cout<<"通信录中没有这个成员!"<<endl;
}
L.dispnode(p);
}
if(L.check(ch, "6"))
{
PrintScreen();
}
if(L.check(ch, "7")) //保存数据
{
FILE *fp;
if((fp=fopen("通信录.txt", "w"))==NULL)
{
cout<<"打开文件失败!"<<endl;
return;
}
int i;
char t[256];
//将 L1.listlen() 赋予字符串中的数字
sprintf(t, "The Length Of Link: %d\n", L.listlen());
fputs(t, fp);
strcpy(t, "\n");
fputs(t, fp);
p=L.findnode(1); //将链表头指针赋予 p
cout<<"The Length Of Link:"<<L.listlen()<<endl; //返回链表结点的长度
cout<<"文件信息已保存成功!"<<endl;
for(i=0; i<L.listlen(); i++)
{
fputs(p->pe.name, fp); //输出姓名
fputs(p->pe.sex, fp); //输出性别
fputs(p->pe.address, fp); //输出地址
fputs(p->te.mobill, fp); //输出手机
fputs(p->te.JTtel, fp); //输出家庭电话
fputs(t, fp);
p=p->next;
}
p=head;
fclose(fp);
}
if(L.check(ch, "5"))
{
char c[20];
cout<<endl;
cout<<"**************** 依姓名修改通讯录信息 ****************"<<endl;
L.dispname();
cout<<endl;
cout<<"请输入成员姓名: "<<endl;
cin>>c;
p=L.find1(c);
if(!p)
{
cout<<"通信录中没有这个成员!"<<endl;
continue;
}
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<<"*********************************************************"<<endl;
while(1)
{
cout<<endl;
cout<<"Please choose your choice (Choose 6 for help): "<<endl;
cin>>c;
if(L.check(c, "1"))
{
cout<<endl;
cout<<"****************** 编辑个人信息 ******************"<<endl;
L.editperson(p);
}
else if(L.check(c, "2"))
{
cout<<endl;
cout<<"****************** 编辑联系方式 ******************"<<endl;
L.edittelephone(p);
}
else if(L.check(c, "3"))
{
cout<<endl;
cout<<"****************** 显示个人信息 ******************"<<endl;
L.dispperson(p);
}
else if(L.check(c, "4"))
{
cout<<endl;
cout<<"****************** 显示联系方式 ******************"<<endl;
L.disptelephone(p);
}
else if(L.check(c, "5"))
{
L.dispnode(p);
}
else if(L.check(c, "6"))
{
L.help();
}
else if(L.check(c, "7"))
{
PrintScreen();
break;
}
}
}
else if(L.check(ch, "0"))
{
quit();
return;
}
}
return;
}
void BookInfo::quit()
{
cout<<"成功退出系统!"<<endl;
cout<<"欢迎下次使用!"<<endl;
cout<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -