版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上注:这个是我同学的C+课程设计,车票管理系统。存储为文件操作,满足于大学课程设计#include<iostream>#include<fstream>#include<string>#include<windows.h>#include <ctime>#include <iomanip>using namespace std;class timeprotected:int hour;int minute;public:time()hour=0;minute=0;void sethour(int b
2、6)hour=b6;void setminute(int b7)minute=b7;int gethour()return hour;int getmin()return minute;class train:public timestring num;string starshop;string comshop;string time2;int stanum;int peponum;public:train():time() num="无"starshop="无"comshop="无"time2="无" stan
3、um=0;peponum=0;void settrain(string a,int b,int h,string c,string d,string e,int f) num=a; hour=b;minute=h; starshop=c; comshop=d; time2=e; stanum=f;peponum=0;string getnum()return num;string getstarshop()return starshop;string getcomshop()return comshop;string gettime2()return time2;int getstanum()
4、return stanum;int getpeponum()return peponum;void setpeponum(int a)peponum+=a;void setpeponum1(int a)peponum-=a;void setnum(string b1)num=b1;void setstarshop(string b2)starshop=b2;void setcomshop(string b3)comshop=b3;void settime2(string b4)time2=b4;void setstanum(int b5)stanum=b5;void write(ofstrea
5、m& out)out<<num<<" "out<<hour<<" "out<<minute<<" "out<<starshop<<" "out<<comshop<<" "out<<time2<<" "out<<stanum<<" "out<<peponum<<
6、" "out<<endl;return;void read(ifstream& in)in>>num;in>>hour;in>>minute;in>>starshop; in>>comshop; in>>time2; in>>stanum;in>>peponum;return;void print() for(int i=0;i<80;i+)cout<<"="cout<<"班次:"<&
7、lt;num<<" "cout<<"发车时间:"<<hour<<":"<<minute<<" "cout<<"出发站:"<<starshop<<" "<<"终点站:"<<comshop<<" "cout<<"行车时间:"<<time2<<&
8、quot;"<<endl;for(i=0;i<80;i+)cout<<"-"cout<<"额定载量:"<<stanum<<" "cout<<"已定票人数:"<<peponum<<" "class functionprivate:static int m;public:int input();int addinput();int look1();void setop1(int);int
9、cccx();int zdzcx();int buy1();int buy2();void sonbuy(train& p,int b1);int back();int save(train*);void ZT(train& p,int);int getm()return m;void read1(ifstream& in)in>>m;int function:m=0;void function:setop1(int a)m+=a;int function:input()train *op1;int n1,ho,i,mi;cout<<"
10、请输入要录入的班次数目:"cin>>m; string a,c,d,e;op1=new trainm;for(i=0;i<m;i+)cout<<"请输入班次:"cin>>a;cout<<"请输入出发时间:"<<endl;cout<<"输入时:"for(;)cin>>ho;if(ho<24&&ho>=0)break;else cout<<"输入错误,请重输入"<<en
11、dl<<"输入时:"cout<<"输入分:"for(;)cin>>mi;if(mi<60&&mi>=0)break;else cout<<"输入错误,请重输入"<<endl<<"输入分:"cout<<"请输入起始站:"cin>>c;cout<<"请输入终点站:"cin>>d;cout<<"请输入行车时间:(例
12、:12小时23分)"cin>>e;cout<<"请输入额定载量:"cin>>n1;op1i.settrain(a,ho,mi,c,d,e,n1);op1i.setpeponum(0); ofstream f1("g:c文件班次信息单.txt",ios:out);if(!f1)cout<<"文件打开失败。"exit(1);for(i=0;i<m;i+) op1i.write(f1);f1.close();ofstream f2("g:c文件班次总数.txt&quo
13、t;,ios:out); if(!f2)cout<<"文件打开失败。"exit(1);f2<<m;f2.close();delete op1;return 0;int function:addinput()train *op1;int n,n1,ho,mi,i;ifstream f1("g:c文件班次总数.txt",ios:in); if(!f1)cout<<"系统无储存信息,进入新录入选项。"<<endl;system("pause"); elseread1(f1)
14、;f1.close();cout<<"请输入要录入的班次数目:"cin>>n; setop1(n);string a,c,d,e;op1=new trainn;for(i=0;i<n;i+)cout<<"请输入班次:"cin>>a;cout<<"请输入出发时间:"<<endl; cout<<"输入时:"for(;)cin>>ho;if(ho<24&&ho>=0)break;else co
15、ut<<"输入错误,请重输入"<<endl<<"输入时:"cout<<"输入分:"for(;)cin>>mi;if(mi<60&&mi>=0)break;else cout<<"输入错误,请重输入"<<endl<<"输入分:"cout<<"请输入起始站:"cin>>c;cout<<"请输入终点站:"
16、cin>>d;cout<<"请输入行车时间:(例:12小时23分)"cin>>e;cout<<"请输入额定载量:"cin>>n1;op1i.settrain(a,ho,mi,c,d,e,n1);op1i.setpeponum(0); ofstream f2; f2.open("g:c文件班次信息单.txt",ios:app); if(!f2)cout<<"文件打开失败。"exit(1); for(i=0;i<n;i+)op1i.write
17、(f2);f2.close(); ofstream f3("g:c文件班次总数.txt",ios:out); if(!f3)cout<<"文件打开失败。"exit(1);f3<<m;f3.close();delete op1; return 0;int function:look1()time_t t = time(NULL); tm* pt = localtime(&t);train *op1;ifstream f1("g:c文件班次总数.txt",ios:in); if(!f1)cout<&l
18、t;"文件打开失败。"exit(1);read1(f1);f1.close();op1=new trainm;ifstream f2("g:c文件班次信息单.txt",ios:in);if(!f2)cout<<"文件打开失败。"exit(1);for(int i=0;i<m;i+)op1i.read(f2);if(f2.fail()!=0)break;f2.close();int b;b=pt->tm_hour*60+pt->tm_min;for(i=0;i<m;i+)ZT(op1i,b);dele
19、te op1;return 0;void function:ZT(train& p,int b1)int a;a=p.gethour()*60+p.getmin();if(a<=b1)p.print();cout<<"已发车 "<<endl;for(int i=0;i<80;i+)cout<<"="cout<<endl;elseif(b1<=(a-30)p.print();cout<<"未发车 "<<endl;for(int i=0;i&
20、lt;80;i+)cout<<"="cout<<endl;elsep.print();cout<<"正在检票 "<<endl;for(int i=0;i<80;i+)cout<<"="cout<<endl;int function:cccx()time_t t = time(NULL); tm* pt = localtime(&t); train *op1;ifstream f1("g:c文件班次总数.txt",ios:in);
21、if(!f1)cout<<"文件打开失败。"exit(1);read1(f1);f1.close();op1=new trainm;ifstream f2("g:c文件班次信息单.txt",ios:in);if(!f2)cout<<"文件打开失败。"exit(1);for(int i=0;i<m;i+)op1i.read(f2);if(f2.fail()!=0)break;f2.close(); string name;cout<<"请输入要查询的车次:"cin>&g
22、t;name;int b;b=pt->tm_hour*60+pt->tm_min;for(i=0;i<m;i+)if(op1i.getnum()=name)ZT(op1i,b);break;if(i>=m)cout<<"所查询车次不存在!"<<endl; cout<<"检索完毕."<<endl; delete op1;return 0;int function:zdzcx()time_t t = time(NULL); tm* pt = localtime(&t);train
23、 *op1;ifstream f1("g:c文件班次总数.txt",ios:in); if(!f1)cout<<"文件打开失败。"exit(1);read1(f1);f1.close();op1=new trainm;ifstream f2("g:c文件班次信息单.txt",ios:in);if(!f2)cout<<"文件打开失败。"exit(1);for(int i=0;i<m;i+)op1i.read(f2);if(f2.fail()!=0)break;f2.close(); st
24、ring name;cout<<"请输入所查询的终点站:"cin>>name;int b,sum=0;b=pt->tm_hour*60+pt->tm_min; for(i=0;i<m;i+)if(op1i.getcomshop()=name)ZT(op1i,b);sum+;if(i>=m)cout<<"已检索到"<<sum<<"个结果" cout<<"n检索完毕."<<endl;delete op1;retu
25、rn 0;int function:buy1()time_t t = time(NULL); tm* pt = localtime(&t);train *op1;ifstream f1("g:c文件班次总数.txt",ios:in); if(!f1)cout<<"文件打开失败。"exit(1);read1(f1);f1.close();op1=new trainm;ifstream f2("g:c文件班次信息单.txt",ios:in);if(!f2)cout<<"文件打开失败。"e
26、xit(1);for(int i=0;i<m;i+)op1i.read(f2);if(f2.fail()!=0)break;f2.close();string name;cout<<"请输入车次:"cin>>name;int b;b=pt->tm_hour*60+pt->tm_min; jj:for(i=0;i<m;i+) if(op1i.getnum()=name) sonbuy(op1i,b);break; if(i>=m)int a1; cout<<"所输入的车次不存在。"<&
27、lt;endl;cout<<"请选择:1.重新输入 2.返回"cin>>a1;if(a1=1) cout<<"请重新输入车次:"cin>>name; goto jj;save(op1);delete op1;return 0;void function:sonbuy(train& p,int b1)int a;a=p.gethour()*60+p.getmin();if(b1>a-30)cout<<" 已停止售票。"<<endl; elseif(p.
28、getpeponum()>=p.getstanum()cout<<" 票已售完"<<endl;elseint k,a1,a2;a2=p.getstanum()-p.getpeponum();cout<<"有票,确定购买(所剩票数:"<<a2<<")(1.是,2.否)"<<endl;cout<<"请选择:"cin>>k;switch(k)case 1:for(;) cout<<"请输入所购票数:
29、"cin>>a1; if(a1>a2) cout<<"输入错误,超余额上限"<<endl; else p.setpeponum(a1); cout<<"购票完成。"<<endl; break; ;break;default:break;int function:save(train* p)ofstream f1("g:c文件班次信息单.txt",ios:out);if(!f1)cout<<"文件打开失败。"exit(1);for
30、(int i=0;i<m;i+) pi.write(f1);f1.close();return 0;int function:buy2()time_t t = time(NULL); tm* pt = localtime(&t);train *op1;ifstream f1("g:c文件班次总数.txt",ios:in); if(!f1)cout<<"文件打开失败。"exit(1);read1(f1);f1.close();op1=new trainm;ifstream f2("g:c文件班次信息单.txt"
31、,ios:in);if(!f2)cout<<"文件打开失败。"exit(1);for(int i=0;i<m;i+)op1i.read(f2);if(f2.fail()!=0)break;f2.close();string name1,name2;cout<<"请输入:"<<endl;cout<<"起始地:"cin>>name1;cout<<"终止地:"cin>>name2;int b,sum=0;b=pt->tm_ho
32、ur*60+pt->tm_min;for(i=0;i<m;i+)if(op1i.getstarshop()=name1)if(op1i.getcomshop()=name2)ZT(op1i,b);sum+;if(sum!=0)string name;int h;top:cout<<"是否购买:(1.是,2.否)"<<endl;cin>>h;if(h=1)cout<<"请输入车次:"cin>>name; jj:for(i=0;i<m;i+) if(op1i.getnum()=na
33、me) sonbuy(op1i,b);break; if(i>=m)int a3; cout<<"所输入的车次不存在。"<<endl; cout<<"请选择:1.重新输入 2.返回"cin>>a3;if(a3=1) cout<<"请重新输入车次:"cin>>name; goto jj;elseif(h=2)elsecout<<"输入错误,请重新输入:"goto top;elseint sum1=0;cout<<&q
34、uot;系统未查询到该车次"<<endl;cout<<"可能的结果是:"<<endl;for(i=0;i<m;i+)if(op1i.getstarshop()=name1)ZT(op1i,b);sum1+;if(sum1!=0)string name; int h; tt:cout<<"是否购买:(1.是,2.否)"<<endl;cin>>h; if(h=1) cout<<"请输入车次:"cin>>name; jj1:for
35、(i=0;i<m;i+) if(op1i.getnum()=name) sonbuy(op1i,b);break; if(i>=m) int a2; cout<<"所输入的车次不存在。"<<endl;cout<<"请选择:1.重新输入 2.返回"cin>>a2;if(a2=1) cout<<"请重新输入车次:"cin>>name; goto jj1; else if(h=2) else cout<<"输入错误,请重新输入:&quo
36、t; goto tt;elseint sum2=0;for(i=0;i<m;i+) if(op1i.getcomshop()=name2)ZT(op1i,b);sum2+;if(sum2!=0)string name; int h; tt1:cout<<"是否购买:(1.是,2.否)"<<endl;cin>>h; if(h=1) cout<<"请输入车次:"cin>>name; jj2:for(i=0;i<m;i+) if(op1i.getnum()=name) sonbuy(op1
37、i,b);break; if(i>=m)int a1; cout<<"所输入的车次不存在。"<<endl;cout<<"请选择:1.重新输入 2.返回"cin>>a1;if(a1=1) cout<<"请重新输入车次:"cin>>name; goto jj2; else if(h=2) else cout<<"输入错误,请重新输入:" goto tt1;elsecout<<"不存在"<<
38、;endl;save(op1);delete op1;return 0;int function:back()train *op1;ifstream f1("g:c文件班次总数.txt",ios:in); if(!f1)cout<<"文件打开失败。"exit(1);read1(f1);f1.close();op1=new trainm;ifstream f2("g:c文件班次信息单.txt",ios:in);if(!f2)cout<<"文件打开失败。"exit(1);for(int i=0;
39、i<m;i+)op1i.read(f2);if(f2.fail()!=0)break;f2.close();string name1;cout<<"请输入所退票的车次:"cin>>name1;int sum2=0;for(i=0;i<m;i+)if(op1i.getnum()=name1)int a1;cout<<"目前已订票的人数:"<<op1i.getpeponum()<<endl; cc:cout<<"请输入所退票数:"cin>>a1
40、;if(op1i.getpeponum()<a1)cout<<"输入错误,超已订票人数上限。"<<endl;goto cc;elseop1i.setpeponum1(a1); cout<<"退票成功。"<<endl;sum2+;if(sum2=0)cout<<"你输入的车次不存在!"<<endl;save(op1);delete op1;return 0;class jiemian:public functionpublic:void luru();void
41、 chaxun();void buy();void jiemian:luru() doint i;int k;cout<<"n>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<endl; cout<<" 1).新录入。" cout<<"n 2).追加录入。" cout<<"n 3). 返回
42、主菜单。"cout<<"n >>>>>>>>>>>>>>>>>>>>>>>>>>>>" cout<<"n请选择:" cin>>i; system("cls"); switch(i) case 1:input();cout<<"录入完毕."<<endl;docout<<&
43、quot;请选择:1.返回上一层 2.返回主菜单 "cin>>k;system("cls"); switch(k) case 1:break; case 2:i=3;break; default:break;if(k=1|k=2)break;while(1);break; case 2:addinput();cout<<"录入完毕."<<endl;docout<<"请选择:1.返回上一层 2.返回主菜单 "cin>>k;system("cls")
44、; switch(k) case 1:break; case 2:i=3;break; default:break;if(k=1|k=2)break;while(1);break;case 3:break;default:cout<<"输入有误,"<<endl;docout<<"请选择:1.返回上一层 2.返回主菜单 "cin>>k; switch(k) case 1:break; case 2:i=3;break; default:break;if(k=1|k=2)break;while(1);break
45、;if(i=3) break;while(1);void jiemian:chaxun()top1: int k,h;cout<<">>>>>>>>>>>>>>>>>>>>>>>>>"cout<<"n 1.按车次查询。"cout<<"n 2.按终点站查询。"cout<<"n 3.返回主菜单。"cout<<&q
46、uot;n >>>>>>>>>>>>>>>>>>>>>>>>>>"cout<<"n请选择:"cin>>k;system("cls");switch(k)case 1:cccx(); top2:cout<<"请选择:1.返回上一层 2.返回主菜单 "cin>>h; system("cls"); switch
47、(h) case 1:goto top1; case 2:break; default:cout<<"输入错误."<<endl;goto top2; break;case 2:zdzcx(); top3:cout<<"请选择:1.返回上一层 2.返回主菜单 "cin>>h; system("cls");switch(h) case 1:goto top1; case 2:break; default:cout<<"输入错误."<<endl;go
48、to top3; break;case 3:break;default:cout<<"输入错误,请重新选择:"<<endl;goto top1;void jiemian:buy() top1: int k,h;cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>"cout<<"n 1.输入车次名称购票。"
49、cout<<"n 2.输入起始站,终点站购票。"cout<<"n 3.返回主菜单。"cout<<"n >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"cout<<"n请选择:"cin>>k;system("cls");switch(k)c
50、ase 1: buy1(); top2:cout<<"请选择:1.返回上一层 2.返回主菜单 "cin>>h; system("cls"); switch(h) case 1:goto top1; case 2:break; default:cout<<"输入错误."<<endl;goto top2; break;case 2:buy2(); top3:cout<<"请选择:1.返回上一层 2.返回主菜单 "cin>>h; system(&qu
51、ot;cls");switch(h) case 1:goto top1; case 2:break; default:cout<<"输入错误."<<endl;goto top3; break;case 3:break;default:cout<<"输入错误,请重新选择:"<<endl;goto top1;void view4() int a=0;top3:if(a<=100) cout<<"*"<<endl; cout<<"n
52、nnn 欢迎进入车票管理系统"<<endl; cout<<"nnnn"<<endl; cout<<"*"<<endl; cout<<"正在加载,请等待."<<a<<"%"<<endl; for(int i=0;i<80;i+) cout<<">" Sleep(10); a+; system("cls"); goto top3; void view5()cout<<"nnnnnn"cout<<"ttt "<<endl;cout<<"t 录入车次信息 .1 2. 浏览车次信息"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度服装设计与加工生产合同
- 场地租赁及经营管理合同(04版)
- 二零二四年度物业管理与咨询服务合同
- 二零二四年度销售代理合同详细条款及标的说明
- 商场免责协议书(2篇)
- 二零二四年度研发成果转化合同
- 吊车安装协议书(2篇)
- 二零二四年度广告投放合同:广告公司为某品牌提供线上线下广告推广服务
- 二零二四年度棉花收割机械采购与销售合同
- 旅游观光设备机油购销合同
- 特许经营商标许可使用协议书范文(2篇)
- 药理学学习指导及练习题
- 昆明理工大学2022年冶金物理化学考研真题
- 双重预防机制运行情况评估报告
- 大π键的认识和书写
- 高中心理健康《拒绝精神内耗》主题班会课件
- 中级监控理论知识考核试题及答案
- 《婴幼儿行为观察、记录与评价》习题库(项目一)认识婴幼儿行为观察、记录与评价
- 2023年军队文职人员招聘之军队文职公共科目真题精选附答案
- 加尔文宗教改革专题培训课件
- 目标分解方法
评论
0/150
提交评论