c语言课程设计车票管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河北建筑工程学院
课程设计报告
课程设计名称:C语言课程设计
课程设计题目:车票管理系统
院(系):理学院
专业:信息与计算科学
班级:信142
学号:219
******
指导教师:***
完成日期: 2015-6-17
目录
前言................................................ 错误!未定义书签。第1章概要设计..................................... 错误!未定义书签。题目的内容与要求.................................... 错误!未定义书签。总体结构............................................ 错误!未定义书签。第2章详细设计..................................... 错误!未定义书签。主模块流程图........................................ 错误!未定义书签。车票管理系统软件详细设计............................ 错误!未定义书签。第3章调试分析..................................... 错误!未定义书签。第4章使用说明与执行结果........................... 错误!未定义书签。参考文献............................................ 错误!未定义书签。附录(程序清单)................................. 错误!未定义书签。
致谢.............................................. 错误!未定义书签。
前言
随着计算机技术的发展,可视编程技术占有了越来越重要的作用。Visual C++ 是一种功能强大行之有效的可视化编程工具。因此此软件是在Visual C++环境下编写的。对于我们,随着学习的深入,已经大体掌握了Visual C++环境下的程序开发。为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于Visual C++环境的软件开发,先以字符统计软件作为开始,对Visual C++环境和面向对象程序设计进行回忆和熟悉,使得在此基础上的下一个员工培训系统软件的开发进行的更加顺利。
本文档详细叙述了基于Visual C++环境下的车票管理系统的设计过程以及程序源代码。
本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。
此次车票管理系统的开发目的是使我们用面向对象的方式来思考和解决问题的能力,并且可以掌握字符数组的使用、字符指针的使用、数据库的设计和文件使用以及C语言语法。
程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,车票管理系统和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。
第1章概要设计
题目的内容与要求
一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如
班次发车时间起点站终点站行车时间额定载量已定票人数
1 8:00 郫县广汉
2 45 30
2 6:30 郫县成都 40 40
3 7:00 郫县成都 40 20
4 10:00 郫县成都 40 2
…
(一)功能要求:用c/c++设计一系统,能提供下列服务:
(1)录入班次信息(信息用文件保存),可不定时地增加班次数据
(2)浏览班次信息,可显示出所有班次当前状总。
(3)查询路线:可按班次号查询 ,可按终点站查询
(4)售票和退票功能
A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数
B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数(二)其它要求:
(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读
(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)
(3)学生可自动增加新功能模块(视情况可另外加分)
(4)写出课程设计报告,具体要求见相关说明文档
图1-1 功能模块图
第2章详细设计主模块流程图
图主模块流程图
车票管理系统软件详细设计
一个名Timetable的结构体进行定义,
包括 int no;增加班次\n");
printf("2. 返回\n");
printf("请选择(1-2)\n");
scanf("%d",&i);
if(i==1)
{
system("cls"); 请输入要增加的班次:\n");
scanf("%d",&timetable[class_num].no);
for(i=0;i if(timetable[class_num].no==timetable[i].no) 删除班次\n"); printf("2. 返回\n"); printf("请选择(1-2):\n"); scanf("%d",&i); if(i==1) { system("cls"); o||strcmp(s2,timetable[i].Last_station)==0) o,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)o) o,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; } o); for(h=0;h if(timetable[h].no==timetable[i].no) { printf("输入错误!该班次已存在!\n"); break; our,&timetable[i].minute); if(timetable[i].hour<24&&timetable[i].hour>=0&&timetable[i].minute<60&&time table[i].minute>=0) break;