已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include /数据流输入输出#include /文件输入输出#include /字符串操作#include /参数化输入输出#include /时间库函数#include /windows文件调节字体颜色和背景颜色using namespace std; /命名空间class train_inforprivate: static int train_No; /静态数据成员,统计当前所有的train_infor对象的数目char start20; /起点站char Halfway_one20; /站点一char Halfway_two20; /站点二char Halfway_three20; /站点三char end20; /终点站int train_order; /班次号int Hour_start,Minute_start; /发车时间float GoHour; /行车时间public:train_infor();train_infor();train_infor *next;void input(); /录入函数 void input(ifstream & is); /读取函数 void output(); /输出函数void output(ofstream & os); /写入函数void GetTime_start(); /获取发车时间函数bool GetTime(); /判断当前班次状况函数int Get_train_order() return train_order; /返回班次号string Get_end()const; /返回终点站的字符串;int train_infor:train_No=1;train_infor:train_infor() train_No+; train_infor:train_infor() train_No-;void train_infor:input() /车次信息输入coutttt按提示输入:endl;couttrain_order;if (cin.fail() /判断输入的数据类型是否有错cout n班次输入错误,请重新输入:;cin.clear(); /cin.clear()方法很重要,如果不调用,则cin异常不会终止,那么程序就进入了死循环cin.get(); /一般情况下,cin自动跳过输入的空格,如果你要把键盘上输入的每个字符 包括空格和回车键都作为一个输入字符给字符型变量时,必须使用函数cin.get()else break;GetTime_start();coutGoHour;if (cin.fail() /判断输入的数据类型是否有错cout n行车时间输入错误,请重新输入:;cin.clear();cin.get();else break;coutstart;coutHalfway_one;coutHalfway_two;coutHalfway_three;coutend;void train_infor:input(ifstream & is) istrain_orderHour_startMinute_startstartHalfway_oneHalfway_twoHalfway_threeendGoHour;is.get(); void train_infor:output()cout train_ordert;if(Minute_start=0) /判断发车时的分钟时刻,若为分则在后面多显示个,以符合时间格式coutHour_start: Minute_start0t;elsecoutHour_start: Minute_startt;coutstarttHalfway_onetHalfway_twotHalfway_threetendtGoHour; if(!GetTime()coutt 此班列车已出发endl;elsecoutt 此班列车未出发endl;void train_infor:output(ofstream & os) ossetw(6)train_order /setw()设置输出宽度setw(15)Hour_startsetw(15)Minute_startsetw(15)startsetw(6)endsetw(15)GoHourendl;void train_infor:GetTime_start()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;/带参数的构造函数train_link()delete head; /析构函数void input(); /录入列车信息void mend(); /修改列车信息void del(); /删除列车信息int find(train_infor *p,int num,char *pn); /查找函数 void found(); /查询列车信息void show(); /显示列车信息 void save(); /保存列车信息 void begin(); /初始化列车信息 void clear(); /清除函数void about(); /关于列车信息 char mainmenu(); /主菜单函数 void setkey(int k) key=k; /设置系统修改标志 int getkey() return key; /返回系统修改标志private: train_infor *head; /链表指针 int key; /系统修改标志int password; /管理员登陆标志; void train_link:input() /列车信息输入功能菜单控制if(password=1)train_infor *p,*p2=NULL;p=head; int n=1;/int n;while(p-next)p=p-next;while(n)p2=new train_infor;p2-input();p-next=p2;p2-next=NULL;p=p-next; train_link:setkey(1);coutn;if(!cin)throw string(数据输入错误);elsecoutntt对不起,游客不能录入车票信息endl;void train_link:show() /浏览列车信息cout列车基本信息如下:endl |班次 发车时间 起点站 终点站 行车时间 当前状况 |next)(p-next)-output();p=p-next;void train_link:found() /列车信息查询train_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,name)couttt找不到你要查找的车次,请确定输入信息是否正确!next)(*p1)=p;if( (p-next)-Get_train_order()=num| (p-next)-Get_end()=pn )cout列车基本信息如下:endl |班次 发车时间 起点站 终点站 行车时间 当前状况 |next)-output(); t=1;p=p-next;return t;void train_link:del() /列车信息删除if(password=1)train_infor *p,*p2;int num;char name20;coutnum;if(!cin)throw string(数据输入错误);if( !find(&p,num,name) )couttt对不起!找不到你要删除的内容,请确定输入信息是否正确!endl;return;couta;if(a=y|a=Y) p2=p-next;p-next=p2-next;delete p2;train_link:setkey(1);coutnttt信息已删除!;elsecoutnttt取消删除!;elsecoutntt对不起,游客不能删除车票信息endl;void train_link:mend() /列车信息修改if(password=1)train_infor *p;int num;char name20;coutnum;if(!cin)throw string(数据输入错误);if( !find(&p,num,name) )couttt对不起!找不到你要修改的内容,请确认输入信息是否正确!next)-input();train_link:setkey(1);elsecoutntt对不起,游客不能修改车票信息next)(p-next)-output(os);p=p-next;coutttt文件已保存! endl;train_link:setkey(0);elsecoutntt对不起,游客无法保存车票信息endl;void train_link:about()/列车时刻查询系统说明coutendl关于列车时刻查询系统endlendl;cout使用说明:endlt1.请按照操作提示输入正确的格式,以保证系统正常运行;endlt2.当使用管理员登陆时,需输入密码,可进行对系统的所有操作;endlt3.当使用游客身份登陆时,无需输入密码,但只能浏览和查询列车时刻信息;endlt4.车票信息用文本文档格式,文件名为train,保存在本程序文件夹目录下,可以直接打开查看.endlendl系统说明:endlt本系统为课程设计作品,可以简易的进行列车时刻查询,欢迎提出意见和建议endl t东华理工大学软件学院081103班 学号08110327 姓名:含家产t endlnum;is.seekg(t); /移动到原来位置if(numinput(is); /输入is对象内容p-next=p2;p2-next=NULL;p=p-next;void train_link:clear()train_infor *p,*p2;p=head-next;while( p )p2=p;p=p-next;delete p2;char train_link: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;cout endl endl 1. 录入列车信息 2. 浏览列车信息 endl 3. 查询列车信息 4. 删除列车信息 endl 5. 修改列车信息 6. 保存列车信息 endl 7. 关于列车时刻查询系统 0. 退出系统 endl endl endlttttt s1endlendl;while(password=0) /身份验证选择管理员或者游客,游客只能查看无其他功能coutn;if(!cin)throw string(数据输入错误);if(n=1)coutm;if(m=123)password=1;coutendl;break;elsecoutntt密码输入不正确nendl;elseif(n=2)password=2;/游客身份标志break;elsecoutntt请重新选择nendl;couts;if(s.length()!=1|s09) /s.length()返回字符串的长度,即字符个数cout输入错误,请重新选择功能按钮: ;elsebreak;return s0;int main()SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|BACKGROUND_BLUE); / 调用windows系统文件改变字体颜色和背景颜色 train_link pp;int k=1;string s;pp.begin();try while(k=1) system(cls); s=pp.mainmenu(); /调用主菜单函数 switch(s0) case 1:pp.input(); break; /录入列车信息 case 2:pp.show(); break; /浏览列车信息 case 3:pp.found(); break; /查询列车信息 case 4:pp.del(); break; /删除列车信息 case 5:pp.mend(); break; /修改列车信息 case 6:pp.save();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部编版五年级语文阅读理解专题练习(附答案)
- 数学小升初下册数学-期末试卷测试卷(含答案解析)
- 高二化学同分异构体专项训练单元达标质量专项训练试题
- 肝病与妊娠临床实践指南2026
- 吉林正规仓储服务合同
- 江苏省扬州市小学二年级上学期数学期中检测卷
- 广西壮族自治区东兴市三年级下学期语文含数字的成语积累
- 钢结构维修维护合同
- 2025年Q3家庭保洁营销方案制定及执行落地工作总结
- 机场灯光分包合同
- 2025年(初级)工商管理考试试卷(含五套)含答案
- 2025年超星尔雅学习通《环境地理学》考试备考题库及答案解析
- 2025年呼和浩特铁路局集团招聘备考题库(406人)附答案
- 护理人员分层次培训
- 2025至2030中国多肽类药物行业项目调研及市场前景预测评估报告
- 心血管内科心梗急救培训要点
- 公家车安全行车培训课件
- 2025能源管理体系建设指导材料之22:9绩效评价-9.1能源绩效和能源管理体系的监视、测量、分析和评价(编制-2025A0)
- 柴油供货协议合同范本
- 网约车安全生产管理制度内容
- 浙江省“9+1”高中联盟2025-2026学年高三上学期11月期中考试政治试题(含答案)
评论
0/150
提交评论