信息管理系统课程设计

发布 2019-06-04 12:46:35 阅读 3718

课程设计说明书。

题目旅客列车时刻表查询系统。

学系。专业班级。

学号。学生姓名。

指导教师。2023年 12月 21日。

安徽理工大学课程设计(**)任务书。

管理科学与工程系信息管理教研室。

2023年12月21日。

1.系统分析4

2.课程设计目的 5

3.课程设计要求6

4.实验思路7

5.实验过程12

6.课程设计总结31

旅客列车时刻表查询系统。

1.系统分析:

1.1简要分析。

随着人们生活水平的提高和信息化时代的到来,管理系统的作用已越来越重要,列车时刻查询系统是个小型管理系统,用c++语言实现。所有数据都要利用文件系统保存,使用ofstream文件输入输出流保存文件信息,以备系统下次运行时使用。

1.2主要功能。

录入列车信息:该部分功能主要是用于系统管理员输入列车的各种信息,加强系统的可扩展性和延续性,使系统信息保持更新。

浏览列车信息:浏览全部的列车信息,将所有的列车时刻信息都展示出来方便用户调用,此功能管理员和游客皆可调用。

查询列车信息:查询列车时刻信息,以及相关资料,查询分两种方式,一种是按列车号查询,另一种是按终点站查询。两种查询想辅助。使用户更快捷的查询到有关信息。

删除列车信息:删除列车时刻信息功能主要用于更新列车信息数据,对于不必要的信息和错误的过时的信息进行相关处理,有利于简化系统,对于系统的运行速度的提升有着良好的加速效果。此功能是管理员专用功能,游客用户无权调用。

修改列车信息:此功能用于修改列车信息,使用权限仅限于管理员。进行列车信息的相关修改对于系统的正常运行有着显著的作用。

保存列车信息:保存功能通过输入输出流来实现,将列车信息保存在deb目录下,使用文本文档的形式保存相关信息。

关于列车时刻查询系统:列车时刻查询系统的相关说明,以及使用规则及注意事项。

退出系统:退出键,退出功能。

2.课程设计目的。

在《面向对象程序设计》课程理论与实验教学的基础上,根据软件工程的方法与流程,在相对集中的实训教学时间内,通过一个功能较完整的小型应用系统,复习与深入掌握面向对象的程序设计思想与技术方法。同时,作为整个实践教学体系一部分,系统培养学生采用面向对象的方法分析问题与解决问题的能力及团体组织与协作能力。本次课程设计的主要目的是复习c++语言中学过的基本知识,综合运用所学的c++语言知识解决一个比较实际的简单问题,初步掌握开发一个小型实用系统的基本方法,侧重对类的定义和使用以及对数组、链表、函数、指针、结构体和文件等相关内容的综合应用,使我们能进一步熟悉掌握c++语言的基本语法,掌握c++语言中类的定义派生,以及各种结构的使用,还有函数设计方法、结构化设计思想和链表的使用方法以及该注意的地方,掌握规范的程序设计思想,掌握规范的程序编码的格式以及学会调试一个较长程序的基本方法。

进一步提升自己的编程能力并逐步培养编程思维,进而不断提高我们解决问题的能力,并为以后的语言学习打下良好的基础。

3.课程设计要求。

3.1根据实现的功能,划分出合理的对象类,明确对象类间的关系。

3.2为每个对象类设计正确的域和方法,为每个方法设计合理的方法体。同时,为对象类及内部的域和方法运用正确的修饰符,如访问控制符等。

3.3编程简练,程序功能齐全,能正确运行。

3.4说明书、流程图要清楚,规范(必须采用uml格式)

3.5课题完成后必须按要求提交课程设计报告,格式规范,内容详实。

4.实验思路。

合理地选择和实现系统的数据结构,对于此程序的编写非常重要。列车时刻查询系统是一种复杂的对象,无法用简单数据类型来描述,显然要定义不同的类和结构体。由于列车时刻信息很多,还需定义数组或者链表。

数组的特点是数据在内存中顺序存放,长度必须事先指定,而列车时刻信息的个数很难估计。如果数组长度定得过大,会造成存储空间的浪费;如果数组长度得过小,又无法满足需求。特别是进行插入、删除等操作时,代价较大而且又容易出错。

用链表管理列车时刻信息就显得较为妥当,首先它不用估计信息个数,其次进行插入、删除等操作时代价较小。所以列车时刻信息用结构体定义,用链表作为临时数据处理,用文件来存储数据。要注意数据定义的数据类型,用函数实现相应的功能,然后在主程序中进行调用。

程序运行的时候用菜单选择功能,菜单选择功能如下:

