ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:110.06KB ,
资源ID:6327075      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6327075.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++课程设计长途客运售票管理系统总20页.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++课程设计长途客运售票管理系统总20页.docx

1、C+课程设计长途客运售票管理系统总20页C+课程设计长途客运售票管理系统(总20页)课程设计说明书题 目长途客运售票管理系统的设计学 号姓 名指导教师日 期内蒙古科技大学课程设计任务书课程名称面向对象程序设计A课程设计设计题目长途客运售票管理系统的设计指导教师时间一、教学要求1. 巩固和加深学生对C+语言课程的基本知识的理解和掌握2. 掌握C+语言编程和程序调试的基本技能3. 利用C+语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C+语言解决实际问题的能力二、设计资料及参数用C+设计一个系统,能提供下列服务:(1)录入车次信息,格式为:车次开车时间起始终点票价剩余座位

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

3、类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)提交课程设计报告:完成系统总结报告以及系统使用说明书第1章 需求分析 3第2章 总体设计 3第3章 类的设计 33.1 类的设计 33.2 类的设计 4第4章 详细设计 44.1 工程视图 44.2 类图视图 44.3 函数的调用关系 54.4 主程序流程图 54.5 主要算法的流程图 5第5章 测试 5第6章 总结 5附录:程序代码 6第1章 需求分析1.1设计资料及参数用C+设计一个系统,能提供下列服务:(1)录入车次信息,格式为:车次发车时间起始终点硬座票价剩余座位k

4、26420:30包头北京110200可不定时地增加车次数据。(2)浏览车次信息,可显示出所有车次,如果当前系统时间超过了某车次的发车时间,则显示“此班列车已发出”的提示信息。(3)查询路线:可按车次编号查询,可按起始站,终点站查询(4)售票和退票功能A:查询车次或站点。当剩余座位数大于0,并且当前系统时间小于发车时间时才能售票,售票后自动更新剩余座位数。B:退票时,输入退票的车次,当本班列车未发出时才能退票,退票后自动更新剩余座位数。第2章 总体设计2.1用结构框图表示各个功能之间的关系2.2将框图中系统的各个功能用文字详细的描述。1.铁路售票管理系统理解:系统中必须有车次信息,车次信息应该是

5、由管理员录入,可由管理员或者乘客查看,定退票及其他操作。其中要注意的是录入信息必须是由管理员完成的,所以我会创建一个乘客类,然后创建管理员类继承乘客类,进而继承乘客的所有功能,并添加录入信息的功能。信息的载体可以使链表,也可以是数组,因为我更加熟悉数组,所以我用对象数组。(为了熟悉链表,课下自己还建立了以链表存放数据的系统)系统录入信息的操作非常枯燥,所以我创建了一个文件,把每次录入的信息保存入文件,在下一次进入系统是,它会默认读取文件原有的信息,当然也可以随时添加录入车次信息。然后系统的各个功能仅仅是通过查询找到具体对象的具体数据进行操作。 2.基本功能: 录入次、始发站、终点站、开车时间(

6、小时、分钟)、票价、剩余票数等信息。浏览车次查看所有的录入车次其中开车时间小于当前时间的车次则输出车次已发出。查询车次通过搜索车次或站点来快速的查看车辆的信息。定退票车时间大于当前系统时间的前提下才可退票并且在票数大于零的前提下才可定票,票数更新。文件的存储存储录入的车次信息以便下次访问。文件的读取读取文件内的信息方便操作以上的各项功能;。第3章 类的设计3.1 service类的设计(第一个类)1.画出类图2.对类的函数成员的说明定义了一个service 类,类中包括以下几部分:公有继承了user类私有段:定义车辆的车次、开车时间(小时、分钟)、始发站、终点站、票价、票数。公有段依次为输入函

