⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookinfo.cpp

📁 简单的vc++比编译通讯录,适用于学生课程设计和程序改写。
💻 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 + -