c++铁路售票管理系统的设计_第1页
c++铁路售票管理系统的设计_第2页
c++铁路售票管理系统的设计_第3页
c++铁路售票管理系统的设计_第4页
c++铁路售票管理系统的设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、C+程序设计课程设计说明书题 目铁路售票管理系统的设计学 号姓 名指导教师王丽颖日 期2014-2015秋学期 第16、17周内蒙古科技大学课程设计任务书课程名称面向对象程序设计A课程设计设计题目铁路售票管理系统的设计指导教师王丽颖时间2014-2015秋学期 第16、17周一、教学要求1. 巩固和加深学生对C+语言课程的基本知识的理解和掌握 2. 掌握C+语言编程和程序调试的基本技能 3. 利用C+语言进行基本的软件设计 4. 掌握书写程序设计说明文档的能力 5. 提高运用C+语言解决实际问题的能力二、设计资料及参数用C+设计一个系统,能提供下列服务:(1)录入车次信息,格式为:车次发车时间

2、起始终点硬座票价剩余座位k26420:30包头北京110200可不定时地增加车次数据。(2)浏览车次信息,可显示出所有车次,如果当前系统时间超过了某车次的发车时间,则显示“此班列车已发出”的提示信息。(3)查询路线:可按车次编号查询,可按起始站,终点站查询(4)售票和退票功能A:查询车次或站点。当剩余座位数大于0,并且当前系统时间小于发车时间时才能售票,售票后自动更新剩余座位数。B:退票时,输入退票的车次,当本班列车未发出时才能退票,退票后自动更新剩余座位数。三、设计要求及成果根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,

3、设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和力一法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)提交课程设计报告:完成系统总结报告以及系统使用说明书目录内蒙古科技大学课程设计任务书2第1章 需求分析4第2章 总体设计4第3章 类的设计53.1 Busman类的设计5第4章 详细设计64.1 工程视图64.2 类图视图64.3主程序流程图7第5章 测试7第6章 总结10附录:程序代码10第1章 需求分析用C+设计一个系统,能提供下列服务:(1)录入车次信息,格式为:车次发车时间起始终点硬座票价剩余座位k26420:30包头北京110200可

4、不定时地增加车次数据。(2)浏览车次信息,可显示出所有车次,如果当前系统时间超过了某车次的发车时间,则显示“此班列车已发出”的提示信息。(3)查询路线:可按车次编号查询,可按起始站,终点站查询(4)售票和退票功能A:查询车次或站点。当剩余座位数大于0,并且当前系统时间小于发车时间时才能售票,售票后自动更新剩余座位数。B:退票时,输入退票的车次,当本班列车未发出时才能退票,退票后自动更新剩余座位数。第2章 总体设计1. 用结构图表示各功能间关系开始进入主菜单退出程序退票售票查询路线信息浏览火车信息录入火车信息终点查询班次查询2. 功能模块描述车次录入录入车次,发车时间,起始站,终点站,硬座票价,

5、剩余座位。车次浏览浏览车次信息,可显示出所有车次,如果当前系统时间超过了某车次的发车时间,则显示“此班列车已发出”的提示信息车次查询查询路线:可按车次编号查询,可按终点站查询售票查询车次或站点。当剩余座位数大于0,并且当前系统时间小于发车时间时才能售票,售票后自动更新剩余座位数。退票退票时,输入退票的车次,当本班列车未发出时才能退票,退票后自动更新剩余座位数。第3章 类的设计3.1 Busman类的设计1.画出类图Busmanstring Num; string SetoutTime; string BegPlace; string EndPlace; string Price; int Ca

6、pacity; int HumNum;void FoundInfo(); void SearchInfo(); void ShowInfo(); void ExitTicket(); void SellTicket(); 图3.1类图2.对类的函数成员的说明void FoundInfo();输入1;进行火车票录入操作;返回建立成功按任意键返回void SearchInfo(); 输入2;进行浏览火车票操作;返回火车票信息按任意键返回void ShowInfo(); 输入3;进行查询路线信息查询操作;返回火车路线信息按任意键返回void SellTicket(); 输入4;进行售票操作;返回火车

7、票购买成功或者已发车按任意键返回void ExitTicket(); 输入5;进行退票操作;返回退票成功或者该车已发无法退票按任意键返回第4章 详细设计4.1 工程视图 图4.1工程视图4.2 类图视图 图4.2类图视图4.3主程序流程图开始 主菜单查询路线信息录入车次信息售票退票退出程序浏览火车信息结束按终点查询按班次查询图4.3主程序流程图第5章 测试 5.1车次信息录入5.2车次信息浏览5.3车次信息查找5.4售票5.5退票第6章 总结 经历过基本几天都在看程序的时间,我发现我懂的太少,要学的太多。原以为会很轻松,但还是遇到很多问题,以前上课时从未想到过。对文件的操作我一直都没注意,学习

