1 #include//数据流输入/输出2 #include//文件输入/输出3 #include//字符串操作4 #include//参数化输入/输出5 #include//时间库函数6 usingnamespacestd;//命名空间7 8 classBus_infor9 {10 private:11 staticintBus_No;//静态数据成员,统计当前所有的Bus_infor对象的数目12 charstart[20];//起点站13 charend[20];//终点站14 intBus_order;//班次号15 intall_tickted;//额定载量16 inttickted;//已定票人数17 intHour_start,Minute_start;//发车时间18 floatGoHour;//行车时间19 20 public:21 Bus_infor();22 ~Bus_infor();23 Bus_infor*next;24 voidinput();//录入函数25 voidinput(ifstream&is);//读取函数26 voidoutput();//输出函数27 voidoutput(ofstream&os);//写入函数28 voidOrder_tickt(intn);//定票函数29 voidUnorder_tickt(intn);//退票函数30 voidGetTime_start();//获取发车时间函数31 boolGetTime();//判断当前班次状况函数32 intGet_all_tickted()  {returnall_tickted;  }//内联函数,返回额定载量33 intGet_tickted()  {returntickted; }//返回已定票人数34 intGet_bus_order()  {returnBus_order;  }//返回班次号35 stringGet_end()const;//返回终点站的字符串36 };37 38 intBus_infor::Bus_No=1;39 40 Bus_infor::Bus_infor()41 {42 Bus_No++;43 tickted=0;44 }45 46 Bus_infor::~Bus_infor()47 {48 Bus_No--;49 }50 51 voidBus_infor::input()52 {53 cout<>Bus_order;58 if(cin.fail())//判断输入的数据类型是否有错59 {60 cout<>all_tickted;71 if(cin.fail())//判断输入的数据类型是否有错72 {73 cout<>GoHour;85 if(cin.fail())//判断输入的数据类型是否有错86 {87 cout<>start;cin>>end;96 cout<>a;98 if(a=='y'||a=='Y') tickted=0;99 }100 101 voidBus_infor::input(ifstream&is)102 {103 is>>Bus_order>>Hour_start>>Minute_start>>start>>end>>GoHour>>all_tickted>>tickted;104 is.get();105 }106 107 voidBus_infor::output()108 {109 110 cout<>Hour_start>>Minute_start;145 if(cin.fail())//判断输入的数据类型是否有错146 {147 cout<24||Minute_start<0||Minute_start>60)152 cout<tm_hourtm_hour==Hour_start&&local->tm_min<=Minute_start))165 return1;//比较当前时间与发车时间,获得班次的当前状况,返回1表示班次未出发166 else167 return0;//返回0表示班次已出发168 }169 170 voidBus_infor::Order_tickt(intn)171 {172 tickted=tickted+n;173 }174 175 voidBus_infor::Unorder_tickt(intn)176 {177 tickted=tickted-n;178 }179 180 stringBus_infor::Get_end()const181 {182 strings=end;183 returns;184 }185 186 classBus_link187 {188 public:189 Bus_link(){head=newBus_infor;head->next=NULL;key=0;}//带参数的构造函数190 ~Bus_link(){delete head;}//析构函数191 voidinput();//录入车票信息192 voidmend();//修改车票信息193 voiddel();//删除车票信息194 intfind(Bus_infor**p1,intnum,char*pn);//查找函数,找出所有符合的195 intfind1(Bus_infor**p1,intnum,char*pn);//查找函数,找到符合的返回196 voidfound();//查询车票信息197 voidshow();//显示车票信息198 voidOrder();//定购车票信息199 voidUnorder();//退还车票信息200 voidsave();//保存车票信息201 voidbegin();//初始化车票信息202 voidclear();//清除函数203 voidabout();//关于车票信息204 charmainmenu();//主菜单函数205 voidsetkey(intk){ key=k; }//设置系统修改标志206 intgetkey(){returnkey;}//返回系统修改标志207 private:208 Bus_infor*head;//链表指针209 intkey;//系统修改标志210 intpassword;//管理员登陆标志211 };212 213 voidBus_link::input()214 {215 if(password==1)216 {217 Bus_infor*p,*p2=NULL;218 p=head;219 intn=1;220 while(p->next)221 p=p->next;222 while(n)223 {224 p2=newBus_infor;225 p2->input();226 p->next=p2;227 p2->next=NULL;228 p=p->next;229 Bus_link::setkey(1);230 cout<>n;232 if(!cin)233 throwstring("\n数据输入错误");234 Bus_link::setkey(1);235 }236 }237 else238 cout<next)248 {249 (p->next)->output();250 p=p->next;251 }252 }253 254 voidBus_link::found()255 {256 Bus_infor*p;257 intnum,n;258 charname[20];259 do260 {261 cout<>n;263 if(!cin)264 throwstring("\n数据输入错误");265 }while(n<1||n>2);266 if(n==1)267 {268 cout<>num;270 if(!cin)271 throwstring("\n数据输入错误");272 }273 if(n==2)274 {275 cout<>name;277 }278 if(!find(&p,num,name))279 {280 cout<next)291 {292 (*p1)=p;293 if( (p->next)->Get_bus_order()==num||(p->next)->Get_end()==pn )294 {295 cout<next)->output();298 t=1;299 }300 p=p->next;301 }302 returnt;303 }304 305 intBus_link::find1(Bus_infor**p1,intnum,char*pn)306 {307 Bus_infor*p;308 p=head;309 while(p->next)310 {311 (*p1)=p;312 if( (p->next)->Get_bus_order()==num||(p->next)->Get_end()==pn )313 {314 cout<next)->output();317 return1;318 }319 p=p->next;320 }321 return0;322 }323 324 voidBus_link::del()325 {326 if(password==1)327 {328 Bus_infor*p,*p2;329 intnum;charname[20];330 cout<>num;332 if(!cin)333 throwstring("\n数据输入错误");334 if(!find1(&p,num,name) )335 {336 cout<>a;341 if(a=='y'||a=='Y')342 {343 p2=p->next;344 p->next=p2->next;345 delete p2;346 Bus_link::setkey(1);347 }348 }349 else350 cout<>num;362 if(!cin)363 throwstring("\n数据输入错误");364 if(!find1(&p,num,name) )365 {366 cout<next)->input();370 Bus_link::setkey(1);371 }372 else373 cout<>X;383 if(X=='y'||X=='Y'){384 intnum;385 cout<>num;387 if(!cin)388 throwstring("\n数据输入错误");389 if(!find1(&p,num,"^") )390 {391 cout<next;395 if(!(p->GetTime()))//判断要定票的车辆是否已经出发,若已经出发则不允许定票396 {397 cout<>n;402 if(!cin)403 throwstring("\n数据输入错误");404 if((p->Get_tickted()+n)<=p->Get_all_tickted())405 p->Order_tickt(n);406 elsecout<>X;423 if(X=='y'||X=='Y'){424 intnum;425 cout<>num;427 if(!cin)428 throwstring("\n数据输入错误");429 if(!find1(&p,num,"^") )430 {431 cout<next;435 if(p->GetTime()==0)//判断要定票的车辆是否已经出发,若已经出发则不允许定票436 {437 cout<>n;442 if(!cin)443 throwstring("\n数据输入错误");444 if((p->Get_tickted()-n)>=0)445 p->Unorder_tickt(n);446 elsecout<next)466 {467 (p->next)->output(os);468 p=p->next;469 }470 }471 cout<>num;511 is.seekg(t);//移动到原来位置512 if(num<0)513 {514 is.close();515 return;516 }517 p2=newBus_infor;518 p2->input(is);//输入is对象内容519 p->next=p2;520 p2->next=NULL;521 p=p->next;522 }523 }524 525 voidBus_link::clear()526 {527 Bus_infor*p,*p2;528 p=head->next;529 while( p )530 {531 p2=p;532 p=p->next;533 delete p2;534 }535 }536 537 charBus_link::mainmenu()538 {539 structtm*local;540 chars1[128];541 time_t t;542 t=time(NULL);543 local=localtime(&t);544 strftime(s1,128,"%Y-%m-%d %H:%M",local);//按照指定的格式,把时间保存在s1字符串里面545 strings;//定义字符串s,来判断功能选择是否输入错误546 cout<>n;562 if(n=="1")563 {564 cout<>m;566 if(m=="123456")567 {568 password=1;569 cout<>s;587 if(s.length()!=1||s[0]'9')//s.length()返回字符串的长度,即字符个数588 cout<>i;625 if(!cin)626 throwstring("\n数据输入错误");627 }628 if(k==0||i==2)629 {630 if(pp.getkey()==1)631 {632 cout<>i;634 if(!cin)635 throwstring("\n数据输入错误");636 if(i==1)637 pp.save();638 pp.clear();639 k=0;640 }641 k=0;642 }643 }644 }645 catch(strings)646 {647 cout<

