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

📄 kehu1.cpp

📁 行天订票系统,一个航天的机票管理系统,主要是针对数据结构来设计的
💻 CPP
字号:
#include "kehu1.h"

Status InsertKehu1(LinkList &L)	//按输入增加客户1
{
	LinkList p;
	char ch='1';
	while(ch=='1')
	{
		p=(LinkList)new LNode;
		cout<<"请输入客户姓名:";	cin>>p->data.name;	cout<<endl;
		cout<<"订票量:";		cin>>p->data.number;		cout<<endl;
		if(L->data.number-p->data.number>0)
		{
			L->data.number+=p->data.number;
			cout<<"证件号码:";		cin>>p->data.zjh;	cout<<endl;
			if(!SearchKehu1(L,p->data.name,p->data.zjh))
			{
				cout<<"航位等级:";		cin>>p->data.Class;		cout<<endl;
				cout<<"证件类型:";		cin>>p->data.zjlx;	cout<<endl;
				p->next=L->next;
				L->next=p;
			}
			else cout<<"有相同的记录,请确认"<<endl;
		}
		else
		{
			cout<<"没有足够的余额"<<endl;
			delete p;
			return FALSE;
		}
		cout<<"继续输入? 		1.继续输入			其它退出"<<endl;
		cin>>ch;
	}//end while
	return OK;
}

Status InsertKehu1(LinkList &L,QElemType e)		//按输入增加客户1。e传送新增客户的名字和订票量
{
	LinkList p;
	p=(LinkList)new LNode;
	p->data.name=e.name;	p->data.number=e.number;
	L->data.number+=p->data.number;
	cout<<"航位等级:";		cin>>p->data.Class;		cout<<endl;
	cout<<"证件类型:";		cin>>p->data.zjlx;	cout<<endl;
	cout<<"证件号码:";		cin>>p->data.zjh;	cout<<endl;
	p->next=L->next;
	L->next=p;
	return OK;
}

void CreateKehu1(LinkList &L,ifstream& infile)		//从文件读取信息,建立客户1链表,凡回头指针
{
	LinkList p;
	L=(LinkList)new LNode;
	L->next=NULL;
	L->data.number=0;
	char ch;
	char cur1[50];
	int num;
	char cur2[50];
	char cur3[50];
	char cur4[50];
	infile.get(cur1,50);
	while(infile)
	{
		infile.get(ch);
		infile>>num;
		infile.get(ch);
		infile.get(cur2,50);
		infile.get(ch);
		infile.get(cur3,50);
		infile.get(ch);
		infile.get(cur4,50);
		infile.get(ch);
		p=(LinkList)new LNode;
		p->data.name=cur1;
		p->data.number=num;
		L->data.number+=p->data.number;
		p->data.Class=cur2;
		p->data.zjlx=cur3;
		p->data.zjh=cur4;
		p->next=L->next;
		L->next=p;
		infile.get(cur1,50);
	}
}

LinkList SearchKehu1(LinkList L)	//查找函数.如果找到,则返回所找元素的前域.否则返回空指针
{
	LinkList p;
	LinkList q;
	p=L;
	q=p->next;
	newString cur1;	//姓名
	newString cur2;	//证件号码
	cout<<"请输入索要查找的客户的姓名:";	cin>>cur1;	cout<<endl;
	cout<<"证件号码:";		cin>>cur2;		cout<<endl;
	while(q)
	{
		if(cur1==q->data.name&&cur2==q->data.zjh)break;
		p=p->next;
		q=p->next;
	}
	if(q)return p;
	cout<<"请确认书如是否正确"<<endl;
	return NULL;
}

Status SearchKehu1(LinkList L,newString NAME,newString ZJH)		//按姓名、证件号查找.如果找到,则返回TRUE.否则返回FALSE
{
	LinkList p=L->next;
	while(p)
	{
		if(p->data.name==NAME&&p->data.zjh==ZJH)return OK;
		p=p->next;
	}
	return FALSE;
}

Status DeleteKehu1(LinkList &L)		//删除某个客户。如果成功,则返OK。否则返回FALSE
{
	LinkList p;
	p=SearchKehu1(L);
	if(!p)return FALSE;
	LinkList q;
	q=p->next;
	L->data.number-=q->data.number;
	p->next=q->next;
	delete(q);
	return OK;
}

void PrintKehu1(LinkList L)		//显示所有客户的信息
{
	LinkList p;
	p=L->next;
	cout<<"      姓名   |   订票量   |   航位等级   |   证件类型   |         证件号"<<endl;
	while(p)
	{
		cout<<"      "<<p->data.name<<"\t    "<<p->data.number<<"\t\t"<<p->data.Class<<"\t      "<<p->data.zjlx<<"\t     "<<p->data.zjh<<endl;
		p=p->next;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -