已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
资料收集于网络 如有侵权请联系网站删除 学习资料 河北建筑工程学院 课课 程程 设设 计计 报报 告告 课程设计名称 C 语言课程设计语言课程设计 课程设计题目 车票管理系统车票管理系统 院 系 理学院 专 业 信息与计算科学 班 级 信142 学 号 20143140219 姓 名 李嘉星 指导教师 李鸿强 完成日期 2015 6 17 资料收集于网络 如有侵权请联系网站删除 学习资料 目目 录录 前言前言 2 第第 1 章章 概要设计概要设计 3 1 1 题目的内容与要求 3 1 2 总体结构 3 第第 2 章章 详细设计详细设计 4 主模块流程图 4 车票管理系统软件详细设计 4 第第 3 章章 调试分析调试分析 6 第第 4 章章 使用说明与执行结果使用说明与执行结果 7 参考文献参考文献 15 附附 录 程序清单 录 程序清单 16 致致 谢谢 32 资料收集于网络 如有侵权请联系网站删除 学习资料 前言 随着计算机技术的发展 可视编程技术占有了越来越重要的作用 Visual C 6 0 是一种功能强大行之有效的可视化编程工具 因此此软件是在Visual C 6 0环境下编写的 对于我们 随着学习的深入 已经大体掌握了Visual C 6 0环境下的程序开发 为了将我们的编程能力提升到一个更高的水平 深化 面向对象的编程思维和解决问题的能力 值此课程设计周期间 进行基于Visual C 6 0环境的软件开发 先以字符统计软件作为开始 对Visual C 6 0环境和 面向对象程序设计进行回忆和熟悉 使得在此基础上的下一个员工培训系统软件 的开发进行的更加顺利 本文档详细叙述了基于Visual C 6 0环境下的车票管理系统的设计过程以 及程序源代码 本文档从概要设计 详细设计 参考源程序代码以及显示程序运行的截屏等 方面详尽的介绍了软件开发过程 此次车票管理系统的开发目的是使我们用面向对象的方式来思考和解决问题 的能力 并且可以掌握字符数组的使用 字符指针的使用 数据库的设计和文件 使用以及C语言语法 程序在设计的过程中遇到的问题已及时更正 但由于编者的能力和水平有限 车票管理系统和文档中不免会出现一些不期待的错误 望文档读者能够理解和体 谅 并欢迎提醒和纠正 在此表示感谢以及敬意 资料收集于网络 如有侵权请联系网站删除 学习资料 第 1 章 概要设计 1 1 题目的内容与要求题目的内容与要求 一车站每天有 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 C 语言 源程序要有适当的注释 使程序容易阅读 2 至少采用文本菜单界面 如果能采用图形菜单界面更好 3 学生可自动增加新功能模块 视情况可另外加分 4 写出课程设计报告 具体要求见相关说明文档 1 2 总体结构总体结构 图图 1 1 功能模块图功能模块图 欢 迎 界 面 管理员菜单 普通登录菜单 增加信息 查询信息 订票 保存信息 查询信息 删除信息 退票信息 资料收集于网络 如有侵权请联系网站删除 学习资料 第 2 章 详细设计 主模块流程图主模块流程图 图图 2 1 主模块流程图主模块流程图 车票管理系统软件详细设计车票管理系统软件详细设计 一个名Timetable的结构体进行定义 包括 int no 班次 int hour 发车时间 时 int minute 发车时间 分 char Starting station 10 始发站 char Last station 10 终点站 float time 行车时间 int max number 最大载客数 int sold number 已售票数等结构体成员 然后对调用函数进行定义 void add 增加记录 void Cipher 密码验证 函数 void del 删除班次信息函数 void find int s1 char s2 查找函数 int findnum int s1 查找班次函数 void Input 信息录入函数 void 欢 迎 界 面 管 理 员 菜 单 普 通 登 录 菜 单 增加信息 查询信息 订票 保存信息 查询信息 删除信息 退票 密码 验证 按车次 按终到站 按车次 按终到站 资料收集于网络 如有侵权请联系网站删除 学习资料 huanying 欢迎界面 void land 登录选择界面 void menu1 管理员菜单 界面 void menu2 普通菜单界面 void open 调用数据函数 void save 保存函数 void searchesmenu 查询菜单 void ticketdelete 退票函数 void ticketorder 售票函数 int timee int i 判断时间是否超出函数 void timetable1显示车次函数该系统将这些信息均放在文件20143140219中 最后定义main 函数 利用函数调用 实现程序的各种功能 将其放在系统 文件车20143140219中 资料收集于网络 如有侵权请联系网站删除 学习资料 第 3 章 调试分析 1 程序陷入死循环 解决办法 仔细分析程序间的关系 画程序流程图分析问题所在 利用 break 命令跳出循环 2 程序出现乱码 解决办法 利用 VC6 0 本身的调试功能查找错误的所在 修改源程序 3 所学知识不能很好的完成程序 解决办法 上网查找相关资料 进入一些开源论坛寻求一定的帮助 资料收集于网络 如有侵权请联系网站删除 学习资料 第 4 章 使用说明与执行结果 图 4 1 欢迎界面 图 4 2 登录菜单 资料收集于网络 如有侵权请联系网站删除 学习资料 图 4 3 管理员登录的密码机制 图 4 4 密码容错机制 资料收集于网络 如有侵权请联系网站删除 学习资料 图 4 5 管理员菜单 图 4 6 图 4 7 班次录入界面 资料收集于网络 如有侵权请联系网站删除 学习资料 图 4 8 图 4 9 班次增加界面 资料收集于网络 如有侵权请联系网站删除 学习资料 图 4 10 时刻表浏览界面 图 4 11 查询界面 资料收集于网络 如有侵权请联系网站删除 学习资料 图 4 11 注销班次界面 图 4 12 普通登录菜单 资料收集于网络 如有侵权请联系网站删除 学习资料 图 4 13 图 4 14 售票窗口 资料收集于网络 如有侵权请联系网站删除 学习资料 图 4 15 图 4 16 退票界面 资料收集于网络 如有侵权请联系网站删除 学习资料 参考文献 1 C 程序设计 第四版 作者 谭浩强 书号 ISBN9787302224464 出版社 清华 大学出版社 2 C 语言学习路线图 作 者 明日科技 书号 ISBN9787302276593 出版社 清华大学 出版社 3 C 语言从入门到精通 第 2 版 作者 明日科技 书号 ISBN 9787302287520 出版社 清华大学出版社 4 21 天学通 C 语言 第 7 版 作者 美 琼斯等著 姜估译 书号 ISBN 9787115355379 出版社 人民邮电出版社 5 C Primer Plus 第五版 中文版 作者 美 Stephen Prata 书号 ISBN 9787115130228 出版社 人民邮电出版社 谢鸣 百度文库 百度贴吧 百度百科 C 语言之家 Linux 开源俱乐部 网络资料来源 1 2 3 Hotscripts 4 资料收集于网络 如有侵权请联系网站删除 学习资料 附 录 程序清单 代码 增加记录 include include news h include include void add void open int get void save void menu1 int i j 5 open 调用按班次查询函数 system cls 清屏 printf 1 增加班次 n printf 2 返回 n printf 请选择 1 2 n scanf d if i 1 system cls 清屏 printf 1 请输入要增加的班次 n scanf d for i 0 i class num i if timetable class num no timetable i no 比较是否相等 判断车次是否重复 printf 输入错误 n getch 收集回车 break if i class num get i j 修改及增加班次 class num 使班次数加 1 save 调用保存函数 资料收集于网络 如有侵权请联系网站删除 学习资料 else menu1 include void Cipher 密码验证函数 int m n 123 规定密码 void menu1 上级菜单的声明 容错机制 printf 请输入密码 输入提示 scanf d 密码输入 while 1 容错机制 if m n menu1 else printf 密码错误请重新输入 scanf d 删除班次信息 include include system cls 的声明 include getch 的声明 include news h void del void save int findnum int s1 int i h 0 int num char or 10 system cls 清屏 printf 1 删除班次 n printf 2 返回 n printf 请选择 1 2 n scanf d 资料收集于网络 如有侵权请联系网站删除 学习资料 if i 1 system cls 清屏 printf 请输入要删除的班次 n scanf d i findnum num 调用班次查询函数 if i class num 全部匹配后但无匹配项 printf 输入错误 无此班次 n getch 收集回车 del else printf 确定 y n n 确认机制 scanf s or if or 0 y or 0 Y for i class num 1 i timetable i timetable i 1 class num 班次总数减 1 save 调用保存函数 查找函数 include include news h include void find int s1 char s2 int i h 0 m if s2 0 0 m 1 1 为无条件执行 else m 0 资料收集于网络 如有侵权请联系网站删除 学习资料 printf n n printf n 班次 发车时间 起点站 终点站 行车时间 额定载量 已售票 n for i 0 i class num i if s1 timetable i no strcmp s2 timetable i Last station 0 判断字符串比较是否相等 printf n n printf 10d 5d 4d 10s 10s 8 1f 8d 8d n timetable i no timetable i hour timetable i minute timetable i Starting station timetable i Last station timetable i time timetable i max number timetable i sold number if m 1 h break printf n n if h 0 不能 break 则执行 printf 要查找的班次不存在 n 查找班次 include include news h int findnum int s1 int i printf n n for i 0 i class num i if s1 timetable i no 判断字符串比较是否相等 如果符合则输出车次等信 息 printf n printf 10d 5d 4d 10s 10s 8 1f 8d 8d timetable i no timetable i hour 资料收集于网络 如有侵权请联系网站删除 学习资料 timetable i minute timetable i Starting station timetable i Last station timetable i time timetable i max number timetable i sold number break printf n n return i 欢迎界面 include void huanying printf n n n n printf t n printf n n n n printf t t t t 车票管理系统 n printf n n n n printf t t t 设计人 李嘉星 刘新月 田宇 n printf n n printf t t t t 感谢您的使用 n t t t t 按任意键继续 n printf n n printf t n 信息录入界面 include include news h include include void Input int i 0 j 5 h char s 5 资料收集于网络 如有侵权请联系网站删除 学习资料 void save void add void get int i int j FILE fp 定义文件型指针变量 system cls 清屏 if fp fopen 车票管理系统 0 dat rb NULL fopen 打开文件 printf 车票信息已经存在 n printf 任意输入进入添加菜单 n scanf s s 收集任意输入 i 1 通过是 1 add if i 0 system cls 清屏 printf 请输入要录入班次总数 n scanf d 指向班次指针 system cls 清屏 for i 0 i class num i system cls 清屏 printf 请输入第 d 个班次信息 n i 1 h 1 for h i 循环输出 printf 请输入班次 n scanf d for h 0 h i h if timetable h no timetable i no printf 输入错误 该班次已存在 n break 返回 get i j 修改及增加班次 j 5 save 调用保存函数 资料收集于网络 如有侵权请联系网站删除 学习资料 void get int i int j 修改及增加班次 for printf 请输入发车时间 xx xx scanf d d if timetable i hour 0 else printf 输入错误 n getch 收集回车 printf 请输入起点站 n scanf s timetable i Starting station printf 请输入终点站 n scanf s timetable i Last station printf 请输入行车时间 n scanf f printf 请输入额定载量 n scanf d printf 请输入已售票数 n scanf d 管理员菜单界面 include void menu1 void Input void timetable1 void save void del 资料收集于网络 如有侵权请联系网站删除 学习资料 void searchesmenu void land void add int n printf t t t t1 车次信息录入 n t t t t2 增加车次信息 n t t t t3 时刻表浏览 n t t t t4 车 辆信息查询 n t t t t5 注销车次 n t t t t6 保存 n t t t t7 返回 n printf t t t 请输入需要运行的命令编号 n while 1 死循环形成菜单 scanf d switch n case 1 Input break 车辆信息录入 case 2 add break 增加车次信息 case 3 timetable1 break 浏览时刻表 case 4 searchesmenu break 车辆信息查询 case 5 del break 注销车次 case 6 save break 保存命令 case 7 land break 返回上级菜单 default printf 非法输入 n break 普通登录菜单 include void menu2 void timetable1 void ticketorder void ticketdelete void land void searchesmenu int n printf t t t t1 时刻表浏览 n t t t t2 车辆信息查询 n t t t t3 购买车票 n t t t t4 退回车 票 n t t t t5 返回 n printf t t t 请输入需要运行的命令编号 n while 1 scanf d switch n case 1 timetable1 break 时刻表浏览 case 2 searchesmenu break 车辆信息查询 资料收集于网络 如有侵权请联系网站删除 学习资料 case 3 ticketorder break 购买车票 case 4 ticketdelete break 退回车票 case 5 land break 返回上级菜单 default printf 非法输入 n break include void huanying void land int main char ch huanying ch getchar 收集回车 land return 0 include include include news h include void open FILE fp1 fp2 if fp1 fopen 车票管理系统 dat rb NULL system cls 清屏 printf 文件打开错误 n getch 收集回车 exit 0 if fp2 fopen 车票管理系统 0 dat rb NULL system cls 清屏 资料收集于网络 如有侵权请联系网站删除 学习资料 printf 文件打开错误 n getch 收集回车 exit 0 退出 fread 读入信息 fread timetable sizeof timetable 0 class num fp1 读入信息 fclose fp1 fclose fp2 文件关闭 include include include news h void save 保存函数 void menu1 FILE fp1 fp2 文件行指针 if fp1 fopen 车票管理系统 dat wb NULL 打开文件 为输出打开一个二进制 文件 printf 文件打开错误 n exit 0 if fp2 fopen 车票管理系统 0 dat wb NULL 打开文件 为输出打开一个二进制 文件 printf 文件打开错误 n exit 0 fwrite 写入文件信息 fwrite timetable sizeof timetable 0 class num fp1 fclose fp1 fclose fp2 关闭文件 printf 保存成功 menu1 资料收集于网络 如有侵权请联系网站删除 学习资料 查询菜单 include include include void searchesmenu int i void find int s1 char s2 char s1 0 s2 10 0 void open void land system cls 清屏 printf 1 按班次查询 n printf 2 按终点站查询 n printf 3 退出 n printf 请选择 1 3 n scanf d open 调用按班次查询函数 switch i 菜单 case 1 printf 请输入要查询的班次 n s1 为班次 scanf d find s1 s2 调用查找函数 break case 2 printf 请输入要查询终点站 n s2 为终点站 scanf s s2 find s1 s2 调用查找函数 break case 3 land break 返回机制 default printf 输入错误 n break printf 按任意键继续 n getch 收集回车 退票函数 include include news h include include 资料收集于网络 如有侵权请联系网站删除 学习资料 void ticketdelete int i int num char or int timee void open int findnum int s1 void save void menu2 system cls 清屏 printf 1 退票 n printf 2 返回 n printf 请选择 1 2 n scanf d if i 1 system cls 清屏 open 调用按班次查询函数 printf 请输入要退票的班次 n scanf d i findnum num 调用班次查询函数 if num timetable i no 判断字符串比较是否相等 待比较的字符串 if timee i 判断时间是否超出函数 scanf c if or y or Y getch timetable i sold number 使已售票加 1 printf 退票成功 n save 调用保存函数 getch 从控制台读取一个字符 但不显示在屏幕上 else printf 该班车已发出 无法退票 n getch 收集回车 资料收集于网络 如有侵权请联系网站删除 学习资料 售票函数 include include news h include include void ticketorder int i int num void save int timee int i void open void searchesmenu void land system cls 清屏 printf 1 售票 n printf 2 返回 n printf 请选择 1 2 n scanf d if i 1 open 调用 open printf 请输入要订票的班次 若无请输入 0 n scanf d for i 0 itimetable i max number 使已售的票数 1 printf 通向 s 班次为 d 的票订票成功 n timetable i Starting station timetable i no save 调用保存函数 getch 收集回车 break else printf 该班次已满或已发出 n getch 收集回车 资料收集于网络 如有侵权请联系网站删除 学习资料 land else land include include include news h int timee int i 判断时间是否超出函数 struct tm local 时间结构体 time t t 把当前时间给 t t time NULL NULL 在 stdio h 中定义为 0 local localtime 获取当前系统时间 if local tm hourtm hour timetable i hour else return 0 include include news h include include void timetable1 显示车次函数 int i j void open int timee int i void land system cls 清屏 open 调用 open system cls 清屏 printf MESSAGE 车程信息 资料收集于网络 如有侵权请联系网站删除 学习资料 n printf n n printf n 班次 发车时间 起点站 终点站 行车时间 额定载量 已售票 n for i 0 j 0 i class num i j 2 按班次顺序输出 printf n n if timee i 判断时间是否超出 printf 10d 5d 4d 10s 10s 8 1f 8d 8d timetable i no timetable i hour timetable i minute timetable i Starting station timetable i Last station timetable i time timetable i m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省成都市龙泉第二中学2025届高三物理第一学期期末学业水平测试模拟试题含解析
- 上海市上海外国语大学附属上外高中2025届物理高二上期中复习检测试题含解析
- 2025届广东省深圳市第二高级中学物理高二第一学期期末检测模拟试题含解析
- 2025届江西省上饶市民校联盟物理高二上期末学业水平测试试题含解析
- 2025届黑龙江省大兴安岭漠河县一中高三物理第一学期期中考试模拟试题含解析
- 2025届河南省南阳市省示范性高中联谊学校高一物理第一学期期中检测试题含解析
- 2025届重庆市江津区永兴初级中学校高二物理第一学期期末学业水平测试试题含解析
- 安徽省蚌埠市(2024年-2025年小学五年级语文)统编版小升初真题(下学期)试卷及答案
- 2024学徒工合同范本
- 2024国有企业固定资产买卖合同
- 易栓症教学讲解课件
- 第五章人体工程学及办公空间设计课件
- 高中生物人教版必修一动画大全课件
- 职业危害因素监测检测记录表
- 内照射的防护课件
- SPECTRO MAX直读光谱仪安全操作规程
- 工程缺陷责任期终止证书
- 新概念英语第二册课文(全中文)
- 宇通客车CAN总线系统培训教材课件
- DB4401-T 10.5-2019 +反恐怖防范管理++第5部分:教育机构-(高清现行)
- 广东深圳市福田区选用机关事业单位辅助人员和社区专职工作者365人模拟试卷【共500题附答案解析】
评论
0/150
提交评论