c++课程设计-车票管理系统方案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

void Bus_link::input()

{

Bus_infor *p,*p2=NULL;

p=head;

int n;

while(p->next)

p=p->next;

while(n)

{

p2=new Bus_infor;

p2->input();

p->next=p2;

p2->next=NULL;

p=p->next;

Bus_link::setkey(1);

cout<<"\t\t\t按1继续,按0返回:";

cin>>n;

}

}

#include//数据流输入/输出

#include//文件输入/输出

#include//字符串操作

#include//参数化输入/输出

#include//时间库函数

using namespace std; //命名空间

class Bus_infor

{

private:

static int Bus_No; //静态数据成员,统计当前所有的Bus_infor对象的数目char start[20]; //起点站

char end[20]; //终点站

int Bus_order; //班次号

int all_tickted; //额定载量

int tickted; //已定票人数

int Hour_start,Minute_start; //发车时间

float GoHour; //行车时间

public:

Bus_infor();

~Bus_infor();

Bus_infor *next;

void input(); //录入函数

void input(ifstream & is); //读取函数

void output(ofstream & os); //写入函数

void Order_tickt(int n); //定票函数

void Unorder_tickt(int n); //退票函数

void GetTime_start(); //获取发车时间函数

bool GetTime(); //判断当前班次状况函数

int Get_all_tickted() { return all_tickted; } //联函数,返回额定载量int Get_tickted() { return tickted; } //返回已定票人数

int Get_bus_order() { return Bus_order; } //返回班次号

string Get_end()const; //返回终点站的字符串

};

int Bus_infor::Bus_No=1;

Bus_infor::Bus_infor()

{

Bus_No++;

tickted=0;

}

Bus_infor::~Bus_infor()

{

Bus_No--;

}

void Bus_infor::input()

{

cout<<"\t\t\t按提示输入:"<

cout<<"输入班次: ";

while(1)

{

cin>>Bus_order;

if (cin.fail()) //判断输入的数据类型是否有错

{

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

cin.clear();

cin.get();

}

else

break;

}

cout<<"请输入车的额定座位数: ";

while(1)

{

cin>>all_tickted;

if (cin.fail()) //判断输入的数据类型是否有错

{

cout << "\n座位数输入错误,请重新输入:";

cin.clear();

cin.get();

else

break;

}

GetTime_start();

cout<<"请输入行车时间:";

while(1)

{

cin>>GoHour;

if (cin.fail()) //判断输入的数据类型是否有错

{

cout << "\n行车时间输入错误,请重新输入:";

cin.clear();

cin.get();

}

else

break;

}

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

cin>>start;cin>>end;

cout<<"是否清空售票(y/n)?";

char a;cin>>a;

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

}

void Bus_infor::input(ifstream & is)

{

is>>Bus_order>>Hour_start>>Minute_start>>start>>end>>GoHour>>all_tickted>>tickte d;

is.get();

}

void Bus_infor::output()

{

cout<<" "<

if(Minute_start==0) //判断发车时的分钟时刻,若为分则在后面多显示个,以符合时间格式

{

cout<

}

else

{

cout<

}

cout<

if(!GetTime())

cout<<"\t 此班已出发"<

else

相关文档
最新文档