8、与实践果然是不可分割的。本次课程设计在老师的帮助和自己的努力下终于能够成功运行,使我感到非常高兴以及提高了自己的编程信心,虽然这次课程设计的题目实现比较简单和不实用但毕竟是自己将近两个星期的努力地结果。在期间我对编程的理念理解又加深了一点,他是我明白好的算法或者是好的逻辑思维对编程的重要性,当费很大劲才把程序调运行的时候那种感觉实在是太好了。在本次课程设计活动中,我明显的感觉到自己知识的欠缺和实际动手能的差劲。尤其是在传值传参的函数调用时更体现的非常明显,感觉自己的书本学的不透、学的不扎实。有些地方更本就不会,不如说文件的操作,比如说系统时间的获取等以前在上课或作习题时更本就不会考虑的问题在课

9、程设计当中完全暴露出来。此次实习加强了我的理解,很多以前迷糊的概念得到了明确,亦让我感到计算机语言的强大之处。一句诗概括此次实践,“山重水复疑无路,柳暗花明又一村”;如今实践已然结束,但是对于计算机语言的学习决不能放松,“雄关漫道真如铁, 而今迈步从头越”。现在的世界是信息化的,路漫漫其修远兮,吾将上下而求索。感谢老师抽出时间的指导,同时亦感谢大家这些天来的支持与帮助。附录:程序代码#include<iostream>#include<fstream>#include<conio.h>#include<string>#include<cst

10、dio>#include<windows.h>using namespace std;struct node string Num; string SetoutTime; string BegPlace; string EndPlace; string Price; int Capacity; int HumNum; node *Next;class Busman private: node *BusHead; public: Busman()BusHead=NULL; void FoundInfo(); void SearchInfo(); void ShowInfo();

11、 void ExitTicket(); void SellTicket();void Busman:FoundInfo() node *p=NULL,*q; int i,n; cout<<"n录入班次信息:n" cout<<"记录总数:" cin>>n; for (i=0; i<n;i+) q=p; p=new node; cout<<"班次:" cin>>p->Num; cout<<"发车时间:" cin>>p->

12、;SetoutTime; cout<<"起始站:" cin>>p->BegPlace; cout<<"终点站:" cin>>p->EndPlace; cout<<"硬座票价:" cin>>p->Price; cout<<"剩余座位:" cin>>p->Capacity; p->HumNum=0; if(Busman:BusHead=NULL) Busman:BusHead=p; else q

13、->Next=p; cout<<endl; p->Next=NULL; cout<<"建立完毕!"<<endl;void Busman:ShowInfo() string time; node *p; cout<<"当前时间为:" cin>>time; cout<<"班次"<<"t"<<"发车时间"<<" "<<"起始站"&l

14、t;<"t"<<"终点站"<<" "<<"硬座票价"<<"t"<<"客载量"<<" "<<"订票人数"<<"发出"<<endl; for (p=Busman:BusHead; p!=NULL; p=p->Next) cout<<p->Num<<"t"

15、<<p->SetoutTime<<"t"<<p->BegPlace<<"t"<<p->EndPlace<<"t"<<p->Price<<"t"<<p->Capacity<<"t"<<p->HumNum; if (time >= p->SetoutTime) cout<<"(已发车)"&l

16、t;<endl; else cout<<"(未发车)"<<endl; void Busman:SearchInfo() int sel; string s; node *p; cout<<"(1)班次查找"<<endl; cout<<"(2)终站查找"<<endl; cout<<">>>>选择:" cin>>sel; if (sel=1) cout<<"输入查找的班次号

17、:" cin>>s; else if (sel=2) cout<<"输入查找的终点名称:" cin>>s; cout<<"班次"<<"t"<<"发车时间"<<" "<<"起始站"<<"t"<<"终点站"<<" "<<"硬座票价"<<&

18、quot;t"<<"客载量"<<" "<<"订票人数"<<"发出"<<endl; for (p=Busman:BusHead; p!=NULL; p=p->Next) if (sel=1 && p->Num=s) | (sel=2 && p->EndPlace=s) cout<<p->Num<<"t"<<p->SetoutTime

19、<<"t"<<p->BegPlace<<"t"<<p->EndPlace<<"t"<<p->Price<<"t"<<p->Capacity<<"t"<<p->HumNum; break; if (p=NULL) cout<<"未找到!"<<endl; void Busman:ExitTicket() st

20、ring s,t; node *p; cout<<"退票的班次是:" cin>>s; for (p=BusHead; p!=NULL; p=p->Next) if (p->Num=s) break; if (p=NULL) cout<<"未找到班次!"<<endl; return; cout<<"当前时间是:" cin>>t; if (t < p->SetoutTime) p->HumNum-; cout<<"退

21、票成功!"<<endl; else cout<<"该车已发无法退票!"<<endl; void Busman:SellTicket() string t,s; node *p; cout<<"售票的班次是:" cin>>s; for (p=BusHead; p!=NULL; p=p->Next) if (p->Num=s) break; if (p=NULL) cout<<"未找到班次!"<<endl; return; cout&

22、lt;<"当前时间是:" cin>>t; if (t < p->SetoutTime && p->HumNum+1 <= p->Capacity) p->HumNum+; cout<<"售票成功!"<<endl; else cout<<"该车已发或客载量已满!"<<endl; void ShowForm();int main() int sel; Busman BusAdmin; while (1) system("cls"); ShowForm(); cin>>sel; switch (sel) case 1: BusAdmin.FoundInfo(); break; case 2: BusAdmin.ShowInfo(); break; case 3: BusAdmin.SearchInfo(); break; c

温馨提示

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

评论

0/150

提交评论