车票管理系统实验报告(电子)(共18页).doc
《车票管理系统实验报告(电子)(共18页).doc》由会员分享,可在线阅读,更多相关《车票管理系统实验报告(电子)(共18页).doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上二一三 二一四学年第 二 学期车票管理系统实验报告物理与电子工程学院课程名称: 数据结构 班 级: 学 号: 姓 名: 二一四 年 六 月(1)题目:车票管理系统(2)系统功能模块结构图(3)各模块的功能1. 信息输入模块即录入班次信息:完成班次信息的输入功能,输入信息包括班次、发车时间、起点站、终点站、行车时间、额定载量、已定票人数等;2. 信息浏览模块即浏览班次信息:完成已录入信息的显示;3. 信息查询模块即查询班次信息:完成班次信息的查询,查询时对应有按班次查询和按终点站查询两种方式;4. 售票和退票模块:完成车票的购买和退订的功能;5. 菜单选择模块即主菜单:
2、完成用户命令的接收,此模块也是车票管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能。(4)数据结构设计及用法说明头文件,一个名TICKET的结构体进行定义:typedef struct ticket /用typedef定义结构体为TICKETint num; /班次char starttime10; /发车时间char begin21; /起始站char end21; /终点站float lasttime; /行车时间int CarryNumber; /额定载量int SellNumber; /已定票人数struct ticket *next; /结
3、点的指针域TICKET,*Ticket; /结构体类型指针然后对各调用函数进行定义:void InsertTicket() /录入班次void FileRead() /班次信息文件读入void Keep() /保存数据void ScanTicket() /浏览信息void ScanTicket() /浏览信息void SearchbyNum() /按班次查询班次void SearchbyEnd() /按终点站查询班次 void Buyticket() /预定车票 void ReturnTicket() /退订车票 int GetHour(char *s) /获取班次小时int GetMinut
4、e(char *s) /获取班次分钟void exit() /退出该系统最后定义main()函数,利用函数调用,实现程序的各种功能。将其放在系统文件ticket.txt中。(5)画出各函数流程图(6)实验结果(包括输入数据和输出结果)0)主菜单1).录入界面2).浏览界面3).查询界面1.按班次查询2.按终点站查询4).订票界面5).退票界面6).退出系统Ticket文件截图:(7)体会经过两周的数据结构设计训练,让我们独立完成一个小系统,让我学到很多东西:(1)巩固和加深了对链表,指针的理解,提高综合运用所学知识的能力。(2)培养了我独立思考,深入研究,分析问题、解决问题的能力;通过实践解决
5、实际问题,并学会了很多实用的函数。(3)在编辑程序代码的时候,这是一个至关重要、复杂而且需要反复修改的环节,在此环节中我发现存在很多问题,需不断改进。如何实现各函数功能,达到预期效果也将是一项繁复的工作。(4)代码的调试在Visual C+6.0环境下输入代码并进行调试和正确运行。在调试过程中会遇到很多需要精化的地方,需要十足的耐心与细心,不断改进完善程序。(5)最后,程序可以正确运行之后,在不影响程序功能的情况下,运用各种辅助性符号,使界面更加美观漂亮,操作更人性化增强程序的新意与可行性。而其中我发现system(cls)命令特别好用,因为之前在不知道system(cls)有清屏的功能时,在
6、运行程序时,重复操作一些功能的时候,每次进行一项操作,运行窗口里的内容会一直保留着,感觉很杂乱,知道可以使用system(cls);这一语句可以解决这个问题,里面的内容很多,很繁琐,让人有点眼花缭乱,就是说全部的操作都显示在屏幕中。但是,在用了system(cls)命令之后,程序显得更加清楚,更加简洁美观,就是在执行完一个功能之后就把内容都清理掉,然后再返回主菜单或返回其它功能的界面,是操作者更好的操作。不过,程序中还存在一些问题,当要求用户输入数字选择,若输入字符型数据或其他非整型数据时,还是存在系统不能运行的问题。但是,因为写程序时是要求用户输入数字的时候是必须用整型的,所以只要用户按要求
7、输入正确的数据,程序是能正确运行的。通过这次训练,使我更加熟悉的掌握了C语言的运用。帮助我熟悉了更多C语言的功能,提高了我的动手能力,学到了许多解决实际问题的宝贵经验。另外,在这次课程设计中我也遇到许多问题和麻烦,得到了老师的帮助和指导,才能够使得这次课程设计顺利的进行下去,另外,在程序调试过程中,也得到很多同学的帮助,给我及时指出错误,提出许多宝贵意见。(8)参考文献一:C程序设计(第四版) 谭浩强 著 清华大学出版社二:数据结构(C语言版) 严蔚敏 著 人民邮电出版社三:C语言项目案例分析 明日科技 著 清华大学出版社(9)附录:源程序:#include /宏定义函数#include /标
8、准库文件#include /时间库函数#include /串操作及内存操作函数typedef struct ticket /用typedef定义结构体为TICKETint num; /班次char starttime10; /发车时间char begin21; /起始站char end21; /终点站float lasttime; /行车时间int CarryNumber; /额定载量int SellNumber; /已定票人数struct ticket *next; /结点的指针域TICKET,*Ticket; /结构体类型指针TICKET *head; /班次头结点TICKET *rear
9、; /班次尾结点/*录入班次信息*/void InsertTicket() /录入班次FILE *fp; /定义文件型指针变量system(cls); /清屏fp=fopen(ticket.txt,r+); /fopen打开文件,读写TICKET *T;T=(TICKET *)malloc(sizeof(TICKET); /开辟内存空间printf(请输入班次信息(输入完成后请按回车键)n);scanf(%d,&T-num);printf(请输入发车时间n);scanf(%s,&T-starttime);printf(请输入起点站n);scanf(%s,&T-begin);printf(请输入
10、终点站n);scanf(%s,&T-end);printf(请输入行车时间n);scanf(%f,&T-lasttime);printf(请输入额定载量n);scanf(%d,&T-CarryNumber);printf(请输入已定票人数n);scanf(%d,&T-SellNumber);rear-next=T; /在TICKET单链表中依次插入下一结点rear=T;T-next=NULL; /指针域置空rear-next=NULL; /班次尾结点的指针域置空fclose(fp); /文件关闭printf(信息已保存!n);/*文件读入*/void FileRead() /班次信息文件读入F
11、ILE *fp; /定义文件型指针变量system(cls); /清屏if(fp=fopen(ticket.txt,r+)=0) /如果文件内容为空printf(n打开文件错误!n);exit(0);while(!feof(fp) /读取文件并判断是否抵达文件尾TICKET *T;T=(TICKET *)malloc(sizeof(TICKET);/开辟内存空间fscanf(fp,%d%s%s%s%f%d%dn,&T-num,&T-starttime,&T-begin,&T-end,&T-lasttime,&T-CarryNumber,&T-SellNumber);/根据指定格式从指定文件读取
12、信息rear-next=T; /在TICKET单链表中依次插入下一结点rear=T;rear-next=NULL; /班次尾结点的指针域置空fclose(fp); /文件关闭/*文件数据保存*/void Keep() /保存数据FILE *fp; /定义文件型指针变量if(fp=fopen(ticket.txt, r+)=0) /如果文件内容为空printf(n打开文件错误!n);exit(0);Ticket T=head-next;while(T!=NULL)fprintf(fp,%dt%st%st%st%.2ft%dt%dn,T-num,T-starttime,T-begin,T-end,
13、T-lasttime,T-CarryNumber,T-SellNumber);T=T-next; /根据指定格式发送信息到指定文件fclose(fp); /文件关闭/*浏览班次信息*/void ScanTicket() /浏览信息system(cls); /清屏Ticket T=head-next;printf(n各班次信息如下:n);printf(n班次t发车时间t起点站t终点站t行车时间 额定载量 已定票人数n);printf(_n);while(T!=NULL)printf(%dt%stt%st%st%.2ftt%dtt%dn,T-num,T-starttime,T-begin,T-en
14、d,T-lasttime,T-CarryNumber,T-SellNumber);T=T-next;printf(_n);/*查询信息*/void SearchTicket() /查询班次信息 system(cls); /清屏void SearchbyNum(); /函数声明 按班次查询void SearchbyEnd(); /函数声明 按终点站站查询int i,j=0;while(j!=1)system(cls); /清屏printf(n);printf( 查询子菜单n); printf(=n); printf( 1.按班次查询tn); printf( 2.按终点站站名查询tn); prin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车票 管理 系统 实验 报告 电子 18
限制150内