火车订票管理系统Word文件下载.docx
- 文档编号:15210243
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:19
- 大小:18.98KB
火车订票管理系统Word文件下载.docx
《火车订票管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《火车订票管理系统Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
能恢复被删除的记录。
[8]统计:
(A)统计每天订票张数和总车票金额;
(B)统计单价在100元以下、100~400元之间和400元以上的票数总张数及总金额;
(C)以表格形式打印所有订票信息。
源代码:
#include<
iostream>
fstream>
string>
iomanip>
usingnamespacestd;
intd;
//用于选择(按1继续,按2退出,按他其他报错待完善)
intx=1;
//用于脱出while循环
stringsfz;
//身份证号码,用户输入可用到
classticket
{public:
stringID;
stringname;
stringSstation;
stringTstation;
floatprice;
stringseat;
stringtime;
ticket*next;
ticket(stringI,stringn,stringS,stringT,floatp,strings,stringt)
{ID=I;
name=n;
Sstation=S;
Tstation=T;
price=p;
seat=s;
time=t;
}
voiddisplay();
};
voidticket:
:
display()
{cout<
<
left;
cout<
"
|"
setw(18)<
ID<
setw(8)<
name<
Sstation<
Tstation<
setw(6)<
price<
seat<
setw(10)<
time<
endl;
}
voidmenu()
************欢迎使用************"
**请输入选项前的编号**"
**************************************************************"
*1.添加车票信息*"
*2.查询车票信息*"
*3.修改车票信息*"
*4.删除车票信息*"
*5.恢复车票信息*"
*6.显示车票信息*"
*7.统计车票信息*"
*8.保存车票信息*"
*9.读取车票信息*"
*0.离开*"
ticket*head=NULL,*del=NULL,*p0,*p1,*p2,*p3,*p4;
//head数据链表头指针,p0,p1,p2添加函数专用,避免发生错误
intcheck(stringb)//身份证号码作为功能基本辨别数据,应该有一个函数专门检查其是否重复,0表示重复,1表示不重复
{ticket*ch;
ch=head;
intche=1;
while(ch!
=NULL)
{if(ch->
ID==b){che=0;
ch=NULL;
else{ch=ch->
next;
}
returnche;
intcheck1(stringb)//sbl
ch=del;
intadd()//将订票数据保存在一个基础链表中
{system("
cls"
);
stringname,ID,Sstation,Tstation,seat,time;
if(head==NULL)//以下为链表为空的情况
{
=============开始输入订票信息============="
//*票价考虑报错
请输入订票人身份证号码:
;
cin>
>
ID;
请输入订票人姓名:
name;
请输入始发站:
Sstation;
请输入终点站:
Tstation;
请输入票价:
price;
请输入席别:
seat;
请输入订票时间(年月日以“-”隔开):
time;
head=p1=p2=newticket(ID,name,Sstation,Tstation,price,seat,time);
x=1;
while(x)
{system("
按1继续输入,按2退出-》"
d;
if(d==1)
p1->
next=NULL;
if(check(ID)==0){cout<
身份证号码重复!
system("
pause"
return0;
p1=newticket(ID,name,Sstation,Tstation,price,seat,time);
p2->
next=p1;
p2=p1;
elseif(d==2)
{p1->
x=0;
else{cout<
非法输入!
system("
}//以上为链表为空的情况
else//以下为链表已有数据,往末尾添加
{p3=head;
while(p3->
next!
{p3=p3->
p0=newticket(ID,name,Sstation,Tstation,price,seat,time);
p3->
next=p0;
p3=p0;
if(d==1){x=1;
p3->
elseif(d==2){p3->
x=0;
else
{cout<
}//以上为链表已有数据,往末尾添加
return1;
ticket*search1(stringa)//查询函数1,用于输入身份证号码返回一个指针,可在其他部分被使用
{ticket*cha1;
cha1=head;
{if(cha1==NULL){x=0;
elseif(cha1->
ID==a){x=0;
else{cha1=cha1->
returncha1;
ticket*search_1(stringa)//改查1后面都得改,嗯,就这样了(~ ̄▽ ̄)~
cha1=del;
ticket*search2(stringb)//查询函数2,返回所要查询结点的前一个结点的指针,在删除部分使用
{ticket*cha2,*cha3;
cha2=cha3=head;
{if(cha2->
next==NULL){x=0;
elseif(cha2->
ID==b){x=0;
else{cha3=cha2;
cha2=cha2->
returncha3;
ticket*search_2(stringb)//-_-
cha2=cha3=del;
ch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 火车 订票 管理 系统