c++设计地铁售票系统_c++ 课程设计之车票管理系统相关推荐

  1. c++设计地铁售票系统_地铁售票系统设计思想及部分代码

    设计思想:地铁售票系统的关键点在于换乘,所以首先要分为换乘和不换乘两种情况.不换乘比较简单,通过起始站名和终点站名查询他们的num,然后list打包输出到jsp就可以.换乘的话就先要找到两条线路,找到 ...

  2. oracle课程设计图书销售系统,oracle课程设计图书管理系统

    oracle课程设计图书管理系统 数据库课程设计 设计名称:图书管理系统 组员:尚靖伟(122068) 张红凯(122072) 班级:计 G121 班信息工程学院计算机系 2013 年 6 月 27 ...

  3. c++设计地铁售票系统_用C++(用三个类)地铁自动售票系统,,我不会弄,有人弄过么...

    展开全部 //================================ // Router.h #include #include using namespace std; // 路线 cla ...

  4. matlab设计高通系统,用matlab设计高通滤波器雪比切夫、fir两种方法 课程设计HPF.doc...

    课 程 设 计通信电子电路课程设计通信电子电路课程设计 --数字滤波器的设计张静设计题目 张静设计题生姓名生姓名光信息08-3班学光信息08-3班学 号指导教师专业班级张静 胡磊 艾永春 赵亚龙 张腾 ...

  5. 用java做小学数学系统_小学生数学练习题目自动生成系统——java课程设计

    <小学生数学练习题目自动生成系统--java课程设计>由会员分享,可在线阅读,更多相关<小学生数学练习题目自动生成系统--java课程设计(37页珍藏版)>请在金锄头文库上搜索 ...

  6. matlab仿真转速波形为负,转速、电流双闭环直流调速系统的课程设计MATLAB仿真.docx...

    转速.电流双闭环直流调速系统的课程设计MATLAB仿真 PAGE \* MERGEFORMAT25 任务书1.设计题目转速.电流双闭环直流调速系统的设计2.设计任务某晶闸管供电的双闭环直流调速系统,整 ...

  7. java万年历设计报告_JAVA《万年历系统》课程设计报告附源码.doc

    JAVA<万年历系统>课程设计报告附源码 学号<> 课程设计报告 万年历系统专业:计算机科学与技术班级:姓名:学号:指导教师:成绩: 计算机与信息工程系 2014年6月6日目录 ...

  8. java万年历课程设计代码,JAVA《万年历系统》课程设计

    JAVA<万年历系统>课程设计 面向对象程序设计面向对象程序设计 课程设计报告课程设计报告 题目题目 万年历系统万年历系统 专业专业 计算机科学与技术计算机科学与技术 班级班级 姓名姓名 ...

  9. 万年历java课程设计报告_java《万年历系统》课程设计报告附源码.doc

    java<万年历系统>课程设计报告附源码.doc 学号<面向对象程序设计>课程设计报告题目:万年历系统专业:计算机科学与技术班级:姓名:学号:指导教师:成绩:计算机与信息工程系 ...

