C程序设计源代码_第1页
C程序设计源代码_第2页
C程序设计源代码_第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/C+ 课程设计 #include<iostream> #include<fstream> #include<string> #include<iomanip> #include <stdio.h>/数据流输入、输出/文件输入、输出 /字符串操作/ 参数化输入 /输出using namespace std;/命名空间class Bus_inforint No; static int Bus_No;对象的数目 char start20; char end20; int Bus_order; int all_tickted; int ti

2、ckted;int Hour_start,Minute_start,Hour_end,Minute_end;/班次号/ 静态数据成员,统计当前所有的 Bus_infor/起始站/终点站/班次号/额定载量/已定票人数/起始时间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 GetTim

3、e_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;/行车时间/返回班次号/录入函数/读取函数/输出函数/写入函数/录入发车时间/录入到站时间/录入起始站/返回额定载量

4、/返回已定票人数/返回发车时间/返回到站时间/获取行车时间/显示行车时间/ 返回当前所有的 Bus_infor 对象的数目/订票函数/退票函数void Order_tickt(int n); void Unorder_tickt(int n);int Bus_infor:Bus_No=1;void Bus_infor:input()cout<<"ttt 按提示输入 :"<<endl; cout<<"tt 输入车次 : " cin>>Bus_order;cout<<"请输入车的额定载量:

5、";cin>>all_tickted;GetTime_start();GetTime_end();GetTime();ShowTime();addr();char a;cout<<" 是否清空售票 (y/n)?"<<endl;cin>>a; if(a='y'|a='Y') tickted=0;void Bus_infor:input(ifstream & is)is>>Bus_order>>start>>end>>all_tick

6、ted>>tickted>>Hour_start>>Minute_start>>Hour_end >>Minute_end>>Hour>>Minute;is.get(); void Bus_infor:output()cout<<" 客车基本信息如下 :"<<endl;cout<<" 车次 发车时间 到站时间 行车时间 额定载量 已订票人数 起点站 终点站 "<<endl;cout<<setw(4)<<

7、; Bus_order <<setw(8)<<Hour_start<<":"<< Minute_start<<setw(8)<< Hour_end<<":"<< Minute_end<<setw(8)<<Hour<<":"<<Minute<<setw(10)<<all_tickted <<setw(10)<<tickted <<set

8、w(11)<<start<<setw(10)<<end<<endl;void Bus_infor:output(ofstream & os)os<<setw(6)<<Bus_order <<setw(15)<<start <<setw(6)<<end <<setw(15)<<all_tickted <<setw(15)<<tickted <<setw(15)<<Hour_start <<

9、;setw(15)<<Minute_start <<setw(15)<<Hour_end <<setw(15)<<Minute_end <<setw(15)<<Hour <<setw(15)<<Minute <<endl;void Bus_infor:GetTime_start()int NewH=0,NewM=0; cout<<" 请输入发车时间: "<<endl; cin>>NewH>>NewM;Hour

10、_start=NewH;Minute_start=NewM;void Bus_infor:GetTime_end()int NewH=0,NewM=0; cout<<" 请输入到站时间: "<<endl; cin>>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

11、);elseMinute=(Minute_end-Minute_start+60);Hour=(Hour_end-Hour_start-1);void Bus_infor:ShowTime()cout<<" 显示行车时间 "<<endl; cout<<Hour<<":"<<Minute<<endl;Bus_infor:Bus_infor()No=Bus_No+;tickted=0;Bus_infor:Bus_infor() Bus_No-; void Bus_infor:addr()

12、cout<<" 请输入起点站与终点站: "<<endl;char a20;char b20;cin>>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_linkpublic:Bus_link()head=new Bus_infor;head->next=NULL;ke

13、y=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;/推定车票信息/保存车票信息

14、 /初始化车票信息 /清楚函数/主菜单函数/设置系统修改标志 /返回系统修改标志/链表指针/系统修改标志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<<"ttt

15、 按 1 继续,按 0 返回 : " cin>>n;if(!cin)throw string(" 数据输入错误 ");void Bus_link:Order()Bus_infor *p;cout<<" 确定购票 (y/n)?"<<endl; char X;cin>>X;if(X='y')int num;cout<<"ttt 输入车次号 : " cin>>num;if( !fin d(&p, nu m,“")cout<

16、;<"tt 找不到你要定票的车辆的内容 !"<<endl; return;cout<<" 输入要定的票数 "int n;cin>>n;p=p->next; if(p->Get_tickted()+n)<=p->Get_all_tickted() p->Order_tickt(n);cout<<" 谢谢使用 "<<endl;else cout<<" 对不起,没有足够的票数。"<<endl;else

17、if(X='n') cout<<" 谢谢使用 "<<endl;else cout<<" 输入字符不确定 "<<endl;Bus_link:setkey(1);void Bus_link:Unorder()Bus_infor *p;cout<<" 确定退票 (y/n)?"<<endl;char X;cin>>X;if(X='y')int num;cout<<"ttt 输入车次号 : "cin

18、>>num;if( !fin d(&p, nu m,“")cout<<"tt 找不到你要定票的车辆的内容 !"<<endl; return;cout<<" 输入要退的票数 "int n;cin>>n;p=p->next;if(p->Get_tickted()-n)>=0) p->Unorder_tickt(n);else cout<<"对不起,数据出错! 。 "<<endl;else if(X='n&#

19、39;) cout<<" 谢谢使用 "<<endl;else cout<<"输入字符不确定"<<endl;Bus_link:setkey(1); void Bus_link:found()Bus_infor *p;int num=-1,n=9;char n ame20="A"docout<<"tt1: 按车次查找 ,2:按终点站查找 : " cin>>n;while(n<1|n>2);if(n=1)cout<<"

20、;ttt 输入车次 : "cin>>num;if(n=2)cout<<"ttt 输入终点站 : "cin>>name;if(!find(&p,num,name)cout<<"tt 找不到你要查找的内容 !"<<endl; return; int Bus_link:find(Bus_infor *p1,int num,char *pn) Bus_infor *p;p=head;int t=0;while(p->next)(*p1)=p;if( (p->next)-&g

21、t;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<<"ttt 输入车次号 : " cin>>num;if( !fin d(&p, nu m,“")!"<<endl;cout<<"tt 找不到你要

22、删除的内容 return;p2=p->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 n ame20="A"cout<<"ttt 输入车次号 : " cin>>num

23、;if( !find(&p,num,name) )!"<<endl;cout<<"tt 找不到你要修改的内容 return;(p->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)->out

24、put(os); p=p->next;cout<<"ttt 文件已保存 ! "<<endl;Bus_link:setkey(0);void Bus_link:begin()Bus_infor *p,*p2;p=head;clear();long t;ifstream is("bus.txt",ios:in);if(!is)ofstream os("bus.txt",ios:out);os.close();return ;int num=-1; while(1)num=-1; t=is.tellg(); i

25、s>>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 n20;cout<<"nn- 欢迎使用车票管理系统 -"<<endl<<endl;cout<<"1.录入车票信息2.浏览车

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论