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

{

ofstream os(\ 文件以输出方式打开 os.close(); 关闭文件 return ; }

int num=-1; while(1) {

num=-1;

t=is.tellg(); 记录下当前位置 is>>num;

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

(2)信息的添加

车票信息的录入,创建Bus_infor类和Bus_link对象,调用构造函数,输入车票的班次、额定座位数、始发时间、行车时间、起始站与终点站、,通过input函数实现。

void Bus_link::input() {

if(password==1) {

Bus_infor *p,*p2=NULL; p==1; int n; while(p->next)

p=p->next; while(n)

9 }

}

{ }

p2=new Bus_infor; p2->input(); p->next=p2; p2->next=NULL;

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

cout<<\按1继续,按0返回: \cin>>n; if(!cin)

throw string(\数据输入错误\

else

cout<<\对不起,游客不能录入车票信息\

void Bus_infor::GetTime_start() { 错

{

cout << \时间输入错误,请重新输入:\cin.clear(); cin.get();

cout<<\请输入始发时间(时分):\while(1) {

判断输入的数据类型是否有

cin>>Hour_start>>Minute_start; if (cin.fail())

}

else

cout<<\时间格式出错,请重新输入:\判断时间格式是否出错,

if(Hour_start<0||Hour_start>24||Minute_start<0||Minute_start>60)

小时不能小于大于24,分钟不能小于大于60

else

break;

10 }

}

void Bus_infor::input() Bus_infor类中成员函数input的函数体

{ 数据

}

GetTime_start();

cout<<\请输入行车时间:\ while(1) {

11 cout<<\按提示输入:\

cout<<\输入班次: \while(1) { }

cout<<\请输入车的额定座位数: \while(1) {

cin>>all_tickted; if (cin.fail()) { } else

break;

cout << \座位数输入错误,请重新输入:\cin.clear(); cin.get();

判断输入的数据类型是否有

cin>>Bus_order; if (cin.fail()) { } else

break;

cout << \班次输入错误,请重新输入:\

cin.clear(); 清除刚才输入的cin.get();

重新输入

判断输入的数据类型是否有错

}

}

cin>>GoHour; if (cin.fail()) { } else

break;

cout << \行车时间输入错误,请重新输入:\cin.clear(); cin.get();

判断输入的数据类型是否有

cout<<\请输入起始站与终点站:\

cout<<\是否清空售票(yn)?\char a;cin>>a;

if(a=='y'||a=='Y') tickted=0;

cin>>start;cin>>end;

(3)信息的浏览

浏览客房信息,如果之前有文件信息,则直接输出,如果没有则需录入后才能输出。所以,先得有一个读取函数begin,再有一个浏览函数show。

void Bus_link::begin() {

password=0;

Bus_infor *p,*p2;

p=); 文件以输入方式打开 if(!is) {

ofstream os(\ 文件以输出方式打开 os.close(); 关闭文件 return ; }

int num=-1; while(1) {

num=-1;

t=is.tellg(); 记录下当前位置 is>>num;

12