最新文章

  1. 百度推出飓风算法,严厉打击恶劣采集
  2. Java实现文件或文件夹的复制到指定目录
  3. Unity3D脚本编程读书笔记——第1章 Hello Unity 3D(认识Unity3D游戏引擎)
  4. CUDA核心数直接腰斩,老黄40系「花式命名」被骂上知乎热搜!
  5. 爬取网易云音乐评论,延伸就能爬取网易云音乐的绝大多数数据
  6. WWW15年:改变世界的15个网站
  7. win10安装mysql初始化失败怎么办_Win10系统安装SQL2000失败 初始化错误该怎么解决?...
  8. Redis的优点和缺点
  9. linux命令 - tail:查看文件最后几行的命令
  10. 动手写操作系统9----键盘鼠标中断实现
  11. 手摸手教你使用srs服务搭建毫秒级延时直播
  12. 使用expdp(非本地)远程导出数据
  13. 关于辽大信息学院选导师的一点儿心得
  14. DC/DC电路自举电容作用
  15. 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录
  16. PHPNOW如何卸载
  17. 《概率论与数理统计》第四版 浙江大学第1-5章复习
  18. 其他问题怎么创建百度指数
  19. HTML标签textarea去除红色下划线
  20. Android 判断当前网络 wifi 3gwap(cmwap) 3gnet(cmnet)

热门文章

  1. #私藏项目实操分享#Python爬虫实战,requests模块,Python实现爬取网站漫画
  2. 管理就是管人,那究竟怎么管?
  3. 基于JavaWeb的传染性疾病的了解与预防网站设计
  4. 边缘计算,5G时代新风口
  5. Python_Virtualenv虚拟环境的搭建
  6. Big Data Boom In China
  7. 个人和企业如何认证视频号?
  8. 手动查杀木马病毒实战视频教程
  9. unity3D 知识点随手记
  10. 华为荣耀5cvs华为v9play_荣耀畅玩7C和荣耀V9Play综合对比评测 看完这些在决定