注:这个是我同学的C++课程设计,车票管理系统。存储为文件操作,满足于大学课程设计#includeiostream#includefstream#includestring#includewindows.h#includectime#includeiomanipusingnamespacestd;classtime{protected:inthour;intminute;public:time(){hour=0;minute=0;}voidsethour(intb6){hour=b6;}voidsetminute(intb7){minute=b7;}intgethour(){returnhour;}intgetmin(){returnminute;}};classtrain:publictime{stringnum;stringstarshop;stringcomshop;stringtime2;intstanum;intpeponum;public:train():time(){num=无;starshop=无;comshop=无;time2=无;stanum=0;peponum=0;}voidsettrain(stringa,intb,inth,stringc,stringd,stringe,intf){num=a;hour=b;minute=h;starshop=c;comshop=d;time2=e;stanum=f;peponum=0;}stringgetnum(){returnnum;}stringgetstarshop(){returnstarshop;}stringgetcomshop(){returncomshop;}stringgettime2(){returntime2;}intgetstanum(){returnstanum;}intgetpeponum(){returnpeponum;}voidsetpeponum(inta){peponum+=a;}voidsetpeponum1(inta){peponum-=a;}voidsetnum(stringb1){num=b1;}voidsetstarshop(stringb2){starshop=b2;}voidsetcomshop(stringb3){comshop=b3;}voidsettime2(stringb4){time2=b4;}voidsetstanum(intb5){stanum=b5;}voidwrite(ofstream&out){outnum;outhour;outminute;outstarshop;outcomshop;outtime2;outstanum;outpeponum;outendl;return;}voidread(ifstream&in){innum;inhour;inminute;instarshop;incomshop;intime2;instanum;inpeponum;return;}voidprint(){for(inti=0;i80;i++){cout=;}cout班次:num|;cout发车时间:hour:minute|;cout出发站:starshop|终点站:comshop|;cout行车时间:time2|endl;for(i=0;i80;i++){cout-;}cout额定载量:stanum|;cout已定票人数:peponum||;}};classfunction{private:staticintm;public:intinput();intaddinput();intlook1();voidsetop1(int);intcccx();intzdzcx();intbuy1();intbuy2();voidsonbuy(train&p,intb1);intback();intsave(train*);voidZT(train&p,int);intgetm(){returnm;}voidread1(ifstream&in){inm;}};intfunction::m=0;voidfunction::setop1(inta){m+=a;}intfunction::input(){train*op1;intn1,ho,i,mi;cout请输入要录入的班次数目:;cinm;stringa,c,d,e;op1=newtrain[m];for(i=0;im;i++){cout请输入班次:;cina;cout请输入出发时间:endl;cout输入时:;for(;;){cinho;if(ho24&&ho=0)break;elsecout输入错误,请重输入endl输入时:;}cout输入分:;for(;;){cinmi;if(mi60&&mi=0)break;elsecout输入错误,请重输入endl输入分:;}cout请输入起始站:;cinc;cout请输入终点站:;cind;cout请输入行车时间:(例:12小时23分);cine;cout请输入额定载量:;cinn1;op1[i].settrain(a,ho,mi,c,d,e,n1);op1[i].setpeponum(0);}ofstreamf1(g:\\c文件\\班次信息单.txt,ios::out);if(!f1){cout文件打开失败。;exit(1);}for(i=0;im;i++){op1[i].write(f1);}f1.close();ofstreamf2(g:\\c文件\\班次总数.txt,ios::out);if(!f2){cout文件打开失败。;exit(1);}f2m;f2.close();delete[]op1;return0;}intfunction::addinput(){train*op1;intn,n1,ho,mi,i;ifstreamf1(g:\\c文件\\班次总数.txt,ios::in);if(!f1){cout系统无储存信息,进入新录入选项。endl;system(pause);}elseread1(f1);f1.close();cout请输入要录入的班次数目:;cinn;setop1(n);stringa,c,d,e;op1=newtrain[n];for(i=0;in;i++){cout请输入班次:;cina;cout请输入出发时间:endl;cout输入时:;for(;;){cinho;if(ho24&&ho=0)break;elsecout输入错误,请重输入endl输入时:;}cout输入分:;for(;;){cinmi;if(mi60&&mi=0)break;elsecout输入错误,请重输入endl输入分:;}cout请输入起始站:;cinc;cout请输入终点站:;cind;cout请输入行车时间:(例:12小时23分);cine;cout请输入额定载量:;cinn1;op1[i].settrain(a,ho,mi,c,d,e,n1);op1[i].setpeponum(0);}ofstreamf2;f2.open(g:\\c文件\\班次信息单.txt,ios::app);if(!f2){cout文件打开失败。;exit(1);}for(i=0;in;i++){op1[i].write(f2);}f2.close();ofstreamf3(g:\\c文件\\班次总数.txt,ios::out);if(!f3){cout文件打开失败。;exit(1);}f3m;f3.close();delete[]op1;return0;}intfunction::look1(){time_tt=time(NULL);tm*pt=localtime(&t);train*op1;ifstreamf1(g:\\c文件\\班次总数.txt,ios::in);if(!f1){cout文件打开失败。;exit(1);}read1(f1);f1.close();op1=newtrain[m];ifstreamf2(g:\\c文件\\班次信息单.txt,ios::in);if(!f2){cout文件打开失败。;exit(1);}for(inti=0;im;i++){op1[i].read(f2);if(f2.fail()!=0)break;}f2.close();intb;b=pt-tm_hour*60+pt-tm_min;for(i=0;im;i++)ZT(op1[i],b);delete[]op1;return0;}voidfunction::ZT(train&p,intb1){inta;a=p.gethour()*60+p.getmin();if(a=b1){p.print();cout已发车|endl;for(inti=0;i80;i++){cout=;}coutendl;}else{if(b1=(a-30)){p.print();cout未发车|endl;for(inti=0;i80;i++){cout=;}coutendl;}else{p.print();cout正在检票|endl;for(inti=0;i80;i++){cout=;}coutendl;}}}intfunction::cccx(){time_tt=time(NULL);tm*pt=localtime(&t);train*op1;ifstreamf1(g:\\c文件\\班次总数.txt,ios::in);if(!f1){cout文件打开失败。;exit(1);}read1(f1);f1.close();op1=newtrain[m];ifstreamf2(g:\\c文件\\班次信息单.txt,ios::in);if(!f2){cout文件打开失败。;exit(1);}for(inti=0;im;i++){op1[i].read(f2);if(f2.fail()!=0)break;}f2.close();stringname;cout请输入要查询的车次:;cinname;intb;b=pt-tm_hour*60+pt-tm_min;for(i=0;im;i++){if(op1[i].getnum()==name){ZT(op1[i],b);break;}}if(i=m)cout所查询车次不存在!endl;cout检索完毕.endl;delete[]op1;return0;}intfunction::zdzcx(){time_tt=time(NULL);tm*pt=localtime(&t);train*op1;ifstreamf1(g:\\c文件\\班次总数.txt,ios::in);if(!f1){cout文件打开失败。;exit(1);}read1(f1);f1.close();op1=newtrain[m];ifstreamf2(g:\\c文件\\班次信息单.txt,ios::in);if(!f2){cout文件打开失败。;exit(1);}for(inti=0;im;i++){op1[i].read(f2);if(f2.fail()!=0)break;}f2.close();stringname;cout请输入所查询的终点站:;c