c语言课程设计车票管理系统方案.pdf
《c语言课程设计车票管理系统方案.pdf》由会员分享,可在线阅读,更多相关《c语言课程设计车票管理系统方案.pdf(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 建筑工程学院 课 程 设 计 报 告 课程设计名称:C 语言课程设计 课程设计题目:车票管理系统 院(系):理学院 专 业:信息与计算科学 班 级:信142 学 号:姓 名:嘉星 指导教师:鸿强 完成日期: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
2、 是一种功能强大行之有效的可视化编程工具。因此此软件是在Visual 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),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如 班次
4、发车时间 起点站 终点站 行车时间 额定载量 已定票人数 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:退票时,输入退票的班次,当本班车未发出时才能退票,自动
5、更新已售票人数 (二)其它要求:(1)只能使用 C/C+语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)(4)写出课程设计报告,具体要求见相关说明文档 1.2 总体结构 图 1-1 功能模块图 第 2 章 详细设计 主模块流程图 欢迎界面 管理员菜单 普通登录菜单 增加信息 查询信息 订票 保存信息 查询信息 删除信息 退票信息 欢迎界面 管理员菜单 普通登录菜单 增加信息 查询信息 订票 保存信息 查询信息 删除信息 退票 密 码验证 按车次 按终到站 按车次 按终到站 图 2.1 主模块流程
6、图 车票管理系统软件详细设计 一个名Timetable的结构体进行定义,包括 int no;/班次 int hour;/发车时间(时)int 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)查找
7、函数,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显示车次函数该系统将这些信息均放在文件中。最后定义ma
8、in()函数,利用函数调用,实现程序的各种功能。将其放在系统文件车中。第 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
9、 班次增加界面 图 4-10 时刻表浏览界面 图 4-11 查询界面 图 4-11 注销班次界面 图 4-12 普通登录菜单 图 4-13 图 4-14 售票窗口 图 4-15 图 4-16 退票界面 参考文献 1、C 程序设计(第四版)作者:谭浩强 书号:ISBN64 :清华大学。2、C 语言学习路线图 作 者:明日科技 书号:ISBN93:清华大学。3、C 语言从入门到精通(第 2 版)作者:明日科技 书号:ISBN 20:清华大学。4、21 天学通 C 语言(第 7 版)作者:(美)琼斯等著,估译 书号:ISBN 79:人民邮电。5、C Primer Plus(第五版)中文版 作者:美S
10、tephen Prata 书号:ISBN 28:人民邮电。鸣:百度文库 百度贴吧 百度百科 C 语言之家 Linux 开源俱乐部 网络资料来源:1、.xuexi111./2、snippets.dzone./tag/c/3、.hotscripts./category/c-cpp/scripts-programs/Hotscripts 4、https:/.daniweb./software-development/cpp/code/_/8 附 录(程序清单)代码/增加记录#include#includenews.h#include#include void add()void open();int
11、 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)system(cls);/清屏 printf(1.请输入要增加的班次:n);scanf(%d,&timetableclass_num.no);for(i=0;iclass_num;i+)if(timetableclass_num.no=timetablei.no)/比较是否相等,判断车次是否重复 printf(
12、输入错误!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,&m);/密码输入 while(1)/容错机制 if(m=n)menu1();else printf(密码错误请重新输入:);scanf(%d,&m);/删除班次信息#in
13、clude#include/system(cls)的声明#include/getch()的声明#includenews.h void del()void save();int findnum(int s1);int i,h=0;int num;char or10;system(cls);/清屏 printf(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=cl
14、ass_num)/全部匹配后但无匹配项 printf(输入错误,无此班次!n);getch();/收集回车 del();else printf(确定?(y/n)n);/确认机制 scanf(%s,or);if(or0=y|or0=Y)for(;iclass_num-1;i+)timetablei=timetablei+1;class_num-;/班次总数减 1 save();/调用保存函数 /查找函数#include#includenews.h#include void find(int s1,char s2)int i,h=0,m;if(s20=0)m=1;/1 为无条件执行 else m=
15、0;printf(n|-|-|-|-|-|-|-|n);printf(n|班次|发车时间|起点站|终点站|行车时间|额定载量|已售票|n);for(i=0;iclass_num;i+)if(s1=timetablei.no|strcmp(s2,timetablei.Last_station)=0)/判断字符串比较是否相等 printf(n|-|-|-|-|-|-|-|n);printf(|%10d|%5d:%-4d|%10s|%10s|%8.1f|%8d|%8d|n,timetablei.no,timetablei.hour,timetablei.minute,timetablei.Start
16、ing_station,timetablei.Last_station,timetablei.time,timetablei.max_number,timetablei.sold_number);if(m=1)h+;break;printf(n|-|-|-|-|-|-|-|n);if(h=0)/不能 break 则执行 printf(要查找的班次不存在!n);/查找班次#include#includenews.h int findnum(int s1)int i;printf(n|-|-|-|-|-|-|-|n);for(i=0;iclass_num;i+)if(s1=timetablei.n
17、o)/判断字符串比较是否相等,如果符合则输出车次等信息 printf(|-|-|-|-|-|-|-|n);printf(|%10d|%5d:%-4d|%10s|%10s|%8.1f|%8d|%8d|,timetablei.no,timetablei.hour,timetablei.minute,timetablei.Starting_station,timetablei.Last_station,timetablei.time,timetablei.max_number,timetablei.sold_number);break;printf(n|-|-|-|-|-|-|-|n);return
18、 i;/欢迎界面#include void huanying()printf(nnnn);printf(t*n);printf(nnnn);printf(tttt 车票管理系统n);printf(nnnn);printf(ttt 设计人:嘉星;新月;田宇n);printf(nn);printf(tttt 感您的使用ntttt 按任意键继续n);printf(nn);printf(t*n);/信息录入界面#include#include news.h#include#include void Input()int i=0,j=5,h;char s5;void save();void add();
19、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,&class_num);/指向班次指针 system(cls);/清屏 for(i=0;iclass_num;i+)system(cl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 车票 管理 系统 方案
限制150内