1、 1 课程设计报告 (C C 语言程序设计)语言程序设计) 题目 车票信息管理系统 的设计与实现 二级学院 数学与统计 专 业 信息与计算科学 班 级 学生姓名 学 号 指导教师 时 间 2 1 需求分析 1.1 课程设计题目 要求设计并实现一个车票销售管理系统,系统实现以下功能。 (1) 系统以菜单方式工作:要求界面清晰,友好,美观,易用。 (2) 车次信息导入功能:要求可从磁盘文件导入车次信息。 (3) 查询功能:可按班车号、起点站或终点站查找班车信息,并将查询结果输出。 (4) 售票功能: 只有当某班车已定票人数小于额定载量, 且当前系统时间小于发车时间 才能售票。售票显示收费信息;售票
2、后更新已定票人数,并实现信息存盘。 (5) 退票功能:输入退票的班次,当本班车未发出时才能退票。退票后自动更新已定票 人数,并实现信息存盘。 (6) 信息浏览功能:能输出所有班车的信息;要求输出格式清晰、美观。 (7) 信息修改:要求能修改某一指定班次的信息,并在修改后将信息存盘。 1.2 系统功能需求 (1) 系统以菜单方式工作:要求界面清晰,友好,美观,易用。 (2) 车次信息导入功能:要求可从磁盘文件导入车次信息。 (3) 查询功能:可按班车号、起点站或终点站查找班车信息,并将查询结果输出。 (4) 售票功能: 只有当某班车已定票人数小于额定载量, 且当前系统时间小于发车时间 才能售票。
3、售票显示收费信息;售票后更新已定票人数,并实现信息存盘。 (5) 退票功能:输入退票的班次,当本班车未发出时才能退票。退票后自动更新已定票 人数,并实现信息存盘。 (6) 信息浏览功能:能输出所有班车的信息;要求输出格式清晰、美观。 (7) 信息修改:要求能修改某一指定班次的信息,并在修改后将信息存盘。 2 系统设计 2.1 功能模块图 本系统的功能模块图如图 2-1 所示。 3 图 2-1 系统功能模块图 2.2 数据定义 本系统的数据可采用结构数组来处理。 可必要的设置全局变量。 因此本系统的主要数据 定义如下: struct Train_Ticket char cn15; /车量班次 c
4、har lp15; /left place 起点 char ap15; /arrive place 终点 char lt15; /left time 发车时间 char rt15; /running time 行车时间 float price; / 票价 int rl; /Rated load 额定载量 车 票 管 理 系 统 进 入 班 次 浏 览 进 入 班 次 查 询 售 票 退 票 修 改 版 此 信 息 查 询 菜 单 进 入 起 点 站 查 询 进 入 终 点 站 查 询 进 入 班 次 查 询 4 int bn; /booking number 已定票人数 TN; int n=0
5、,i=0;/ 全局变量 2.3 关键技术分析 在程序开始运行时,应调用自定义的 INPUT()函数,将所有需要的数据导入到结构 数组中,然后保存。 调用 load()函数, 从磁盘导入车票信息。 由于第一次应用 INPUT()函数磁盘中已有数 据,因此不必要再进行重新导入,所以在 INPUT()函数中先询问是否重新导入,然后再进入 主菜单,或者在调用一次后,以后运行时不再调用。 .买票和退票都涉及到时间的问题,这源于要比较发车时间与当前的时间,判断这班 车到底有没有发车,和能不能订票与退票,这时用了一个时间函数,输出了当前的时间,但 那边有年月日, 不好进行提取和比较, 于是采用输出了时间,
6、然后看着那个时间手动的提取。 系统中应编写存盘函数 save(), 在进行买票或者退票功能后都需要调用 save()函数进 行数据的更新。 采用循环结构生成主菜单,在数据输入时应该有清晰的提示信息,以方便用户的操 作,对输出数据进行格式控制,以使界面更加美观,清晰。 3 系统实现 3.1 功能模块设计 根据系统分析的结论,将本系统需完成的功能模块划分如下: #include #include #include #include #include #define N 4 void main_menu(); /主菜单模块 void load(); /导入信息 void INPUT(); /输入模块 vo