7、数、输出函数、定票函数、退票函数。添加设定信息函数。友元函数查询函数、浏览函数、文件存储函数、文件读取函数。添加输入函数。3.2 user类的设计(第二个类)1.画出类图2.对类的函数成员的说明定义了一个user 类,类中包括以下几部分:私有段:定义车辆的车次、开车时间(小时、分钟)、始发站、终点站、票价、票数。公有段依次为输出函数、定票函数、退票函数。友元函数查询函数、浏览函数、文件存储函数、文件读取函数。3.3全局变量,重要形式参数、局部变量等等,它们的命名及用途解释g-num:确定数组对象的个数,也是控制循环的条件。ticketj:代表具体的某个对象。A: bool型,判断使用者身份。B

8、: bool型,判断是否退出程序。t: long型,获得当前距1970年秒数。pt: tm 指向类的对象的指针,指向当前时间。Functionnumber:整型,选择功能。第4章 详细设计4.1 工程视图说明有几个源代码文件,可以截取工程文件视图表示4.2 类图视图4.3 主程序流程图4.4 主要算法的流程图第5章 测试5.1验证身份后登陆5.2录入信息并保存5.3验证身份5.4查询车次5.5查询子菜单5.6退、订票第6章 总结课程设计旨在锻炼学生的实际动手能力和解决真实问题的能力。并在其中掌握和熟练所学的知识,并能够运用所学知识解决比较简单的现实模拟问题。在为期两周的C+课程设计中,我体会颇

9、多,学到了很多东西。我加强了对C+程序设计这门课程的认识,并且复习了以前学到的知识。这些都使得我对计算机语言的学习有了更深入的认识!总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。课程设计,有些问题并不是只靠课本的哪些知识就可以轻易解决的。所以,它不仅锻炼了我们挑战自己的决心,学会用已掌握的知识去解决我们看似不能解决的问题,同时进一步培养了我们独立思考问题和解决问题的能力。特别是在C+中如何调试程序的方法。当然,老师的指导以及同学的帮助是不可忽视的,他们给了我提示和帮助,教会了我编译复杂程序的方法。虽然这次课程设计是在参考程序的基础之上进行的,但是我觉得不管咋样

10、来说,对我们学生都是一个挑战和锻炼。我很欣赏自己能在程序中加入自己的想法和有关程序的内容,将它进行一番改进,感觉收获很大。总之,这次的C+课程设计让我有了一些新的收获,让我对计算机语言有了更深体会,祝自己在以后的学习中更上一层楼。附录:程序代码#include #include #include #include#include #include using namespace std;const int N=10;bool A=false,B=true;long t = time(0);tm * pt = localtime(&t);void mainmenu();struct Time i

11、nt hour; int minute;class user friend void save (); friend void sure_message(); friend void browse(); friend void ticketmenu(); friend void search_train(); friend void search_station();protected: char train10; Time time; char start_station20; char end_station20; int ticket_price; int remaind_seats;p

12、ublic:void display() couttraint setfill(0)setw(2)time.hour:setw(2)time.minutett start_stationt end_stationt ticket_pricet remaind_seatst; t = :time(NULL); tm * pt = localtime(&t); if(time.hourtm_hour) couttm_hour&time.minutetm_min) cout 此班列车已发出; else coutt正常; coutendl; void order() if(time.hourtm_ho

13、ur) couttm_hour&time.minutetm_min) cout 此班列车已发出,不能订票,退出!; else if ( remaind_seats = 0 ) cout 此班列车已没票,不能订票,退出! endl; else remaind_seats = remaind_seats - 1; cout train次列车 售票一次,现存票量为: remaind_seats endl; void Delete() if(time.hourtm_hour) couttm_hour&time.minutetm_min) cout 此班列车已发出,不能退票,退出!; else rema

14、ind_seats = remaind_seats + 1; cout train次列车 退票一次,现存票量为: remaind_seats endl; ;class service :public user friend void input();public: void setinfo (char* c, int h, int m, char* q, char* z, int p, int s) strcpy(train,c); time.hour=h; time.minute=m; strcpy(start_station,q); strcpy(end_station,z); ticke

15、t_price=p; remaind_seats=s; ;service ticketN;static int g_num=-1;void save () ofstream file(数据.txt,ios:out); for(int j=0;j=g_num;j+) fileticketj.train ; fileticketj.time.hour ; fileticketj.time.minute ; fileticketj.start_station ; fileticketj.end_station ; fileticketj.ticket_price ; fileticketj.rema

