车票管理系统C语言课程设计.doc
《车票管理系统C语言课程设计.doc》由会员分享,可在线阅读,更多相关《车票管理系统C语言课程设计.doc(33页珍藏版)》请在三一办公上搜索。
1、河北建筑工程学院课 程 设 计 报 告课程设计名称:C语言课程设计课程设计题目:车票管理系统院(系):理学院 专 业:信息与计算科学班 级:信142学 号:20143140201姓 名:刘新月指导教师:李鸿强完成日期: 2015-6-17目 录前言2第1章 概要设计31.1题目的内容与要求31.2总体结构3第2章 详细设计4主模块流程图4车票管理系统软件详细设计4第3章 调试分析6第4章 使用说明与执行结果7参考文献15附 录(程序清单)16致谢32前言随着计算机技术的发展,可视编程技术占有了越来越重要的作用。Visual C+6.0 是一种功能强大行之有效的可视化编程工具。因此此软件是在Vi
2、sual C+6.0环境下编写的。对于我们,随着学习的深入,已经大体掌握了Visual C+6.0环境下的程序开发。为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于Visual C+6.0环境的软件开发,先以字符统计软件作为开始,对Visual C+6.0环境和面向对象程序设计进行回忆和熟悉,使得在此基础上的下一个员工培训系统软件的开发进行的更加顺利。本文档详细叙述了基于Visual C+6.0环境下的车票管理系统的设计过程以及程序源代码。本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程
3、。此次车票管理系统的开发目的是使我们用面向对象的方式来思考和解决问题的能力,并且可以掌握字符数组的使用、字符指针的使用、数据库的设计和文件使用以及C语言语法。程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,车票管理系统和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。第1章 概要设计1.1题目的内容与要求一车站每天有n个发车班次,每个班次都有一班次号(1、2、3n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数1 8:00
4、郫县 广汉 2 45 302 6:30 郫县 成都 0.5 40 403 7:00 郫县 成都 0.5 40 204 10:00 郫县 成都 0.5 40 2(一)功能要求:用c/c+设计一系统,能提供下列服务:(1)录入班次信息(信息用文件保存),可不定时地增加班次数据(2)浏览班次信息,可显示出所有班次当前状总。(3)查询路线:可按班次号查询 ,可按终点站查询(4)售票和退票功能 A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数 (二)其它要求:(1) 只能使用C/C+语言,源
5、程序要有适当的注释,使程序容易阅读(2) 至少采用文本菜单界面(如果能采用图形菜单界面更好)(3) 学生可自动增加新功能模块(视情况可另外加分)(4)写出课程设计报告,具体要求见相关说明文档欢迎界面管理员菜单普通登录菜单增加信息查询信息订票保存信息查询信息删除信息退票信息1.2总体结构 图1-1 功能模块图第2章 详细设计主模块流程图欢迎界面管理员菜单普通登录菜单增加信息查询信息订票保存信息查询信息删除信息退票密码验证按车次按终到站按车次按终到站图2.1 主模块流程图车票管理系统软件详细设计一个名Timetable的结构体进行定义,包括 int no;/班次int hour;/发车时间(时)i
6、nt minute;/发车时间(分)char Starting_station10;/始发站char Last_station10;/终点站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 () 欢迎界面,
7、void land() 登录选择界面,void menu1()管理员菜单界面,void menu2()普通菜单界面,void open() 调用数据函数,void save()保存函数,void searchesmenu()查询菜单,void ticketdelete()退票函数,void ticketorder()售票函数,int timee(int i) 判断时间是否超出函数,void timetable1显示车次函数该系统将这些信息均放在文件20143140219中。最后定义main()函数,利用函数调用,实现程序的各种功能。将其放在系统文件车20143140201中。第3章 调试分析1
8、、 程序陷入死循环解决办法:仔细分析程序间的关系,画程序流程图分析问题所在。利用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退票界
9、面参考文献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出版社:人民
10、邮电出版社。谢鸣:百度文库 百度贴吧 百度百科 C语言之家 Linux开源俱乐部网络资料来源:1、2、 3、 Hotscripts 4、附 录(程序清单)代码/增加记录#include#includenews.h#include#includevoid 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,&i);if(i=1)syste
11、m(cls); /清屏printf(1. 请输入要增加的班次:n);scanf(%d,&timetableclass_num.no);for(i=0;iclass_num;i+)if(timetableclass_num.no=timetablei.no)/比较是否相等,判断车次是否重复 printf(输入错误!n);getch(); /收集回车break;if(i=class_num) get(i,j); /修改及增加班次*class_num+; /使班次数加1save(); /调用保存函数elsemenu1();#includevoid Cipher()/密码验证函数int m,n=123
12、;/规定密码void menu1(); /上级菜单的声明;容错机制printf(请输入密码:);/输入提示scanf(%d,&m);/密码输入while(1)/容错机制if(m=n)menu1();elseprintf(密码错误请重新输入:);scanf(%d,&m);/删除班次信息#include#include /system(cls)的声明#include /getch()的声明#includenews.hvoid del() void save(); int findnum(int s1);int i,h=0;int num;char or10;system(cls); /清屏prin
13、tf(1. 删除班次n);printf(2. 返回n);printf(请选择(1-2):n);scanf(%d,&i);if(i=1)system(cls); /清屏printf(请输入要删除的班次:n);scanf(%d,&num);i=findnum(num); /调用班次查询函数if(i=class_num) /全部匹配后但无匹配项printf(输入错误,无此班次!n);getch(); /收集回车del();elseprintf(确定?(y/n)n);/确认机制scanf(%s,or);if(or0=y|or0=Y)for(;iclass_num-1;i+) timetablei=ti
14、metablei+1;class_num-; /班次总数减1save(); /调用保存函数/查找函数#include#includenews.h#includevoid find(int s1,char s2)int i,h=0,m;if(s20=0)m=1; /1为无条件执行else m=0;printf(n|-|-|-|-|-|-|-|n); printf(n| 班次 | 发车时间 | 起点站 | 终点站 |行车时间|额定载量| 已售票 |n);for(i=0;iclass_num;i+)if(s1=timetablei.no|strcmp(s2,timetablei.Last_stati
15、on)=0) /判断字符串比较是否相等 printf(n|-|-|-|-|-|-|-|n);printf(|%10d|%5d:%-4d|%10s|%10s|%8.1f|%8d|%8d|n,timetablei.no,timetablei.hour,timetablei.minute,timetablei.Starting_station,timetablei.Last_station,timetablei.time,timetablei.max_number,timetablei.sold_number);if(m=1)h+;break;printf(n|-|-|-|-|-|-|-|n); i
16、f(h=0)/不能break则执行printf(要查找的班次不存在!n);/查找班次 #include#includenews.hint findnum(int s1) int i;printf(n|-|-|-|-|-|-|-|n); for(i=0;iclass_num;i+)if(s1=timetablei.no) /判断字符串比较是否相等,如果符合则输出车次等信息 printf(|-|-|-|-|-|-|-|n);printf(|%10d|%5d:%-4d|%10s|%10s|%8.1f|%8d|%8d|,timetablei.no,timetablei.hour,timetablei.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车票 管理 系统 语言 课程设计
链接地址:https://www.31ppt.com/p-4297521.html