c++课程设计-车票管理系统方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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