




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+程序设计课程设计说明书题 目铁路售票管理系统的设计学 号1376807326姓 名周旭指导教师孙涛日 期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)提交课程设计报告:完成系统总结报告以及系统使用说明书目录第1章 需求分析4第2章 总体设计4第3章 类的设计53.1 Busman类的设计5第4章 详细设计64.1 工程视图6 4.2 类的视图64.3主程序流程图.7第5章 测试8第6章 总结11附录:程序代码11第1章 需求分析用C+设计一个系统,能提供下列服务:(1)录入车次信息,格式为:车次发车时间起始终点硬座票价剩余座位k26420:30包头北京110200可不定时地增
4、加车次数据。(2)浏览车次信息,可显示出所有车次,如果当前系统时间超过了某车次的发车时间,则显示“此班列车已发出”的提示信息。(3)查询路线:可按车次编号查询,可按起始站,终点站查询(4)售票和退票功能A:查询车次或站点。当剩余座位数大于0,并且当前系统时间小于发车时间时才能售票,售票后自动更新剩余座位数。B:退票时,输入退票的车次,当本班列车未发出时才能退票,退票后自动更新剩余座位数。第2章 总体设计车次录入1.车次浏览班次查找车次查询铁路售票系统终点查找售票退票2. 功能模块描述车次录入:录入车次信息车次浏览:浏览车次信息车次查询:查询车次信息售票:订票退票:退票第3章 类的设计3.1 B
5、usman类的设计(第一个类)1.画出类图类名Busman数据成员 string Num; string SetoutTime; string BegPlace; string EndPlace; string Price; int Capacity; int HumNum;函数成员 void FoundInfo(); void SearchInfo(); void ShowInfo(); void SellTicket(); void ExitTicket(); void SaveInfo(); 2. 对类的函数成员的说明void FoundInfo(); 输入1:进行车票录入功能,返回建立
6、成功按任意键返回 void SearchInfo(); 输入2:进行信息浏览操作,返回车票信息按任意键返回 void ShowInfo(); 输入3:进行查询路线信息操作,返回路线信息任意键返回 void SellTicket(); 输入4:进行售票操作,返回火车票购买成功 void ExitTicket(); 输入5:进行退票操作,返回火车票退票成功 第 4 章 详细设计4.1工程视图 4.2类的视图 开始4.3主程序流程图主菜单界面 查询火车信息录入火车信息退票浏览火车信息售票按班次查询 按站点查询结束程序第5章 测试 5.1车次信息录入5.2车次信息浏览5.3车次信息查找5.4售票5.5
7、退票第6章 总结通过这次C+编程,我们提高了对编程语言的认识,同时也增加了对c+的兴趣,在老师的指导下,我们更加熟练了对语言的掌握,也增加了对自己未来能更好的使用编程语言。c+语言的使用也有很大的乐趣。在编程中不断的思考,不断的改进,不断的去探索,锻炼了我们的思维,也加强了我们的逻辑能力。希望我们能更好的去使用编程语言来为我们生活增加更大的乐趣。附录:程序代码#include<iostream>#include<fstream>#include<conio.h>#include<string>#include<cstdio>#incl
8、ude<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(); void ExitTi
9、cket(); 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->SetoutTime;
10、 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->Next=p;
11、 cout<<endl; p->Next=NULL; cout<<"建立完毕!"<<endl;void Busman:ShowInfo() string time; node *p; cout<<"当前时间为:" cin>>time; cout<<"班次"<<"t"<<"发车时间"<<" "<<"起始站"<<"
12、t"<<"终点站"<<" "<<"硬座票价"<<"t"<<"客载量"<<" "<<"订票人数"<<"发出"<<endl; for (p=Busman:BusHead; p!=NULL; p=p->Next) cout<<p->Num<<"t"<<p-&g
13、t;SetoutTime<<"t"<<p->BegPlace<<"t"<<p->EndPlace<<"t"<<p->Price<<"t"<<p->Capacity<<"t"<<p->HumNum; if (time >= p->SetoutTime) cout<<"(已发车)"<<endl;
14、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<<"输入查找的班次号:" cin&
15、gt;>s; else if (sel=2) cout<<"输入查找的终点名称:" cin>>s; cout<<"班次"<<"t"<<"发车时间"<<" "<<"起始站"<<"t"<<"终点站"<<" "<<"硬座票价"<<"t"
16、<<"客载量"<<" "<<"订票人数"<<"发出"<<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<<&quo
17、t;t"<<p->BegPlace<<"t"<<p->EndPlace<<"t"<<p->Price<<"t"<<p->Capacity<<"t"<<p->HumNum; break; if (p=NULL) cout<<"未找到!"<<endl; void Busman:ExitTicket() string s,t; no
18、de *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<<"退票成功!"&l
19、t;<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<<"
20、;当前时间是:" 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; case 4: BusAdmin.SellTicket(); break; case 5: BusAdmin.ExitTicket(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电力设施拆除及安全防护合同
- 2025年综合类-内科住院医师-感染科历年真题摘选带答案(5套单选100题合辑)
- 餐饮行业食品安全监管与咨询合同
- 2025年综合类-内分泌相关专业知识-结核病历年真题摘选带答案(5卷单选100题合辑)
- 2025年综合类-公务员-教师公开招聘历年真题摘选带答案(5卷单选100题合辑)
- 2025年综合类-保险经纪人考试-第八章人寿保险实务历年真题摘选带答案(5卷单选100题合辑)
- 2025年综合类-住院医师中医公共科目-住院医师中医公共科目-中医骨伤科住院医师-中医骨伤科历年真题摘选带答案(5套单选100题合辑)
- 2025年综合类-中级系统集成项目管理工程师-信息系统安全管理历年真题摘选带答案(5卷单选题百道集合)
- 2025年综合类-中级农业经济-第七章农村集体经济统计历年真题摘选带答案(5卷单选题百道集合)
- 外资入市规则管理办法
- 2021-2022学年四川省成都市龙泉驿区七年级(下)期末数学试卷(附答案详解)
- GB/T 622-2006化学试剂盐酸
- GB/T 32439-2015给水用钢丝网增强聚乙烯复合管道
- GB/T 15036.1-2001实木地板技术条件
- 第45课 少子化が進んで、日本の人口はだんだん減っていくでしょう 课件 高中新版标准日本语初级下册
- 平安一生无忧年金保险销售篇课件
- 高三数学备考策略课件
- DTII型固定式带式输送机的设计详解
- 2022年青岛市卫生健康系统事业单位招聘笔试试题及答案解析
- 10-1EJT-564-1991核电厂物项包装、运输、装卸、接收、贮存和维护要求
- ICD-10恶性肿瘤编码整理版
评论
0/150
提交评论