16、ind_seats endl; file.close(); cout信息已存入文件endl;void input() g_num+; char c10; int h; int m; char q20; char z20; int p; int s; coutc; couth; coutm; coutq; coutz; coutp; couts; ticketg_num.setinfo (c, h, m, q, z, p, s); save ();void browse() int j; t = time(NULL); tm * pt = localtime(&t); cout当前时间:setf

17、ill(0)setw(2)tm_hour:; coutsetw(2)tm_min:; coutsetw(2)tm_secendlendl; cout现存车次信息如下:endlendl; cout车次t开车时间t起始t终点t票价t剩余座位t状态tendl; for( j=0;j=g_num;j+) ticketj.display();void search_train() char train10; couttrain; coutendlendl; for(int j=0;j=g_num;j+) if(strcmp(train,ticketj.train)=0) cout查询结果:endl; c

18、out车次t开车时间t起始t终点t票价t 剩余座位t状态tg_num) cout对不起,没有这趟车次信息!;void search_station() char station20; coutstation; coutendlendl; for(int j=0;j=g_num;j+) if(strcmp(station,ticketj.start_station)=0)|(strcmp(station,ticketj.end_station)=0) cout查询结果:endl; cout车次t开车时间t起始t终点t票价t剩余座位t状态tg_num) cout对不起,没有有关此站点的车次信息!;

19、void ticketmenu() long t = time(0); tm * pt = localtime(&t); int functionNumber;int j; cout 票务菜单 n; char train10;char station20; cout可按站点或车次查询订票(1.按站点,2.按车次)endl; coutfunctionNumber;getchar(); for(;functionNumber!=1&functionNumber!=2;) cout指令错误!请重新输入!functionNumber; coutendlendl; if (functionNumber=

20、1) coutstation; coutendlendl; for( j=0;j=g_num;j+) if(strcmp(station,ticketj.start_station)=0)|(strcmp(station,ticketj.end_station)=0) cout本车次现存信息:endl; cout车次t开车时间t起始t终点t票价t剩余座位t状态tg_num) cout对不起,没有这趟车次信息!,无法订退票!; if (functionNumber=2) couttrain; coutendlendl; for( j=0;j=g_num;j+) if(strcmp(train,t

21、icketj.train)=0) cout本车次现存信息:endl; cout车次t开车时间t起始t终点t票价t剩余座位t状态tg_num) cout对不起,没有有关此站点的车次信息!无法订退票!; if(ticketj.time.hourtm_hour) couttm_hour&ticketj.time.minutetm_min) cout此班列车已发出,不能订退票!; else coutn; cout 1.订票 n; cout 2.退票 n; cout 3.返回主菜单 n; coutn; coutfunctionNumber; for(;functionNumber!=1&function

22、Number!=2&functionNumber!=3;) cout指令错误!请重新输入!functionNumber; coutendlendl; switch(functionNumber) case 1:ticketj.order();save ();break; case 2:ticketj.Delete();save ();break; case 3:mainmenu();break; /switch ends void search_menu() int functionNumber; cout 查询子菜单 n; coutendl; cout 1.按班次查询 n; cout 2.按

23、站点查询 n; cout 3.返回主菜单 n; coutendl; coutfunctionNumber; coutendlendl; for(;functionNumber!=1&functionNumber!=2&functionNumber!=3;) cout指令错误!请重新输入!functionNumber; coutendlendl; switch(functionNumber) case 1:search_train();break; case 2:search_station();break; case 3:system(cls); mainmenu(); void mainme

24、nu() int functionNumber; cout 欢迎使用车票管理系统 n; coutendl; cout 1.录入班次信息 n; cout 2.浏览班次信息 n; cout 3.查询行车路线 n; cout 4.售票与退票系统 n; cout 5.退出系统 n; coutendl; coutfunctionNumber; coutendlendl; switch(functionNumber) case 1: char c; if (A) do input(); cout已录入g_num+1条航班信息(包括已从文件中读取的),想继续录入吗(y/n)c; for(;c!=y&c!=n;) cout

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1