📄 kehu1.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 + -