列车时刻表查询系统.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
列车时刻表查询系统

1.题目 《列车时刻表信息管理系统》 2.功能 (1)读取准备好的数据(一些列车及其发车时间) (2)查询列车(查询是否有该方向列车以及该方向列车的各个出发时间) (3)增加列车(可以随意增加列车及其时间,次数不限) (4)修改列车(如果你发现某个列车时间不对,不要紧,在这里,你可以修改时间) (5)删除列车(如果你想取消某个车次,可以删除它) (6)保存数据(如果你对原来时刻表进行了修改,你可以把修改后的新时刻表保存在任意地方) 3.要求 1、信息录入,包括记录的追加和插入; 2、信息删除; 3、信息修改; 4、信息排序和查询; 5、信息的保存和装载; 6、简单的帮助。 4.程序设计思路 1::主函数 主函数是整个程序的支架。在主程序里面,我主要做了两件事:1,从已知的文件(预先录入一些数据)中读出数据到结构体数组中。2,让用户选择要执行的操作。在选择操作时,我用了switch语句,根据用户键入的数字选择相应的功能。键入1则执行查询功能,这时候管理者可方便的查询列车信息。知道列车的时间,车次……键入2则执行修改功能,这时管理者可以修改列车的时间。键入3则执行增加功能,只要录入目的地,车次,时间就可以新增一个列车。(注:本程序默认出发点为苏州站,所以只要输入目的地就行。)键入4则执行取消功能,管理者可以取消某个列车。键入5则执行保存功能,你可以把修改后的新数据保存到新创建的文件里面。键入0则退出整个程序(注意:若不在退出程序前执行保存,则所做修改无效)。 2:查询函数 本函数可以将去相同目的地的所有列车的信息都显示出来。并且可以无限制的重复查询。由于在查询之前应经执行了排序函数(查询数据之前就已经排好顺序),所以显示出来的列车按时间排序,方便管理者查询。 3:修改函数 本函数可以修改列车的时间。由于存在去往同一目的地会有不同时间的车次这一情况,所以将代码优化,将去某地的所有列车依次显示出,并且让管理者依次选择是否要修改列车,提高了修改效率。相当于在修改前做了一个查询的工作。当然如果没有相应的列车的话是不能修改的,系统会显示出没有此趟列车。修改之后,本函数会自动调用排序函数,将所修改后的数据重新排序。管理者在输入修改数据时应该注意输入格式。(如2011 1 1 1 1表示修改后的时间为2011年1月1日1点01分。) 4:排序函数 本函数不由管理者选择是否要执行,系统会自动在某些情况下将整个结构体数组进行排序。这样减免了人力,使程序更加人性化。本函数是根据年份,月份,天,小时,分钟进行依次排序,将日期早的自动放在前面,方便实际应用。 5:增加函数 本函数可以增加一个新的列车。管理者依次输入目的地,车次,时间就可以完成一个新列车的添加,次数不限。增加新列车后,系统又会自动进行排序。其主要实现方式是在原来的数据表中,有一个0000000的列车名,这个列车名字其实是一个终止符,放在所有的列车的后面。程序会吧新增的列车保存在这个结构体里面,再把后面的一个结构体的名字命名为0000000; 6:取消函数 本函数可以取消一个列车。管理者需要先输入目的地,然后系统会将所有的去这个目的地的列车逐个列出来,让管理者选择是否删除。这个逻辑跟修改列车时间有点相似。实现取消列车的功能,是将要删除的列车的结构体找出,把这个结构体以后的所有结构体都往前移动一个位子。 7:保存函数 本函数可以保存修改后的新数据表,管理者可以将数据保存在磁盘的任意位置。实现功能的主要函数是fprintf,文件的路径有管理者自己录入。如果录入的文件路径与名字与原来数据文件相同,则系统会覆盖原来的文件。(建议管理者保存在原路径d:\\实践\\wenjian.txt) 8:退出函数,结束本程序(注意退出前保存修改) 5.程序设计遇到的问题 其实,在写程序时,我遇到了不少的困难。 1:想用链表但概念不清 本来我使用链表做的,整个程序也写得差不多了,最后编时出现问题。也不能正常使用某些功能。结果放弃了用链表,而用结构体数组重新编写代码。 2:各种错误 (1)“;”忘记加导致编译时报错。当然,下面的功能就不能正常运行了。 (2)“”忘记加导致东西输不进去多加了“”又导致在将数据写入文件中时,写进去的东西都变成内存代码(一连串数字的那个)。 (3)“}”漏掉,导致编译出错,“}”位置加的不对导致程序不能正常运行。 (4)文件的读写。一开始,我用的读写函数是fread和fwrite.可是用这两个函数时读写数据时一直出错(多读了几位,导致后面的变量得不到值而变成乱码)。后来我改用fscanf和fprintf,一切才正常。 (5)函数声明问题。由于本程序是自动排序的,所以在子函数中要调用排序子函数,我一开始没对排序函数进行声明(排序函数比较靠后),编译时报错。后来改掉了。 (6)打错字。有些命

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档