录入列车信息按数字键1,浏览列车信息按数字键2,查询列车信息按数字键3,删除列车信息按数字键4,修改列车信息按数字键5,保存列车信息按数字键6,关于列车时刻查询系统---按数字键7,退出系统按数字键0。

类:将列车信息定义为一个类-train_infor并且将相关的函数进行定义,在类的定义中还要申明好几种数据的类型,局部变量和全局变量。将列车相关的功能也定义为一个类-train_link,将它的相关信息也定义好。

结构体模块:定义链表的关键在于为列车时刻信息定义结构体类型时应该定义一个next成员,该成员可以把列车时刻信息结点进行链接。

主模块:结构体程序设计的基本思想是:自顶向下,逐步细化,把功能进行分解,最终分解为一些较易实现的小模块。模块是由函数实现的,函数之间形成明确的调用关系。

main函数就是程序的主模块,它控制整个程序的运行,具体功能主要在各个子模块中实现。main函数不断循环调用主菜单函数,根据用户输入的命令,调用相关的功能函数,如果用户输入“退出”命令,则结束程序。

初始化模块:该模块负责在用户进入系统时,调用保存在磁盘文件中的列车时刻信息。列车时刻信息保存在deb文件夹目录中,用ofs文件输入输出流的方式打开。

调用ifs功能从文件读入数据,动态分配内存空间,存放列车时刻信息,并且在读入数据时组织链表。

菜单模块:系统与用户交互的界面是通过菜单实现的,用户根据菜单的提示输入命令,然后主模块调用相应的功能模块,实现用户所要求的操作。菜单是在train_link类中由menu函数实现的,主要是通过显示一些文字,构建一个简单的字符界面。

为了便于操作,又定义一个字符串数组用来显示菜单的轮廓。在menu函数中调用了库函数它的功能是清屏。

添加模块:列车时刻查询系统的添加的添加功能是由train_link::input()函数来实现的。

添加的列车时刻信息插入在链表的尾部。通过使用来实现对输入数据的正确性进行检索。以防出现数据信息输入错误。

并通过train_infor::input函数来导入保存的信息。列车时刻查询系统通过使用train_infor::

output()函数,使用train_infor::gettime ()函数来获得系统的当前时间。并且调用系统时间函数与当前时间与列车发车时间进行对比以此判断列车是否出发。

使用下列语句hour_start<0||hour_start>24||minute_start<0||minute_start>60判断时间格式是否出错,小时不能小于0大于24,分钟不能小于0大于60。通过使用train_infor::output(ofstream & os)函数来实现数据的保存功能。

并且使用setw()来设置输出宽度。

删除模块:列车时刻信息删除功能是通过train_link::del()函数实现的,用户输入序号之后,删除相关列车信息。

删除算法较为复杂,关键是要把遇到的各种情况考虑清楚。可能遇到的情况有:链表为空,删除的是第一个结点,删除的是中间结点以及所删结点不存在等,这些都是要分别处理的。

通过调用cle函数进行释放此信息所占的内存。

查询模块:查询模块的功能是由train_link::found()函数来实现的。

根据输入的数字进行调用函数,按1是按列车序号在链表中进行查找工作。如果找到,则显示该列车信息;如果查无此信息,也给出提示信息。按2是按终点站查询,方法同上。

通过调用train_link::found()函数进行序号的比较,从而确定用户所要查找的信息。

显示模块:显示模块的功能是由train_link::show() 函数实现的。

train_link::show() 函数从链表的第一个结点开始,将所有的列车时刻信息显示在屏幕上。

信息管理与信息系统 习题

第一章信息系统和管理。第一章习题。1.1 单项选择题。信息。a.是形成知识的基础 b.是数据的基础 c.是经过加工后的数据 d.具有完全性。1.1.2 万维网又称 a.internetb.wwwc.lxtranetd.intranet 1.1.3 管理信息是 a.加工后反映和控制管理活动的数据 b....

VC课程设计报告设计电子通讯录管理系统

河北工业大学计算机软件技术基础 vc 课程设计报告。一 题目 设计一个电子通讯录管理系统 04 二 设计思路。1 总体设计。1 分析程序的功能 显示功能 电子通讯录的浏览,完成全部通讯录信息的显示 增加 在原有数据资料的基础上按顺序增加记录,可以一次完成若干条信息的输入 删除 按照记录的序号删除通讯...

绩效管理课程设计

绩效管理 课程设计报告。专业 人力资源管理。班级 10人力1班。任课教师。二0一三年十月中国 马鞍山。导入 小组案例1 第一章前期准备工作2 1.1.讨论记录2 1.2.组员分工2 第二章绩效管理系统设计3 2.1.分析案例 重塑保乐力加的绩效管理系统 中的组织目标3 2.1.1 战略目标3 2.1...