C语言课程设计报告--公交路线管理系统_2.docx
《C语言课程设计报告--公交路线管理系统_2.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告--公交路线管理系统_2.docx(16页珍藏版)》请在第一文库网上搜索。
1、合肥浣行等机科学与技术系课程设计报告20102011学年第二学期课程C语言课程设计课程设计名称公交路线管理系统学生姓名杨莉莉学号1004013018专业班级计本(4)班指导教师徐静项向琴2011年6月24日一、需求分析本系统主要功能是实现对公交路线的管理和维护。我们都知道,每个城市都会有公交路线的改动,如果使用这个系统,就可以及时的对路线信息进行修改和保存,是非常方便的,而且该系统使用起来也很方便。用户只需根据显示的提示信息进行选择和输入就可以实现你要求的功能。该系统具有添加,查询,删除,修改和显示所有记录的功能。用户可以根据实际情况进行相应的功能选择。其具体功能简单描述如下:(1)保存:即将
2、信息存入指定文件中。当用户对原始数据进行相关的改动(主要是对路线信息进行增加、删除、修改)之后,用户可以根据自己的选择判断是否要保存到文件中,这样就实现了信息的记录功能,以方便用户随时进行查看。(2)添加:即添加一条新的公交路线或者是某一条路线上的站点。每次可以添加一条路线信息,若用户想添加多条路线信息的话可以重复执行该功能,同样的,添加站点的话也是每一次添加一个站点,若用户想添加多条路线信息的话也只需要重复执行该功能即可。这样,就实现了对公交路线的添加信息管理。(3)查询:即能够查找出你要的公交路线信息和总共有多少站。简单地说,就是用户先选择你要查询的公交路线号,在输入起点站和终点站名称,然
3、后系统就会自动显示出起点站和终点站之间共有多少站点,以及起点站和终点站之间所有站点的序号和名称,从而使用户一目了然的知道站点信息,而不需要像看地图那样一个站点一个站点的用肉眼进行查找,这就为用户节省了很多时间。(4)删除:即能删除掉一条你所不需要的公交路线信息和某一条路线上的站点。若要删除路线时只需要输入你要删除的公交路线号即可,若要删除站点也只需输入你要删除的站点序号,不需要输入该站点名称。(5)修改:即能修改一条你需要该的路线信息。修改内容包括:修改该条公交路线号、修改站点名称(输入新的信息时该条路线的站点长度不能改变,若要改变站点长促可以选择增加和删除功能,即可实现)。(6)显示路线信息
4、:即将路线信息显示到屏幕中,供用户查看。该功能比较简单,在这里不具体说明。二、算法设计1、设计思想:本系统的设计流程简单比较简单,原始数据全部都保存在文件中,用户就不必自己一个一个的输入信息。程序执行时从文件中读出,文件的读取操作在下文中我会详细说明,这里就不做具体说明了。创建动态链表和结构体数组对路线信息进行存储,因为使用链表时对程序的插入、删除会比较方便,那么插入和删除就相当于对链表节点的删除和插入。写无返回值的主函数voidmain。对系统的功能进行显示,每次用户选择某一功能时都可以看到路线的大致信息,以便于用户更准确的选择功能。其中利用switch条件分支语句进行子函数功能的选择和调用
5、。并且使用Whi1e循环语句进行多次循环执行,就可以实现对信息的多次删除、增加、修改,知道达到用户满意时由用户自己选择退出系统。通同时使用了清屏函数,对上一次程序运行的结果清楚只显示本次运行的相关信息,这样的话就做到了界面的友好化,简单明了,不冗杂,更方便观看。当用户对信息进行有关的改动之后,用户根据自己的选择是否保存入文件中,就可以保存他所要的信息了。其主要流程图如下:2、设计表示:下面我将对各个子模块的功能进行详细的介绍和描述:模块一:头文件,定义结构体,结构体中还嵌套了一个结构体,定义结构体成员,同时定义指向该类型的指针head,其对整个程序都有效。模块二:菜单显示。显示该系统所能完成的
6、功能,一目了然。根据用户的需求自由选择功能实现。模块三:从文件中读取信息。该功能以子函数的形式给出,因为其返回值是head,而head是指向结构体的指针,所以该函数属于指针函数。执行此程序时首先定义文件指针FI1E*fp,在打开此文件时,文本文档里应该有用户需要的数据,从而才能从文件中正确读取出来,若文件打开不成功则会显示“不能打开此文件!:创建动态链表来存储从文件中读出来的数据,每读取一组数据后文件指针后移,这是系统约定俗成的,不需要用户去考虑的,知道文件结束时停止读取。读取结束后必须要关闭文件,即fc1ose(fp),这样就完成了从文件中读取信息的功能。模块四:显示路线信息。该功能以子函数
7、的形式给出,无返回值。定义指向定义过的结构体类型的指针p,并让P指向head,当P为非空时输出结构体成员信息,在这里需要说明的是,在输出站点信息时,当最后一个站点名是end时,停止输出,因此end是作为站点信息输出的结束标志,同时P指针指向链表的下一个节点,再次读取一组数据。模块五:增加线路信息。该函数的返回的是链表的头指针head,因此是一个指针函数。该函数不仅可以增加一条路线信息,也可以增加某一条路线上的站点信息。用户根据自己的需要进行选择。本系统添加一条公交路线时,是在链表的尾部添加的,因为我考虑到公交线路号一般没什么顺序可言,所以就简单的添加在了链表的末节点。定义B1*p=head,*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 公交路线 管理 系统 _2
![提示](https://www.001doc.com/images/bang_tan.gif)