(精品)公交路线
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
#include
#include
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"< exit(1); } //==========按照提示录入路线信息========== cout<<"==================================================== ========"< cout<<"线路"<<"全程站点"<<"起始站"<<"终点站"<<"票价"<<"途经站点"< cin>>busroute; route=busroute; m++; outfile< cin>>busstation; station=busstation; outfile< cin>>busstart; start=busstart; outfile< cin>>busend; end=busend; outfile< cin>>busprice; price=busprice; outfile< m=route ; for(i=0;i<30;i++) { cin>>pass[m][i]; if(pass[m][i]=="1") break; else outfile< } outfile<<"\r\n"; cout<<"路线信息已成功保存!"< outfile.close();//=========关闭文件========== } //------------------显示所有路线----------------- void bus::showall() { string buspass,busstart,busend,str; ifstream infile("c1.txt",ios::in); if(!infile) { cerr<<" 0open error"< exit(1); } cout<<"路线全程站点起始站终点站票价途经站点"< while(getline(infile,str)) { cout<<"==================================================== ============================"< cout< cout<<"==================================================== ============================"< } 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"< exit(1); } cout<<" =========="< cout<<" = 起始站="< cout<<" =========="< cin>>ch1; cout<<" =========="< cout<<" = 终点站="< cout<<" =========="< 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< cout<<"路线全程站点起始站终点站票价途经站点"< cout< cout< for(int j=0;j<=i;j++) { cout< if(j!=i) cout<<"-"; flag=false; }