车票管理系统毕业课程设计报告 下载本文

} {

}

is.seekg(t); 移动到原来位置 if(num<0) {

is.close(); return; }

p2=new Bus_infor;

p2->input(is); 输入is对象内容 p->next=p2; p2->next=NULL; p=p->next;

void Bus_link::show()

cout<<\

<<\客车基本信息如下:\

**********************\

<<\

<<\班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人

******************\数 当前状况\

<<\ Bus_infor *p; p=)

******************\

{

Bus_infor *p; p= )

{

cout<<\客车基本信息如下:\

<<\班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数 当前状况\

(p->next)->output(); t=1;

13 } p=p->next; }

return t; }

void Bus_link::mend() {

if(password==1) {

Bus_infor *p; int num;

char name[20];

cout<<\输入班次号: \ cin>>num; if(!cin)

throw string(\数据输入错误\ if( !find(&p,num,name) ) {

cout<<\找不到你要修改的内容!\ return; }

(p->next)->input(); Bus_link::setkey(1); } else

cout<<\对不起,游客不能修改车票信息\}

(5)信息的查询

按提示输入要查询的班次或者终点站,定义一个指向链表第一个节点的指针p。如果指针创建成功,开始用while和if语句实现p指向的节点的班次与存在的班次比较。如果相同,则输出车票的各个信息;如果没有相同,提示没有所查询的车票。

void Bus_link::found() {

Bus_infor *p; int num,n; char name[20]; do

14 }

{

cout<<\按班次查找,2:按终点站查找: \cin>>n; if(!cin)

throw string(\数据输入错误\

}while(n<1||n>2); if(n==1) { } if(n==2) { }

if(!find(&p,num,name)) { }

cout<<\找不到你要查找的内容!\return;

cout<<\输入终点站: \cin>>name;

cout<<\输入班次: \cin>>num; if(!cin)

throw string(\数据输入错误\

(6)信息的删除

按提示输入要删除的班次,定义一个指向链表第一个节点的指针p。如果指针创建成功,开始用while和if语句实现p指向的节点的班次与存在的班次比较。如果相同,输出车票的各个信息并提示是否确定删除;如果没有相同,提示没有所查询的车票。

void Bus_link::del() {

if(password==1) {

Bus_infor *p,*p2; int num;char name[20]; cout<<\输入班次号: \cin>>num;

15 }

}

if(!cin) { }

cout<<\找不到你要删除的内容!\return;

throw string(\数据输入错误\

if( !find(&p,num,name) )

cout<<\确定删除(yn)?\char a;cin>>a; if(a=='y'||a=='Y') { }

p2=p->next; p->next=p2->next; delete p2; Bus_link::setkey(1);

else

cout<<\对不起,游客不能删除车票信息\

(7)车票的定购

按提示输入要定票的班次,定义一个指向链表第一个节点的指针p。如果指针创建成功,开始用while和if语句实现p指向的节点的班次与存在的班次比较。如果相同,判断是否出发,若已出发则输出信息提示不能订票,若没有出发,则输出车票信息。提示输入需要定购车票的数量;如果没有相同,提示没有所查询的车票。

void Bus_link::Order() {

if(password==1) {

Bus_infor *p;

cout<<\确定购票(yn)?\char X;cin>>X; if(X=='y'||X=='Y'){

int num;

cout<<\输入班次号: \cin>>num; if(!cin)

16