列车时刻表信息管理系统实践报告C语言

阅读: 评论:0

电子与信息工程系
课程设计报告书
课程名称:        程序设计基础实践         
    级:                                  最新招聘信息工作
    号:                           
    名:                           
旅顺一日游必去景点指导教师:                       
二○一4天游玩地方推荐国内年
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表示修改后的时间为201111101分。)
4:排序函数
本函数不由管理者选择是否要执行,系统会自动在某些情况下将整个结构体数组进行排序。这样减免了人力,使程序更加人性化。本函数是根据年份,月份,天,小时,分钟进行依次排序,将日期早的自动放在前面,方便实际应用。
5:增加函数
本函数可以增加一个新的列车。管理者依次输入目的地,车次,时间就可以完成一个新列车的添加,次数不限。增加新列车后,系统又会自动进行排序。其主要实现方式是在原来的数据表中,有一个0000000的列车名,这个列车名字其实是一个终止符,放在所有的列车的后面。程序会吧新增的列车保存在这个结构体里面,再把后面的一个结构体的名字命名为0000000
6:取消函数
本函数可以取消一个列车。管理者需要先输入目的地,然后系统会将所有的去这个目的地的列车逐个列出来,让管理者选择是否删除。这个逻辑跟修改列车时间有点相似。实现取消列车的功能,是将要删除的列车的结构体出,把这个结构体以后的所有结构体都往前移动一个位子。
7:保存函数
本函数可以保存修改后的新数据表,管理者可以将数据保存在磁盘的任意位置。实现功能的主要函数是fprintf上海酒店式公寓,文件的路径有管理者自己录入。如果录入的文件路径与名字与原来数据文件相同,则系统会覆盖原来的文件。(建议管理者保存在原路径d:\\实践\\
8:退出函数,结束本程序(注意退出前保存修改)
5.五一哪个地方最适合旅游程序设计遇到的问题
其实,在写程序时,我遇到了不少的困难。
1:想用链表但概念不清
本来我使用链表做的,整个程序也写得差不多了,最后编时出现问题。也不能正常使用某些功能。结果放弃了用链表,而用结构体数组重新编写代码。
2:各种错误
1)“;”忘记加导致编译时报错。当然,下面的功能就不能正常运行了。
2)“&”忘记加导致东西输不进去多加了“&”又导致在将数据写入文件中时,写进去的东西都变成内存代码(一连串数字的那个)。
3)“}”漏掉,导致编译出错,“}”位置加的不对导致程序不能正常运行。
天津两日游攻略及住宿
4)文件的读写。一开始,我用的读写函数是freadfwrite.可是用这两个函数时读写数据时一直出错(多读了几位,导致后面的变量得不到值而变成乱码)。后来我改用fscanffprintf,一切才正常。
5)函数声明问题。由于本程序是自动排序的,所以在子函数中要调用排序子函数,我一开始没对排序函数进行声明(排序函数比较靠后),编译时报错。后来改掉了。
6)打错字。有些命令或名称打错会导致编译通不过,这个也难以避免,发现后改掉就行。
…………(还有很多)
3:函数功能不完善
我的程序旁边有版本号,说明这已经是改进版。
初始版本1.00,总共只有178行代码,很多功能都不全或不稳定
现在版本1.20,增加了以下内容
(1) 优化操作界面,改变布局和背景颜
(2) 增加了年月日和车次的结构体变量
(3) 对函数的某些地方做了注释
(4) 新加了排序功能
(5) 优化的操作流程,使操作更具人性化,更加方便
(6) 将部分代码进行改写,优化程序速度
6.实践总结
本次实践初始代码是我在家里独自完成的,到学校后跟同学的一对比,才发现自己的程序不够好,所以自己对程序进行各方面优化。每加一个新内容或者改一下代码,我就在v1.00后面+1(v1.02)现在已经优化到v1.20了(大改动则会将增加的数值变高点)。虽然这个数字对程序本身来说没有多大的意义,但它是我进步的印记。我深刻感到自己“多一点优化,多一分快乐”。我得编程能力也在不断提高,我对编程的兴趣也在渐渐增加。当然,合作是必须的。有些时候,我们会碰到这样那样的问题,有些时候,这些问题难以解决。这时候就需要同学的帮助了,也许他刚好知道这个知识点,问题就解决了。在某种意义上说,这也是一种交流吧。感谢学校给我这次实践机会,我会继续努力,做一个IT精英。

本文发布于:2023-07-30 19:16:40,感谢您对本站的认可!

本文链接:http://www.035400.com/whly/3/557689.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:列车   函数   修改   程序   管理者   时间   功能   排序
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2024-2030 Comsenz Inc.Powered by © 文化旅游网 滇ICP备2022007236号-403 联系QQ:1103060800网站地图