vc++火车票管理系统(可运行)
#include <iostream> #include <fstream> #include <string> #include<time.h> using namespace std; void welcome(); //欢迎子函数 void choose(); //选择子函数 void banciluru(); //班次录入子函数 void liulanbancixinxi(); //浏览班次信息子函数 void shoupiao(); //售票子函数 void tuipiao(); //退票子函数 void quit(); //退出子函数 void chaxun(); //查询子函数 int loading(); //文件载入子函数 const int MAX=20; //使数组最大值可调 const int N=50; struct time //时间结构体,为了与系统时间做比较. { int hour; int minutes; }; struct ticket //车票结构体,包含车次,时间结构体,起点,终点,行车时间,额定载客量,已订票人数 { int Number; struct time Setout; char Qidian[MAX]; char Zhongdian[MAX]; float Lasttime; int Fixnumber; int Fixednumber; }car[N]; //主函数 int main() { welcome(); return 0; } //欢迎子函数 void welcome() { cout<<"________________________________________________________"<<endl; cout<<"| 欢 * 迎 * 使 * 用 * 火 * 车 * 票 * 管 * 理 * 系 * 统 |"<<endl; cout<<"| |"<<endl; cout<<"| 本管理系统有以下功能: |"<<endl; cout<<"| |"<<endl; cout<<"| 1 班次录入 |"<<endl; cout<<"| 2 浏览班次信息 |"<<endl; cout<<"| 3 查询火车信息 |"<<endl; cout<<"| 4 购买火车票 |"<<endl; cout<<"| 5 退订火车票 |"<<endl; cout<<"| 6 退出系统 |"<<endl; cout<<"|______________________________________________________|"<<endl; cout<<"请输入所要执行功能前的数字: "<<endl; choose(); } //选择子函数 void choose() { string i; cin>>i; if(i=="1") banciluru(); if(i=="2") liulanbancixinxi(); if(i=="3") chaxun(); if(i=="4") shoupiao(); if(i=="5") tuipiao(); if(i=="6") quit(); else { cout<<"输入有误!请在数字1-5之间重新您的输入选择!"<<endl; choose(); } } //班次录入子函数 void banciluru() { string t="1"; ofstream outfile; outfile.open("班次信息.txt",ios::app); for(int i=0;t=="1";i++) { cout<<"请输入需要添加的火车班次:"<<endl; cin>>car[i].Number; cout<<"请输入此班次发车时间(格式:先输入小时,回车,再输入分钟):"<<endl; cin>>car[i].Setout.hour; cin>>car[i].Setout.minutes; cout<<"请输入出发站:"<<endl; cin>>car[i].Qidian; cout<<"请输入终点站:"<<endl; cin>>car[i].Zhongdian; cout<<"请输入行车时间:"<<endl; cin>>car[i].Lasttime; cout<<"请输入额定载客量:"<<endl; cin>>car[i].Fixnumber; cout<<"请输入已订票人数:"<<endl; cin>>car[i].Fixednumber; outfile<<car[i].Number<<" "<<car[i].Setout.hour<<" "<<car[i].Setout.minutes<<" "<<car[i].Qidian<<" "<<car[i].Zhongdian<<" "<<car[i].Lasttime<<" "<<car[i].Fixnumber<<" "<<car[i].Fixednumber<<endl; cout<<"是否继续录入?(是请输1,否请输任意键返回主菜单)"<<endl; cin>>t; if(t!="1") { welcome(); } } outfile.close(); cout<<"输入回车键返回"<<endl; getchar(); getchar(); welcome(); } //浏览班次子函数 void liulanbancixinxi() { int c; c=loading(); cout<<"班次"<<" "<<"发车时间"<<" "<<"起点站"<<" "<<"终点站"<<" "<<"行车时间"<<" "<<"额定载客量"<<" "<<"已订票人数"<<endl; for(int i=0;i<c;i++) { cout<<car[i].Number<<" "<<car[i].Setout.hour<<":"<<car[i].Setout.minutes<<" "<<car[i].Qidian<<" "<<car[i].Zhongdian<<" "<<car[i].Lasttime<<" "<<car[i].Fixnumber<<" "<<car[i].Fixednumber<<endl; time_t tval; struct tm *now; tval = time(NULL); now = localtime(&tval); if((now->tm_hour==car[i].Setout.hour&&now->tm_min>car[i].Setout.minutes)||(now->tm_hour>car[i].Setout.hour)) cout<<"此车已发出"<<endl; } cout<<"输入回车键返回"<<endl; getchar(); getchar(); welcome(); } //车次查询子函数 void Numbersearch(); void Finalsearch(); void chaxun() { string t; cout<<"1.按班次查询"<<endl; cout<<"2.按终点站查询"<<endl; cout<<"请输入您想选择的查询方法前的数字:"<<endl; cin>>t; if(t=="1") Numbersearch(); if(t=="2") Finalsearch(); if(t!="1"||t!="2") { cout<<"输入有误,请重新输入"<<endl; chaxun(); } }
- 粉丝: 0
- 资源: 34
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助