中易网

公交线路管理,用C++

答案:2  悬赏:70  
解决时间 2021-04-27 13:56
模拟公交运营公司,对线路编号、始发站、终点站、首末车时间、具体途经站点进行录入、查询和修改。旅客可以按站站查询方式,获取乘车信息。线路信息需要文件存储。
最佳答案
汗,这个貌似太复杂了。。。
全部回答
void set( ) { bus b; fstream f1; int i=0,t=1; char c,n[100]; f1.open("1.txt",ios::in|ios::out); while(1) { if(c==&apos;n&apos;) break; cout<<"请输入要修改的线路(如:116):"<<endl; scanf("%s",n); while(!f1.eof()) { f1.read((char *)&b,sizeof(b)); if(strcmp(n,b.num)==0) { t=0; i=0; cout<<"请输入修改信息!"<<endl<<endl; cout<<"请修改始发站:"<<endl; cin>>b.starname; cout<<"请修改终点站:"<<endl; cin>>b.endname; cout<<"请修改发车时间:"<<endl; cin>>b.startime; cout<<"请修改到站时间:"<<endl; cin>>b.endtime; cout<<"请修改途经站点:"<<endl; cin>>b.linename; f1.seekg(-sizeof(b),ios::cur); f1.write((char *)&b,sizeof(b)); break; } f1.read((char *)&b,sizeof(b)); } if(t) { cout<<"未找到要修改的线路,是否继续修改?(y/n)!"<<endl; c=getchar();c=getchar(); continue; } cout<<"是否继续修改?(y/n):"<<endl; c=getchar();c=getchar(); } } }; void mchange() { char x1[20]; char x2[20]; while(1) { getchar(); cout<<"输入新密码:"<<endl; gets(x1); cout<<"再次输入新密码:"<<endl; gets(x2); if(strcmp(x1,x2)==0) { strcpy(password,x1); break; } else cout<<"密码不一致:"<<endl; } } void manag() { char x[20]; //输入次数 while(1) { cout<<"请输入密码:"<<endl; scanf("%s",x); system("cls"); if(strcmp(x,password)==0) { bus a; cout<<"\t\t o(∩_∩)o o(∩_∩)o"<<endl; cout<<"\t\t 管理员用户 "<<endl; cout<<"\t\t "<<endl; cout<<"\t\t 1、录入线路信息 "<<endl; cout<<"\t\t 2、修改线路信息 "<<endl; cout<<"\t\t 3、查询线路信息 "<<endl; cout<<"\t\t 4、修改用户密码 "<<endl; cout<<"\t\t 5、返 回 "<<endl; cout<<"\t\t "<<endl; cout<<"\t\t "<<endl; cout<<"\t\t "<<endl; cout<<"请输入选择:"<<endl; cin>>a.q; while(a.q!=5) { switch(a.q) { case 1:a.write();break; case 2:a.set();break; case 3:a.read();break; case 4:mchange();break; default:cout<<"输入有误:"<<endl; } cout<<"请输入选择:"<<endl; cin>>a.q; } break; } else cout<<"输入密码错误!"<<endl; } } void find() { fstream f1; int i=0,t; char s=&apos;y&apos;,n[100]; bus b; while(1) { t=1; if(s==&apos;n&apos;) break; cout<<"请输入要查询的线路(如:213):"<<endl; scanf("%s",n); f1.open("公交线路管理系统.txt",ios::in|ios::out|ios::app); while(!f1.eof()) { f1.read((char *)&b,sizeof(b)); if(strcmp(n,b.num)==0) { t=0; cout<<"始发站:"<<endl; cout<<"终点站:"<<endl; cout<<"首发车时间:"<<endl; cout<<"末班车时间:"<<endl; cout<<"输入途经的所有站点:"<<endl; f1.close(); break; } f1.read((char *)&b,sizeof(b)); } if(t) { f1.close(); cout<<"未找到要查询的线路,是否继续查询?(继续:y,推出:n)!"<<endl; s=getchar();s=getchar(); } else { cout<<"是否继续查询?(继续:y,推出:n):"<<endl; s=getchar();s=getchar(); } } } char exit() { char w; //system("cls"); cout<<"\t\t o(∩_∩)o o(∩_∩)o"<<endl; cout<<"\t\t 退出菜单 "<<endl; cout<<"\t\t "<<endl; cout<<"\t\t 1、确 定 "<<endl; cout<<"\t\t 2、取 消 "<<endl; cout<<"\t\t "<<endl; cout<<"\t\t "<<endl; cout<<"\t\t "<<endl; cout<<"请输入选择:"; cin>>w; return w; } void main() { int a; char s; while(1) { system("cls"); cout<<"\t\t o(∩_∩)o o(∩_∩)o"<<endl; cout<<"\t\t 公交管理 "<<endl; cout<<"\t\t "<<endl; cout<<"\t\t 1、信息查询 "<<endl; cout<<"\t\t 2、管理员用户 "<<endl; cout<<"\t\t 3、退 出 "<<endl; cout<<"\t\t "<<endl; cout<<"\t\t "<<endl; cout<<"\t\t "<<endl; cout<<"请输入选择:"; cin>>a; switch(a) { case 1:find();break; case 2:manag();break; case 3:s=exit();break; } if(s==&apos;1&apos;) break; } cout<<"感谢您使用本公交管理系统。谢谢,再见!"<<endl; }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
麻乌家洛达地址在哪,我要去那里办事
梦见红色金边大鲤鱼
陕西一区一把流光星陨刀多少钱?
福建省6.18是什么日子
我的电脑有时自动重起, 读取错误, 还有就是下
水井街24号院在哪里啊,我有事要去这个地方
如东汽车站现在还买得到9号上午去南京的汽车
周口哪儿有卖诺基亚5230行货的?多少钱.
为什么现在的女孩脾气都这么大呢?
隋唐演义OL 少保 和游侠哪个清怪快? 哪个群
急急急急:求一篇随笔
是谁发明珠算的 啊?
农村宅基地如果后方有人是否允许盖楼?
she is no you
倒角还是导角
推荐资讯
我的右腿皮肤下面长包
专升本可以改专业么?具体怎么操作?
喜欢上一个人很容易,相处下去却很难是吗?最
被朋友出卖、你会怎麽做?
手机尾货是什么概念?是翻新机么
英语习语翻译的毕业论文
要流畅的播放1080P高清电影需要怎样的电脑?
我的手机QQ入家园为什么找不到家族和更改家园
BEYOND什么时候能重组啊!再现二十年前的光辉
梦见一个老师,说就要出国,要我的一幅画。在
进地牢的多长时间能出来
怎样下载梦幻江湖?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?