}
}
}
{ }
throw string(\数据输入错误\
if( !find(&p,num,\
cout<<\找不到你要定票的车辆的内容!\return;
p=p->next;
if(!(p->GetTime())) { }
cout<<\输入要定的票数 \int n;cin>>n; if(!cin)
throw string(\数据输入错误\p->Order_tickt(n);
if((p->Get_tickted()+n)<=p->Get_all_tickted()) else cout<<\对不起,没有足够的票数。\
cout<<\你要订票的车辆已出发!\return;
判断要定票的车辆是否已经
出发,若已经出发则不允许定票
else if(X=='n'||X=='N') cout<<\谢谢使用\else cout<<\输入字符不确定\Bus_link::setkey(1);
else
cout<<\对不起,订购车票请在管理员处购买\
(8)车票的退定
按提示输入要退票的班次,定义一个指向链表第一个节点的指针p。如果指针创建成功,开始用while和if语句实现p指向的节点的班次与存在的班次比较。如果相同,判断是否出发,若已出发则输出信息提示不能退票,若没有出发,则输出车票信息。提示输入需要退票的数量;如果没有相同,提示没有所查询的车票。
void Bus_link::Unorder() {
if(password==1) {
17 }
}
Bus_infor *p;
cout<<\确定退票(yn)?\char X;cin>>X; if(X=='y'||X=='Y'){ }
else if(X=='n'||X=='N') cout<<\谢谢使用\else cout<<\输入字符不确定\Bus_link::setkey(1);
int num;
cout<<\输入班次号: \cin>>num; if(!cin) { }
if((p->GetTime())) { }
cout<<\输入要退的票数 \int n;cin>>n; if(!cin)
throw string(\数据输入错误\p=p->next;
if((p->Get_tickted()-n)>=0)
p->Unorder_tickt(n);
else cout<<\对不起,数据出错!。\
cout<<\你要退票的车辆已出发!\return;
判断要定票的车辆
cout<<\找不到你要退票的车辆的内容!\return;
throw string(\数据输入错误\if( !find(&p,num,\
是否已经出发,若已经出发则不允许定票
else
cout<<\对不起,退还车票请在管理员处退还\
(9)保存车票信息
18 将车票信息输出到文件保存。 void Bus_link::save() { }
if(password==1) {
Bus_infor *p;
p=\\t\\t对不起,游客无法保存车票信息\
三、 用户手册
输入的格式要求均有提示,而且输入错误的话会提示并要求重新输入,基本不需要说明。
四、 调试及测试
程序调试是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。编完计算机程序,必须送入计算机中测试。 原程序:
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)
throw string(\数据输入错误\ if( !find(&p,num,\ {
cout<<\找不到你要定票的车辆的内容!\ return; }
p=p->next;
19 if((p->GetTime())) 判断要定票的车辆是否已经出发,若已经出发则不允许定票 {
cout<<\你要订票的车辆已出发!\ return; }
cout<<\输入要定的票数 \ int n;cin>>n; if(!cin)
throw string(\数据输入错误\
if((p->Get_tickted()+n)<=p->Get_all_tickted()) p->Order_tickt(n);
else cout<<\对不起,没有足够的票数。\ }
else if(X=='n'||X=='N') cout<<\谢谢使用\ else cout<<\输入字符不确定\ Bus_link::setkey(1); } else
cout<<\对不起,订购车票请在管理员处购买\}
编译成功后开始运行,信息输出后,不能在程序中正确定购,经Debug调试,发现,if((p->GetTime()))中加一个!即可。 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)
throw string(\数据输入错误\ if( !find(&p,num,\ {
20