c++-长途客运车票管理系统_第1页
c++-长途客运车票管理系统_第2页
c++-长途客运车票管理系统_第3页
c++-长途客运车票管理系统_第4页
c++-长途客运车票管理系统_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include /数据流输入输出#include/文件输入输出#include/字符串操作#include/参数化输入输出#include/时间库函数using namespace std;/命名空间class Bus_inforprivate: static int Bus_No;/静态数据成员,统计当前所有的Bus_infor对象的数目char start20;/起点站char end20;/终点站int Bus_order;/班次号 int all_tickted;/额定载量int tickted;/已定票人数int Hour_start,Minute_start;/发车时间float

2、 GoHour;/行车时间public:Bus_infor();Bus_infor();Bus_infor *next;void input();/录入函数 void input(ifstream & is);/读取函数 void output();/输出函数void output(ofstream & os);/写入函数void Order_tickt(int n);/定票函数void Unorder_tickt(int n);/退票函数void GetTime_start();/获取发车时间函数bool GetTime();/判断当前班次状况函数int Get_all_tickted()

3、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()coutttt按提示输入:endl;coutBus_order;

4、if (cin.fail()/判断输入的数据类型是否有错cout n班次输入错误,请重新输入:;cin.clear();cin.get();else break;coutall_tickted;if (cin.fail()/判断输入的数据类型是否有错cout n座位数输入错误,请重新输入:;cin.clear();cin.get();else break;GetTime_start();coutGoHour;if (cin.fail()/判断输入的数据类型是否有错cout n行车时间输入错误,请重新输入:;cin.clear();cin.get();else break;coutstart;c

5、inend;couta;if(a=y|a=Y) tickted=0;void Bus_infor:input(ifstream & is) isBus_orderHour_startMinute_startstartendGoHourall_ticktedtickted;is.get(); void Bus_infor:output()cout Bus_ordert;if(Minute_start=0)/判断发车时的分钟时刻,若为分则在后面多显示个,以符合时间格式coutHour_start: Minute_start0t;elsecoutHour_start: Minute_startt;c

6、outstarttend tGoHourt all_ticktedt tickted; if(!GetTime()coutt 此班已出发endl;elsecoutt 此班未出发endl;void Bus_infor:output(ofstream & os) ossetw(6)Bus_order/setw()设置输出宽度setw(15)Hour_startsetw(15)Minute_startsetw(15)startsetw(6)endsetw(15)GoHoursetw(15)all_ticktedsetw(15)ticktedendl;void Bus_infor:GetTime_st

7、art()coutHour_startMinute_start;if (cin.fail()/判断输入的数据类型是否有错cout n时间输入错误,请重新输入:;cin.clear();cin.get();else if(Hour_start24|Minute_start60)couttm_hourtm_hour=Hour_start & local-tm_minnext=NULL;key=0;/带参数的构造函数Bus_link()delete head;/析构函数void input();/录入车票信息void mend();/修改车票信息void del();/删除车票信息int find(

8、Bus_infor *p,int num,char *pn);/查找函数 void found();/查询车票信息void show();/显示车票信息 void Order();/定购车票信息 void Unorder();/退还车票信息 void save();/保存车票信息 void begin();/初始化车票信息 void clear();/清除函数void about();/关于车票信息 char mainmenu();/主菜单函数 void setkey(int k) key=k; /设置系统修改标志 int getkey() return key;/返回系统修改标志privat

9、e: Bus_infor *head; /链表指针 int key;/系统修改标志int password;/管理员登陆标志;void Bus_link:input()if(password=1)Bus_infor *p,*p2=NULL;p=head; int n=1; /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);coutn;if(!cin)throw string(数据输入错误);elsecoutntt

10、对不起,游客不能录入车票信息endl;void Bus_link:show()cout客车基本信息如下:endl 班次发车时间 起点站 终点站 行车时间额定载量已定票人数当前状况next)(p-next)-output();p=p-next;void Bus_link:found()Bus_infor *p;int num,n;char name20;docoutn;if(!cin)throw string(数据输入错误);while(n2);if(n=1)coutnum;if(!cin)throw string(数据输入错误);if(n=2)coutname;if(!find(&p,num,

11、name)couttt找不到你要查找的内容!next)(*p1)=p;if( (p-next)-Get_bus_order()=num| (p-next)-Get_end()=pn )cout客车基本信息如下:endl 班次发车时间 起点站 终点站 行车时间额定载量已定票人数当前状况next)-output(); t=1;p=p-next;return t;void Bus_link:del()if(password=1)Bus_infor *p,*p2;int num;char name20;coutnum;if(!cin)throw string(数据输入错误);if( !find(&p,

12、num,name) )couttt找不到你要删除的内容!endl;return;couta;if(a=y|a=Y) p2=p-next;p-next=p2-next;delete p2;Bus_link:setkey(1);elsecoutntt对不起,游客不能删除车票信息endl;void Bus_link:mend()if(password=1)Bus_infor *p;int num;char name20;coutnum;if(!cin)throw string(数据输入错误);if( !find(&p,num,name) )couttt找不到你要修改的内容!next)-input()

13、;Bus_link:setkey(1);elsecoutntt对不起,游客不能修改车票信息endl;void Bus_link:Order()if(password=1)Bus_infor *p;coutX;if(X=y|X=Y)int num;coutnum;if(!cin)throw string(数据输入错误);if( !find(&p,num,) )coutntt找不到你要定票的车辆的内容!next;if(!(p-GetTime()/判断要定票的车辆是否已经出发,若已经出发则不允许定票coutntt你要订票的车辆已出发!endl;return;coutn;if(!cin)throw s

14、tring(数据输入错误);if(p-Get_tickted()+n)Get_all_tickted()p-Order_tickt(n);else coutntt对不起,没有足够的票数。endl;else if(X=n|X=N) cout谢谢使用endl;else coutnttt输入字符不确定endl;Bus_link:setkey(1);elsecoutntt对不起,订购车票请在管理员处购买endl;void Bus_link:Unorder()if(password=1)Bus_infor *p;coutX;if(X=y|X=Y)int num;coutnum;if(!cin)throw

15、 string(数据输入错误);if( !find(&p,num,) )coutntt找不到你要退票的车辆的内容!GetTime()/判断要定票的车辆是否已经出发,若已经出发则不允许定票coutntt你要退票的车辆已出发!endl;return;coutn;if(!cin)throw string(数据输入错误);p=p-next;if(p-Get_tickted()-n)=0)p-Unorder_tickt(n);else coutnttt对不起,数据出错!。endl;else if(X=n|X=N) cout谢谢使用endl;else coutnttt输入字符不确定endl;Bus_lin

16、k:setkey(1);elsecoutntt对不起,退还车票请在管理员处退还next)(p-next)-output(os);p=p-next;coutttt文件已保存! endl;Bus_link:setkey(0);elsecoutntt对不起,游客无法保存车票信息endl;void Bus_link:about()coutendl关于车票管理系统endl*endl;cout使用说明:endlt1.请按照操作提示输入正确的格式,以保证系统正常运行;endlt2.当使用管理员登陆时,需输入密码,可进行对系统的所有操作;endlt3.当使用游客身份登陆时,无需输入密码,但只能浏览和查询车票信

17、息;endlt4.车票信息用文本文档格式,保存在本程序文件夹目录下,可以直接打开查看.endlendl系统说明:endlt本系统为课程设计作品,可以简易的进行车票管理,欢迎提出意见和建议endl t内蒙古科技大学软件专业14届学生设计t endlnum;is.seekg(t);/移动到原来位置if(numinput(is);/输入is对象内容p-next=p2;p2-next=NULL;p=p-next;void Bus_link:clear()Bus_infor *p,*p2;p=head-next;while( p )p2=p;p=p-next;delete p2;char Bus_lin

18、k:mainmenu()struct tm *local; char s1128;time_t t;t=time(NULL);local=localtime(&t);strftime(s1,128,%Y-%m-%d %H:%M ,local);/按照指定的格式,把时间保存在s1字符串里面string s;/定义字符串s,来判断功能选择是否输入错误coutnn 欢迎使用车票管理系统endlendl;cout1. 录入车票信息nendl; cout2. 浏览车票信息nendl;cout3. 查询车票信息nendl; cout4. 删除车票信息nendl;cout5. 修改车票信息nendl; co

19、ut6. 定购车票信息nendl;cout7. 退还车票信息nendl; cout8. 保存车票信息nendl;cout9. 关于车票系统nendl;cout0. 退出系统 nendl;couttttt s1endlendl;while(password=0)coutn;if(!cin)throw string(数据输入错误);if(n=1)coutm;if(m=)password=1;coutendl;break;elsecoutntt密码输入不正确nendl;elsepassword=2;/游客身份标志break;couts;if(s.length()!=1|s09) /s.length()返回字符串的长度,即字符个数cout输入错误,请重新选择功能按钮: ;elsebreak;return s0;int main()Bu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论