为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > C++程序设计源代码

C++程序设计源代码

2017-10-16 18页 doc 37KB 71阅读

用户头像

is_589748

暂无简介

举报
C++程序设计源代码C++程序设计源代码 //C++课程设计 #include //数据流输入、输出 #include //文件输入、输出 #include //字符串操作 #include //参数化输入/输出 #include using namespace std; //命名空间 class Bus_infor { int No; //班次号 static int Bus_No; //静态数据成员,统计当前所有的Bus_infor 对象的数目 char start[20]; //起始站 char end[20]; //终...
C++程序设计源代码
C++程序设计源代码 //C++课程设计 #include //数据流输入、输出 #include //文件输入、输出 #include //字符串操作 #include //参数化输入/输出 #include using namespace std; //命名空间 class Bus_infor { int No; //班次号 static int Bus_No; //静态数据成员,统计当前所有的Bus_infor 对象的数目 char start[20]; //起始站 char end[20]; //终点站 int Bus_order; //班次号 int all_tickted; //额定载量 int tickted; //已定票人数 int Hour_start,Minute_start,Hour_end,Minute_end; //起始时间 int Hour,Minute; //行车时间 public: Bus_infor(); ~Bus_infor(); Bus_infor *next; int Get_no(){return No;} //返回班次号 void input(); //录入函数 void input(ifstream & is); //读取函数 void output(); //输出函数 void output(ofstream & os); //写入函数 void GetTime_start(); //录入发车时间 void GetTime_end(); //录入到站时间 void addr(); //录入起始站 int Get_all_tickted(){return all_tickted;} //返回额定载量 int Get_tickted(){return tickted;} //返回已定票人数 char *Get_start(){ return start;} //返回发车时间 char *Get_end(){return end;} //返回到站时间 void GetTime(); //获取行车时间 void ShowTime(); //显示行车时间 int Get_bus_order(){return Bus_order;} //返回当前所有的Bus_infor对象的数目 void Order_tickt(int n); //订票函数 void Unorder_tickt(int n); //退票函数 }; int Bus_infor::Bus_No=1; void Bus_infor::input() { cout<<"\t\t\t按提示输入:"<>Bus_order; cout<<"请输入车的额定载量: "; cin>>all_tickted; GetTime_start(); GetTime_end(); GetTime(); ShowTime(); addr(); char a; cout<<"是否清空售票(y/n)?"<>a; if(a=='y'||a=='Y') tickted=0; } void Bus_infor::input(ifstream & is) { is>>Bus_order>>start>>end>>all_tickted>>tickted>>Hour_start>>Minute_start>>Hour_end >>Minute_end>>Hour>>Minute; is.get(); } void Bus_infor::output() {cout<<"客车基本信息如下:"<>NewH>>NewM; Hour_start=NewH; Minute_start=NewM; } void Bus_infor::GetTime_end(){ int NewH=0,NewM=0; cout<<"请输入到站时间:"<>NewH>>NewM; Hour_end=NewH; Minute_end=NewM; } void Bus_infor::GetTime(){ if(Minute_end>=Minute_start) { Minute=(Minute_end-Minute_start); Hour=(Hour_end-Hour_start); } else { Minute=(Minute_end-Minute_start+60); Hour=(Hour_end-Hour_start-1); } } void Bus_infor::ShowTime() { cout<<"显示行车时间"<>a;cin>>b; strcpy(start,a);strcpy(end,b); } void Bus_infor::Order_tickt(int n){ tickted=tickted+n; } void Bus_infor::Unorder_tickt(int n){ tickted=tickted-n; }; class Bus_link{ public: Bus_link(){head=new Bus_infor;head->next=NULL;key=0;} void input(); //录入车票信息 void mend(); //修改车票信息 void del(); //删除车票信息 int find(Bus_infor **p,int num,char *pn); //查找函数 void found(); //查询车票信息 void show(); //显示车票信息 void Order(); //订购车票信息 void Unorder(); //推定车票信息 void save(); //保存车票信息 void begin(); //初始化车票信息 void clear(); //清楚函数 char mainmenu(); //主菜单函数 void setkey(int k){ key=k; } //设置系统修改标志 int getkey(){ return key;} //返回系统修改标志 private: Bus_infor *head; //链指针 int key; //系统修改标志 }; void Bus_link::input() { Bus_infor *p,*p2=NULL; p=head; int n; while(p->next) p=p->next; while(n) { p2=new Bus_infor; p2->input(); p->next=p2; p2->next=NULL; p=p->next; Bus_link::setkey(1); cout<<"\t\t\t按1继续,按0返回 : "; cin>>n; if(!cin) throw string("数据输入错误"); } } void Bus_link::Order(){ Bus_infor *p; cout<<"确定购票(y/n)?"<>X; if(X=='y'){ int num; cout<<"\t\t\t输入车次号: "; cin>>num; if( !find(&p,num,"^") ) { cout<<"\t\t找不到你要定票的车辆的内容!"<>n; p=p->next; if((p->Get_tickted()+n)<=p->Get_all_tickted()) {p->Order_tickt(n); cout<<"谢谢使用"<>X; if(X=='y'){ int num; cout<<"\t\t\t输入车次号: "; cin>>num; if( !find(&p,num,"^") ) { cout<<"\t\t找不到你要定票的车辆的内容!"<>n; p=p->next; if((p->Get_tickted()-n)>=0) p->Unorder_tickt(n); else cout<<"对不起,数据出错~。"<>n; }while(n<1||n>2); if(n==1) { cout<<"\t\t\t输入车次: "; cin>>num; } if(n==2) { cout<<"\t\t\t输入终点站: "; cin>>name; } if(!find(&p,num,name)) { cout<<"\t\t找不到你要查找的内容!"<next) { (*p1)=p; if( (p->next)->Get_bus_order()==num||!strcmp( (p->next)->Get_end(),pn ) ) { (p->next)->output(); t=1; break; } p=p->next; } return t; } void Bus_link::del() { Bus_infor *p,*p2; int num; cout<<"\t\t\t输入车次号: "; cin>>num; if( !find(&p,num,"^") ) { cout<<"\t\t找不到你要删除的内容!"<next; p->next=p2->next; delete p2; Bus_link::setkey(1); } void Bus_link::show() { Bus_infor *p; p=head; while(p->next) { (p->next)->output(); p=p->next; } } void Bus_link::mend() { Bus_infor *p; int num=-1; char name[20]="^"; cout<<"\t\t\t输入车次号: "; cin>>num; if( !find(&p,num,name) ) { cout<<"\t\t找不到你要修改的内容!"<next)->output(); (p->next)->input(); Bus_link::setkey(1); } void Bus_link::save() { Bus_infor *p; p=head; ofstream os("bus.txt",ios::out); if (Bus_link::getkey()==1) { while(p->next) { (p->next)->output(os); p=p->next; } } cout<<"\t\t\t文件已保存! "<>num; is.seekg(t); if(num<0) { is.close(); return; } p2=new Bus_infor; p2->input(is); p->next=p2; p2->next=NULL; p=p->next; } } void Bus_link::clear() { Bus_infor *p,*p2; p=head->next; while( p ) { p2=p; p=p->next; delete p2; } } char Bus_link::mainmenu() { char n[20]; cout<<"\n\n ---欢迎使用车票管理系统---"<>n; return n[0]; } int main() { Bus_link pp; int k=1; char n; pp.begin(); while(k==1) { n=pp.mainmenu(); switch(n) { case '1':pp.input(); break; case '2':pp.show(); break; case '3':pp.found(); break; case '4':pp.del(); break; case '5':pp.mend(); break; case '6':pp.Order(); break; case '7':pp.Unorder(); break; case '8':pp.save(); break; case '0': if(pp.getkey()==1) { cout<<"\t\t\t是否保存? 1 : 保存 0:不保存 : "; cin>>k; if(k==1) pp.save(); } pp.clear(); k=0; break; } } return 0; }
/
本文档为【C++程序设计源代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索