当前位置:文档之家› (精品)公交路线

(精品)公交路线

#include<iostream>#include<fstream>#include<string>#include<iomanip>void menu();using namespace std;class bus{public:void save();//录入信息void showall();//显示所有公交路线void searchroute();//根据起始站和终点站查询路线void del();//删除站点private:int route,station,price;string start;string end;string pass[100][30];};//-------------录入路线信息---------------void bus::save(){string pass[100][30],busstart,busend;int busroute,busstation,busprice,i,m;ofstream outfile("c1.txt",ios::app); //----打开文件----if(!outfile){cerr<<" open error"<<endl;exit(1);}//==========按照提示录入路线信息==========cout<<"==================================================== ========"<<endl;cout<<"线路"<<"全程站点"<<"起始站"<<"终点站"<<"票价"<<"途经站点"<<endl;cin>>busroute;route=busroute;m++;outfile<<left<<setw(10)<<route;cin>>busstation;station=busstation;outfile<<left<<setw(10)<<station;cin>>busstart;start=busstart;outfile<<left<<setw(10)<<start;cin>>busend;end=busend;outfile<<left<<setw(10)<<end;cin>>busprice;price=busprice;outfile<<left<<setw(10)<<price;m=route ;for(i=0;i<30;i++){cin>>pass[m][i];if(pass[m][i]=="1")break;elseoutfile<<left<<setw(10)<<pass[m][i];}outfile<<"\r\n";cout<<"路线信息已成功保存!"<<endl;outfile.close();//=========关闭文件==========}//------------------显示所有路线-----------------void bus::showall(){string buspass,busstart,busend,str;ifstream infile("c1.txt",ios::in);if(!infile){cerr<<" 0open error"<<endl;exit(1);}cout<<"路线全程站点起始站终点站票价途经站点"<<endl;while(getline(infile,str)){cout<<"==================================================== ============================"<<endl;cout<<str<<endl;cout<<"==================================================== ============================"<<endl;}infile.close();}//--------------站站查询-------------------void bus::searchroute(){system("cls");bool flag=true;string pass[30],start,end,ch1,ch2,a,b,str;int station,price;ifstream infile("c1.txt",ios::in);if(!infile){cerr<<" open error"<<endl;//fopenexit(1);}cout<<" =========="<<endl;cout<<" = 起始站="<<endl;cout<<" =========="<<endl;cin>>ch1;cout<<" =========="<<endl;cout<<" = 终点站="<<endl;cout<<" =========="<<endl;cin>>ch2;while(infile>>route>>station>>start>>end>>price){for(int i=0;i<30;i++){ infile>>pass[i];if(pass[i]==ch1)a=pass[i];if(pass[i]==ch2)b=pass[i];if(pass[i]==end){if(a==ch1&&b==ch2){cout<<endl<<"---------------------------------------------------------------"<<endl;cout<<"路线全程站点起始站终点站票价途经站点"<<endl;cout<<endl<<"---------------------------------------------------------------"<<endl;cout<<route<<" "<<station<<" "<<start<<" "<<end<<" "<<price<<" ";for(int j=0;j<=i;j++){cout<<pass[j];if(j!=i)cout<<"-";flag=false;}cout<<endl<<" *************"<<endl;cout<<" 请乘坐"<<route<<"路车!"<<endl;cout<<" *************"<<endl;}break;}}a='0';b='0';getline(infile,str);}if(flag)cout<<"系统未收录此站点"<<endl;infile.close();}void bus::del(){string str[100];int k,i=1,a=1;string start[100],end[100],pass[100];ifstream infile("c1.txt",ios::in);if(!infile){cerr<<" open error"<<endl;exit(1);}while(getline(infile,str[a])){cout<<"序号:"<<a<<endl;cout<<str[a]<<endl;a++;}cout<<"你想删除第几路?"<<endl;cin>>k;infile.close();ofstream outfile("c1.txt",ios::out);if(!outfile){cerr<<" open error"<<endl;exit(1); //退出程序}for(i=1;i<a;i++){if(k!=i)outfile<<str[i]<<"\r\n";}outfile.close();cout<<"已删除成功!"<<endl;}//主函数void main(){bus a;void menu();char ch;menu();cin>>ch;while(ch!='0'){system("cls");switch(ch){case '1':a.save();break;case '2':a.showall();break;case '3':a.del();break;case '4':a.searchroute();break;default:cout<<"没有此选项!"<<endl;break;}menu();cin>>ch;}}void menu(){cout<<" ★★★★★★★★★★★★★★★★"<<endl;cout<<" ★公交线路管理系统★"<<endl;cout<<" ★★★★★★★★★★★★★★★★"<<endl;cout<<" ★★"<<endl;cout<<" ★ 1.输入路线信息★"<<endl;cout<<" ★ 2.显示所有路线★"<<endl;cout<<" ★ 3.删除线路★"<<endl;cout<<" ★ 4.站站查询★"<<endl;cout<<" ★★"<<endl;cout<<" ★★★★★★★★★★★★★★★★"<<endl; }。

相关主题