收藏 分享(赏)

VC++2013火车票信息管理系统课程设计报告.doc

上传人:精品资料 文档编号:8589757 上传时间:2019-07-04 格式:DOC 页数:25 大小:1.22MB
下载 相关 举报
VC++2013火车票信息管理系统课程设计报告.doc_第1页
第1页 / 共25页
VC++2013火车票信息管理系统课程设计报告.doc_第2页
第2页 / 共25页
VC++2013火车票信息管理系统课程设计报告.doc_第3页
第3页 / 共25页
VC++2013火车票信息管理系统课程设计报告.doc_第4页
第4页 / 共25页
VC++2013火车票信息管理系统课程设计报告.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、编号: 19第 1 页/共 25 页河北工业大学计算机软件技术基础(VC)2013 年课程设计报告学院 信息工程学院 班级 通信 121 班 姓名 李小帅 学号 122208 成绩_一、题目:火车票信息管理系统(19)二、设计思路1、总体设计1)分析程序的功能在火车票信息管理系统的主菜单界面中,用户可选择不同的选项,根据不同选项的提示操作,然后程序输出用户进行操作的结果。2)系统总体结构:该程序的过程可由这几部分组成:显示系统主界面,录入火车时刻信息,查询火车时刻信息,统计火车车次,排序火车时刻信息,浏览火车时刻信息,退出系统。总共七个步骤:模块 函数名称显示系统主界面 menu录入火车时刻信

2、息 input查询火车时刻信息 search统计火车车次 statistics排序火车时刻信息 sort浏览火车时刻信息 view退出系统对于每一次选择,关注的数据有六个:车次,起点,终点,开车时间,到达时间,票价。这组数据内部耦合度很高,所以考虑把他们封装为结构体数组和结编号: 19第 2 页/共 25 页构体变量。车次,起点,终点,开车时间,到达时间,票价的初值由用户录入。表示信息 成员名称车次 trainnum起点 startp终点 endp开车时间 startt到达时间 endt票价 price结构体:timeinput结构体数组:t结构体变量:who2、各功能模块的设计:说明各功能模

3、块的实现方法1)menu 模块该函数是要输出火车票信息管理系统的主菜单界面,不需要返回值。主菜单界面如下-欢迎使用火车票信息管理系统主菜单-录入火车时刻信息,请选择:1查询火车时刻信息,请选择:2统计火车车次,请选择:3排序火车时刻信息:请选择:4浏览火车时刻信息:请选择:5退出,请选择:0代码参见 menu 函数。2)input 模块该函数是要实现为车次,起点,终点,开车时间,到达时间,票价赋初值,不需要返回值。为了能够实现随时停止录入的功能,每当用户输入车次时,都要进行判断,当输入车次为 0 时,则停止录入,返回系统主界面,否则继续录入。代码参见 input 函数。3)search 模块编

4、号: 19第 3 页/共 25 页该函数是要实现按两种不同方式查询火车时刻信息,不需要返回值。选择的方式和判断有无该车次可使用查表的方法来解决。表格如下选择 提示 判断有无该车次有 输出该车次火车时刻信息1 按照车次查询,请选择:1 无 输出“无此车次!”有 输出该车次火车时刻信息2 按照起点和终点查询,请选择:2 无 输出“无此车次!”输入其他选择时(即不是 1 或 2) ,输出“输入错误!请重新选择!”代码参见 search 函数。4)statistics 模块该函数是要实现按两种不同方式统计火车车次,不需要返回值。选择的方式和统计火车的车次可使用查表的方法来解决。表格如下选择 提示 统计

5、火车的车次1 按起点统计每日的车次数,请选择:1 输出该起点每日的车次数2 按终点统计每日的车次数,请选择:2 输出该终点每日的车次数输入其他选择时(即不是 1 或 2) ,输出“输入错误!请重新选择!”代码参见 statistics 函数。5)sort 模块该函数是要实现按两种不同方式排序火车时刻信息,不需要返回值。选择的方式和排序火车时刻信息可使用查表的方法来解决。表格如下选择 提示 输出结果1 按开车时间排序,请选择:1 输出选择 1 的排序结果编号: 19第 4 页/共 25 页2 按起点做为主关键字、开车时间做为次关键字 排序,请选择:2 输出选择 2 的排序结果输入其他选择时(即不

6、是 1 或 2) ,输出“输入错误!请重新选择!”代码参见 sort 函数。6)view 模块该函数是要输出用户录入的火车时刻信息,不需要返回值。代码参见 view 函数。7)创新设计部分通过请教老师和查阅资料,使用了 SetColor 函数,使得输出的数据加上了颜色,变得更加醒目,更加具有吸引力。同时,使用了 system(“cls“)语句,实现了清除屏幕数据的功能,使得程序运行界面变得简洁。代码参见 SetColor 函数。3、设计中的主要困难及解决方案在最开始的设计中只能够录入自己定义的火车时刻信息个数,且无法实现用户随时停止录入的功能。经过自己的修改和完善,使用变量 m 统计用户录入的

