




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一 课程设计的内容 车票管理系统车票管理系统 一车站每天有 n 个发车班次 每个班次都有一班次号 1 2 3 n 固定 的发车时间 固定的路线 起始站 终点站 大致的行车时间 固定的额定载 客量 如 班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数 1 8 00 郫县 广汉 2 45 30 2 6 30 郫县 成都 0 5 40 40 3 7 00 郫县 成都 0 5 40 20 4 10 00 郫县 成都 0 5 40 2 一 功能要求 用 c c 设计一系统 能提供下列服务 1 录入班次信息 信息用文件保存 可不定时地增加班次数据 2 浏览班次信息 可显示出所有班次当前状总 如果当前系统时间超过了 某班次的发车时间 则显示 此班已发出 的提示信息 3 查询路线 可按班次号查询 可按终点站查询 4 售票和退票功能 A 当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能 售票 自动更新已售票人数 B 退票时 输入退票的班次 当本班车未发出时才能退票 自动更新已售 票人数 二 课程设计的要求与数据 1 进一步掌握和利用 C 语言进行程设计的能力 2 进一步理解和运用结构化程序设计的思想和方法 3 初步掌握开发一个小型实用系统的基本方法 4 学会调试一个较长程序的基本方法 5 学会利用流程图或 N S 图表示算法 6 掌握书写程序设计开发文档的能力 三 课程设计应完成的工作 1 编写完成相应题目的程序 2 编写课程设计报告 课程设计报告的内容应包括以下 6 个部分 1 需求分析 包括设计题目 设计要求以及系统功能需求分析 2 总体设计 包括系统总体设计框架和系统功能模块图 3 详细设计 包括主要功能模块的算法设计思路以及对应的工作流程 图 4 调试分析过程描述 包括测试数据 测试输出结果 以及对程序调 2 试过程中存在问题的思考 列出主要问题的出错现象 出错原因 解 决方法及效果等 适当的包含结果截图 5 总结 课程设计完成了哪些功能 有没有什么扩展功能 还有哪些 地方需要改进 课程设计过程中的学习体会与收获 对本次课程设计 的认识以及自己的建议等内容 6 附录 主要源程序代码 含必要的注释 3 答辩 在实验室建立程序运行的环境 并在指导教师的监督下 独立解 决问题 运行程序和回答教师提出的问题 3 目 录 第一章 目的与要求 5 第二章 总体设计 6 第三章 详细设计 9 3 1 功能模块设计 9 3 2 数据结构设计 11 第四章 调试分析 12 第五章 总 结 14 第六章 附录 15 参考文献 25 4 第一章第一章 目的与要求目的与要求 编写目的 便于车站管理部门对汽车班次信息的统计和管理 提高车站部门的工作效 率 能够更好的为市民服务 同时也便于旅客了解相关的信息 方便出行 要求 1 能够录入汽车班次信息 如班次号 发车时间 起点站 终点站 行车 时间 额载量 已订票人数等 2 能够浏览班次信息 显示信息总和 如果已发出站的要要显示 已经开 出 3 查询路线 可按班次号查询 可按终点站查询 4 售票功能 当查询出已定票人数小于额定载量且当前系统时间小于发车 时间才能售票 自动更新已售票人数 5 退票功能 输入退票的班次 当本班车未发出时才能退票 自动更新已 售票人数 5 第二章第二章 总体设计总体设计 1 系统总体设计框架 车票管理系统 录入班次信息 浏览班次信息 查询路线 售票 退票 保存信息 退出系统 按班次查询 按终点站查询 6 2 主要功能流程图 录入班次信息功能流程图 浏览班次功能流程图 按 y 继续录入班次 信息录入成功 输入错误 录入班次 输入发车时间 输入行车时间 输入起点站 输入额定载量 按任意键返回主菜单 进入查询界面 按 1 按班次查询 按 2 终点站查询 按 Y 继续查找 按任意键返回主菜单 7 售票系统工作流程图 依据提示操作 进入售票界面 售票成功 班次不存在 票已售完 车已发出 继续售票按 Y 返回主菜单按任意键 8 第三章第三章 详细设计详细设计 3 13 1 功能模块设计功能模块设计 3 1 1 售票函数 while 选择的是 Y 打印当前时间 打印 班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数 for 输出班次信息 提示输入车的班次 if 当查询出已定票人数小于额定载量且当前系统时间小于发车时间时 提示售票成功 订票人数加 1 IF 额定载量小于订票人数 提示票已售完 else if 输入的班次号小于零 该车不存在 else if 当前系统时间晚于发车时间 提示车已发出 9 提示继续售票按 Y 按任意键返回主菜单 输入一个字符 3 1 2 退票函数 while 输入的是 Y 的时候 提示输入要退票的车次 输入一个字符 if 输入的班次号存在和系统时间比发车时间晚 订票人数 1 提示退票成功 else if 输入的班次号小于零 提示该班次不存在 else if 要退票的那辆车的发车时间早过现在系统时间 提示车已发出不能退票 提示继续退票请按 Y 返回主菜单按任意键 输入一个字符 3 1 3 菜单函数 打印 车票管理系统 打印 系统时间 打印 录入班次信息 10 打印 查询班次信息 打印 售票 打印 退票 打印 保存车次信 打印 退出系统 打印 请选择 0 6 打印 车票管理系统 得到一个字符 返回值 3 23 2 数据结构设计数据结构设计 可选可选 程序中涉及的数据过多 本人决定采用两个结构体处理数据 其中时间为一个 数据结构体 即结构 1 它又是汽车结构体 即结构 2 的一个成员元素 这 样处理数据容易些 struct Times int hour int min int sec 数据结构 1 struct Buses 定义汽车 int number struct Times time char start 30 char end 30 float time cost int carry number int booK number 数据结构 2 11 第四章第四章 调试分析调试分析 本人在写代码的过程中觉得难控制的是那个班次数 因为本系统提供了个录 入信息功能 可以不定时的增加班次 即这个班次数是不确定的 而这个班次 数又影响到查询函数 退票函数 售票函数等 另外还影响到一些功能小函数 如比较时间函数等 经过上网查找资料 我发现有一个巧妙的方法可以解决这 个问题 即设定一个静态局部变量 即代码中的 H 这样每当班次号改变之后 这个 H 的值就和它的班次号一样大 这样就可以解决之前提到的问题了 另外 这个系统要有一个保存文件功能 由于本人对文件保存处理不清楚 设计过程 中一直搞不明白 最后在网上查到了相关信息才可以弄出 以下是该程序运行的部分结果 主界面 12 信息录入图和浏览时刻表 查询售票图 退票图 13 保存信息图 第五章第五章 总总 结结 经历近几天的学习和锻炼 这个车票管理系统算是做出来了 不过我承认 我是参考网上代码所得 我基本能看懂 它基本有前面提到过的功能 即录入 班次信息 浏览班次信息 售票和退票 保存文件 有一个扩展功能 即可以 退出系统 代码中的 sys exit 函数 不过目前我发现它一个不足之出 就是不能对输入时间的格式起限制作用 如我可以输入 26 30 00 它系统不会提示说输入错误提示再输入一个正确的 时间 还有 就是整个代码条理不够清晰 只是用到一个主函数和调用其他函 数 可读性差 我认为最好是能分模块化处理 分文件处理 这样条理性强 可读性高 再者修改也容易 不过由于本人水平有限 不能这样处理 经历这近几天的锻炼 我也比较满意自己的表现 在这过程中我查阅了很 多书 学到了很多课堂上没有的东西 很多知识我之前不知道的现在大部分都 知道了 不过理解不够深透 导致在这近几天里碰了不少壁 近几天我觉得编程既是一项费时费力但也是有趣的事 说它费时费力是因 为它繁琐 而有趣是因为我很享受一段段的小程序编成功之后的喜悦 苦尽干 来啊 我觉得编程是一件快乐的差事 我想我今后会加把时间学习它 把它学 好 14 第六章第六章 附录附录 程序代码 include stdio h include time h include windows h include string h include dos h include stdlib h include ctype h define Max 50 最大贮赌量 define null 0 static int H 0 struct Times 定义时钟 int hour int min int sec struct Buses 定义汽车 int number struct Times time char start 30 char end 30 float time cost int carry number int booK number struct Buses bus Max time t now time 0 tm tnow localtime void load 载入车次信息 void lu void 声明录入函数 void chaxun struct Buses bus 声明查询路线函数 void save struct Buses bus 声明保存函数 int caidan 声明菜单录数 void liulan struct Buses bus 声明浏览函数 void tuipiao struct Buses bus 退票 void shoupiao struct Buses bus 声明售票函数 void xitongtuichu 声明退出函数 工具函数 struct Buses copy struct Buses b1 struct Buses b2 赋值 15 void sort time struct Buses bus 声明按时间发车的先后顺序排序 int compare time struct Times t1 struct Times t2 时间比较函数 int compare systime struct Buses bus tm T 比较发车时间与当前系统 时间的函数 void print struct Buses bus 声明输入出函数 int number search struct Buses bus int num 声明按班次查询函数 int end search struct Buses bus char ends 声明按终点查询函数 void main 主函数 while 1 system cls switch caidan case 1 lu break case 2 liulan bus break case 3 chaxun bus break case 4 shoupiao bus break case 5 tuipiao bus break case 6 save bus break case 0 xitongtuichu break int compare systime struct Buses bus tm T 与系统时间的比较函数 if bus time hour T tm hour return 1 if bus time min T tm min return 1 if bus time sec T tm sec return 1 else return 0 return 0 return 0 struct Buses copy struct Buses b1 struct Buses b2 b1 booK number b2 booK number b1 carry number b2 carry number strcpy b1 end b2 end b1 number b2 number strcpy b1 start b2 start b1 time hour b2 time hour b1 time min b2 time min b1 time sec b2 time sec 16 b1 time cost b2 time cost return b1 void liulan struct Buses bus 浏览车次 getchar system cls int i printf n t t t t 车辆时刻表 n printf t t t n printf t 班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数 printf n t n sort time bus for i 0 it2 hour return 1 if t1 min t2 min return 1 if t1 sec t2 sec return 1 else return 0 return 0 return 0 void sort time struct Buses bus 按发车时间排序 int i j k struct Buses b 0 for i 0 i H 1 i k i for j i 1 j H j if compare time bus i time bus j time 17 k j if k i b copy b bus i bus i copy bus i bus k bus k copy bus k b int number search struct Buses bus int n 按班次查询 int i for i 0 itm year tnow tm mon 1 tnow tm mday printf t t n printf t t 菜单 n printf t t n printf t t 1 录入班次信息 n printf t t n printf t t 2 显示班次信息 n printf t t n printf t t 3 查询班次信息 n printf t t n printf t t 4 售票 n printf t t n printf t t 5 退票 n printf t t n printf t t 6 保存车次信息 n printf t t n printf t t 0 退出系统 n printf t t n printf n t t 请选择 0 6 scanf d return a void save struct Buses bus 保存函数体 getchar FILE fp int i if fp fopen Bus system wb null printf 不能打开文件 n return for i 0 i 0 printf 你输入的班次已存在请重新输入 scanf d getchar printf 请输入时间如 20 30 00 scanf d d d getchar printf 请输入车的起点站 scanf s bus i start getchar printf 请输入车的终点站 scanf s bus i end getchar printf 请输入行车时间 scanf f getchar printf 请输入车的额定载量 scanf d getchar bus i booK number 0 H i printf 信息录入成功 n printf 继续录入请按 Y 返回主菜单按任意键 flag getchar void chaxun struct Buses bus 查询路线 int a i 0 int m 0 char flag Y while toupper flag Y char end 30 system cls printf n 按班次查询请按 1 n 终点站查询请按 2 n 请选择 1 2 scanf d 20 while a 1 scanf d getchar switch a case 1 printf 请输入车次号 scanf d getchar i number search bus m if i 0 printf n t t t t 车辆时刻表 n printf t t t n printf t 班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数 printf n t n print bus i printf t n else printf n t t t 没有你要查找的记录 n break case 2 printf 请输入车的终点站 scanf s end getchar while i H if m end search bus i end 1 printf n t t t t 车辆时刻表 n printf t t t n printf t 班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数 printf n t n print bus i i break for i i H i if end search bus i end 1 print bus i 21 if m 1 printf t n for i 0 itm hour tnow tm min tnow tm sec printf t 班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数 printf n t n for int j 0 j 0 bus n booK number printf t 班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数 printf n t n print bus n printf n t 22 n if bus n carry number bus n booK number printf n t t t 该次车的票已售完 n else if n 0 printf n t t t 退票成功 n else if i 0 printf n t t t 该车次不存在 n else if compare systime bus n tnow printf n t t t 车已发出不能退票 n printf t 继续退票请按 Y 返回主菜单按任意键 fla
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 央国企新质生产力
- 本单元综合说课稿-2025-2026学年高中语文必修五语文版
- 2025年建筑工地安全员考试题库及答案解析
- 2025年新能源汽车二手车市场流通市场调研与分析报告
- 新质生产力引领营销发展
- 物联网知识培训内容课件
- 餐饮业食品安全监管信息化技术应用现状与2025年发展趋势报告
- 教师资格证考试幼儿《保教知识与能力》真题及答案
- 有什么教学课件软件好用
- 2025年株洲市重点中学生物高三第一学期期末教学质量检测试题
- 耳石症诊断与治疗讲课件
- 空管招聘面试题及答案
- 校外集体配餐管理制度
- 期货实物交割管理制度
- T/CHES 43-2020水利水电工程白蚁实时自动化监测预警系统技术规范
- 人工智能及机器人课件
- 2024年注会考试《税法》真题及答案
- 2025淘宝天猫·运动户外行业鞋服趋势白皮书
- 机械设备安装施工服务承诺书范文
- 2025年地址标签纸项目市场调查研究报告
- 《绿色经济》课件
评论
0/150
提交评论