} {
}
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