7、火车时刻信息个数,实现了用户任意录入火车时刻信息个数;通过 if 判断条件判断录入车次是否为 0,实现了用户随时停止录入的功能。4、你所设计的程序最终完成的功能1)说明你编制的程序能完成的功能用户通过不同的选项,实现对火车票时刻信息的录入、查询、统计、排序、浏览。2)准备的测试数据及运行结果编号: 19第 5 页/共 25 页编号: 19第 6 页/共 25 页编号: 19第 7 页/共 25 页编号: 19第 8 页/共 25 页编号: 19第 9 页/共 25 页编号: 19第 10 页/共 25 页编号: 19第 11 页/共 25 页编号: 19第 12 页/共 25 页编号: 19第

8、 13 页/共 25 页编号: 19第 14 页/共 25 页三、程序清单1)main 函数编号: 19第 15 页/共 25 页/预定义处理#include#include#include const int N=100;/结构体声明struct timeinputchar trainnum10;char startp10;char endp10;char startt10;char endt10;double price;tN,who;/定义结构体数组与结构体变量/函数声明void menu();void input();void search();void statistics();vo

9、id sort();void view();void SetColor(unsigned short ,unsigned short);/主函数void main()menu();/显示系统主界面int num;编号: 19第 16 页/共 25 页cinnum;for(;num!=0;)system(“cls“);/清除屏幕数据switch(num)case 1:input();break;/录入火车时刻信息case 2:search();break;/查询火车时刻信息case 3:statistics();break;/统计火车车次case 4:sort();break;/排序火车时刻信息

10、case 5:view();break;/浏览火车时刻信息case 0:break;/退出系统default:coutnum;2)menu 函数void menu()/显示系统主界面SetColor(15,0);/数据是白色,背景是黑色coutti.trainnum; coutti.startp; coutti.endp; coutti.startt; coutti.endt; coutti.price; couta; coutwho.trainnum; coutwho.startp; coutwho.endp; couta; coutwho.startp; coutwho.endp; cou

11、ta; cout0)who=tj;编号: 19第 23 页/共 25 页tj=tj+1;tj+1=who;SetColor(15,0);cout0)who=tj;tj=tj+1;tj+1=who;for(i=0;i0)编号: 19第 24 页/共 25 页who=tj;tj=tj+1;tj+1=who;SetColor(15,0);cout“按起点做为主关键字、开车时间做为次关键字排序后是:“endl;cout“车次“t“起点“t“终点“t“开车时间“;cout“t“到达时间“t“票价“endl;for(i=0;im;i+)SetColor(9,0);coutti.trainnum“t“ti.

12、startp“t“ti.endp“t“ti.startt;cout“t“t“ti.endt“t“t“ti.priceendl;elseSetColor(12,0);cout“输入错误!请重新选择!“endl;7)view 函数void view()/浏览火车时刻信息SetColor(15,0);cout“车次“t“起点“t“终点“t“开车时间“t“;cout“到达时间“t“票价“endl;for(int i=0;im;i+)编号: 19第 25 页/共 25 页SetColor(9,0);coutti.trainnum“t“ti.startp“t“ti.endp“t“;coutti.start

13、t“t“t“ti.endt“t“t“ti.priceendl;8)SetColor 函数void SetColor(unsigned short ForeColor=7,unsigned short BackGroundColor=0)/设置颜色HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(hCon,ForeColor+BackGroundColor*0x10);四、对该设计题目有何更完善的方案1、对自己完成程序进行自我评价。我的程序非常好的完成了任务中规定的设计内容,并添加了自主创新设计内容,运行完全正确。2、对课题提出更完善的方案建议对火车时刻信息加入余票、学生票、成人票信息,并且对程序添加订票和退票功能。五、收获及心得体会收获:学习并掌握了如何使用函数清除屏幕数据和给数据添加颜色的方法。心得体会:对 VC 中的许多内容使用不太熟练,以后应该多加练习,巩固学到的知识并且积极学习新知识。虽然自己编写的只是一个很小的程序,但还是花费了很长的时间,深深地体会到编写程序的艰难与不易,但是我相信,日后经过自己的努力奋斗,一定会把 VC 学好!日期: 2013 年 6 月 28 日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报