课程设计报告车票管理系统
车票管理系统课程设计报告
课程设计报告《车票管理系统》目录一、课程设计题目 (1)二、程序运行流程图 (2)三、程序设计的想法和具体思路 (3)四、参考文献 (3)附件一:设计进度 (4)附件二:源代码 (4)一、课程设计题目C++题目二十三:车票管理系统(限最多2人完成)一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。
如班次发车时间起点站终点站行车时间额定载量已定票人数1 8:00 郫县广汉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++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)(4)写出课程设计报告,具体要求见相关说明文档二、程序运行流程图三、运行结果 1:2:四、参考文献李春葆,曾平,刘斌,《C++语言程序设计题典》,北京,清华大学出版社,2003年五、总结通过两周多的编程,我们对已学的专业知识有了比较深刻的认识,同时在查找资料或和其他同学交流的过程中,发现了一些问题,所以在设计的时候,遇到了很多困难。
在对所学的有限知识的理解和掌握下,在查找资料以及大家共同努力学习和讨论后终于把课题做完。
车票管理系统程序设计报告
车票管理系统程序设计报告一、引言车票管理系统是一个用于管理车票信息的软件系统。
该系统旨在提供方便快捷的购票、查询、退票等功能,以满足用户的出行需求。
本报告将详细介绍车票管理系统的设计思路、功能模块、数据结构以及程序实现等内容。
二、需求分析1. 功能需求车票管理系统需要具备以下功能:- 用户注册与登录:用户可以通过注册账号并登录系统,以便进行购票、查询等操作。
- 车票购买:用户可以根据出发地、目的地、日期等条件查询车票,并进行购买。
- 车票查询:用户可以根据出发地、目的地、日期等条件查询车票的余票情况。
- 车票退票:用户可以在购票后一定时间内申请退票,并进行退款。
- 车票管理:管理员可以对车票信息进行管理,包括添加、修改、删除等操作。
2. 性能需求车票管理系统需要满足以下性能需求:- 响应速度:系统应能够在用户购票、查询等操作时快速响应,提供流畅的用户体验。
- 安全性:系统应具备一定的安全机制,保护用户的个人信息和交易数据不被泄露或篡改。
- 扩展性:系统应具备一定的扩展性,方便后续对功能进行升级和扩展。
三、系统设计1. 架构设计车票管理系统采用三层架构设计,包括表示层、业务逻辑层和数据访问层。
表示层负责与用户进行交互,接收用户的请求并展示相应的界面;业务逻辑层负责处理用户的请求,进行业务逻辑的处理;数据访问层负责与数据库进行交互,进行数据的读取和写入操作。
2. 功能模块设计车票管理系统包括以下功能模块:- 用户模块:负责用户的注册、登录、个人信息管理等操作。
- 车票模块:负责车票的购买、查询、退票等操作。
- 管理员模块:负责管理员对车票信息的管理操作。
3. 数据结构设计车票管理系统的数据结构包括以下表:- 用户表:保存用户的基本信息,包括用户名、密码、手机号等。
- 车票表:保存车票的详细信息,包括车次、出发地、目的地、日期、余票数量等。
- 订单表:保存用户购票的订单信息,包括用户ID、车票ID、购票时间等。
c语言课程设计车票管理系统
c语言课程设计车票管理系统一、教学目标本课程的教学目标是使学生掌握C语言编程的基本技能,能够运用C语言设计简单的车票管理系统。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构;–理解车票管理系统的业务逻辑和需求;–了解软件开发的基本流程。
2.技能目标:–能够使用C语言编写程序,实现车票管理系统的基本功能;–能够进行程序调试和优化,提高程序的性能和可维护性;–能够运用面向对象编程思想,设计合理的软件架构。
3.情感态度价值观目标:–培养学生的编程兴趣,增强自信心;–培养学生团队合作精神和自主学习能力;–培养学生对软件行业的热爱和对编程事业的敬业精神。
二、教学内容本课程的教学内容主要包括C语言基础知识、车票管理系统的需求分析、系统设计、编码实现和测试等。
具体安排如下:1.C语言基础知识:–数据类型、变量和常量;–运算符和表达式;–控制语句;–函数和数组。
2.车票管理系统的需求分析:–理解车票管理系统的业务流程;–分析系统需求,确定功能模块。
3.系统设计:–设计系统的数据结构和算法;–设计系统的界面和交互逻辑。
4.编码实现:–使用C语言编写程序,实现车票管理系统的基本功能;–进行程序调试和优化。
5.测试与总结:–对程序进行测试,确保功能正确;–总结学习过程,提高编程能力。
三、教学方法本课程采用讲授法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解C语言的基本语法和车票管理系统的业务逻辑,使学生掌握相关知识。
2.案例分析法:分析实际案例,使学生更好地理解车票管理系统的需求和设计。
3.实验法:让学生动手编写程序,培养实际操作能力和编程技能。
四、教学资源本课程所需的教学资源包括:1.教材:《C程序设计语言》或《C语言入门教程》;2.参考书:《C语言编程思想》或《C语言实例教程》;3.多媒体资料:教学PPT、视频教程等;4.实验设备:计算机、网络环境等。
以上教学资源将有助于实现本课程的教学目标,提高学生的编程能力,为学生的职业发展奠定基础。
车票管理系统uml课程设计
车票管理系统 uml课程设计一、课程目标知识目标:1. 让学生理解UML的基本概念,掌握UML图的绘制方法。
2. 使学生掌握车票管理系统的需求分析、系统设计及系统实现的基本步骤。
3. 帮助学生了解数据库设计原则,并能运用UML图对车票管理系统进行数据库设计。
技能目标:1. 培养学生运用UML图进行系统分析和设计的能力。
2. 提高学生解决实际问题的能力,能将UML理论知识运用到车票管理系统课程设计中。
3. 培养学生团队协作、沟通表达的能力,能在小组合作中发挥各自优势,共同完成课程设计。
情感态度价值观目标:1. 培养学生对软件工程及UML建模的兴趣,激发学生主动学习的热情。
2. 培养学生严谨、认真的工作态度,养成良好的编程习惯。
3. 增强学生的自信心和责任感,使其在面对复杂问题时,能够积极寻求解决方案,勇于克服困难。
课程性质:本课程设计旨在让学生结合已学的UML知识,设计并实现一个实际的车票管理系统,提高学生的实际操作能力和解决问题的能力。
学生特点:学生具备一定的UML基础,具备基本的编程能力和数据库知识,但可能缺乏将理论知识运用到实际项目中的经验。
教学要求:教师应注重引导学生独立思考,培养学生的动手实践能力,以项目为导向,让学生在完成课程设计的过程中,掌握UML相关知识,提高解决实际问题的能力。
通过小组合作,培养学生的团队协作和沟通能力。
同时,注重对学生的激励和鼓励,使其在课程设计中不断成长和进步。
二、教学内容1. UML基础知识回顾:类图、用例图、顺序图、活动图等基本概念和绘制方法。
2. 车票管理系统需求分析:介绍需求分析的重要性,讲解如何从用户角度进行需求收集,并以车票管理系统为例,分析系统功能需求。
3. 系统设计:基于UML类图、用例图进行系统设计,包括模块划分、类的设计、接口的设计等。
4. 数据库设计:运用UML图进行数据库ER图的绘制,介绍数据库设计原则,指导学生完成车票管理系统的数据库设计。
课程设计报告_车票管理系统
湖南工业大学课程设计(实训)资料学院计算机学院2018-2019 学年第 1 学期课程名称面向过程程序设计(C语言)课程设计指导教师xxx 学生姓名xxx 专业班级计算机类xxx 学号xxx题目车票管理系统起止日期2019 年12 月23 日~2019 年 1 月 2 日目录清单课程设计(实训)任务书学院:计算机学院学生姓名:xxx 专业班级:xxx课程名称:面向过程程序设计(C语言)课程设计设计题目:车票管理系统完成期限:自2018 年12 月23 日至2019 年 1 月 2 日共1周指导教师(签字):年月日系(教研室)主任(签字):年月日课程设计(实训)报告课程名称:面向过程程序设计(C语言)课程设计题目:车票管理系统起止日期:2018 年12 月23 日至2019 年1 月2 日学院计算机学院学生姓名xxx班级计算机类xxx学号xxx成绩指导教师(签字)2019 年1 月目录1 课题简介 (5)1.1系统简介 (5)1.2开发环境及开发工具 (5)2 问题分析 (6)2.1需求分析 (6)2.2问题分析 (7)2.3系统中涉及到的相关算法 (8)3 系统设计 (10)3.1系统功能设计 (10)3.2系统的功能分析 (12)4 系统的实现 (13)4.1系统主函数设计 (13)4.2录入和增加班次模块 (14)4.3查询和浏览模块 (18)4.4售退票模块 (23)5 系统测试 (27)5.1软件测试 (27)5.2系统有效性 (27)6 设计总结 (27)参考文献 (28)1 课题简介1.1系统简介通过这次系统开发的经历,通过查询各种书籍以及网上视频去学会怎样灵活地去运用C语言设计编写一些小功能函数,并且结合课上所学的的知识,将呆板的文字知识变成实际的动手能力,通过编写课程设计,去体会逻辑思维和设计算法能力的重要性,并且要知道编写代码应该思路清晰,格式整齐,简单易懂为主。
我也需要去发现所学知识中的漏洞,并且及时翻找资料完善不足以提高自身水平、完善自身。
c语言课程设计车票管理系统
c语言课程设计车票管理系统车票管理系统是一种用于管理车票信息的软件系统,它可以方便地记录和查询车票的相关信息,包括车票的购买、使用和退款等操作。
本文将详细介绍车票管理系统的设计与实现。
一、系统需求分析车票管理系统的主要功能包括:车票信息的录入与管理、车票的购买与退款、车票的查询与打印等。
具体需求如下:1. 车票信息的录入与管理:系统管理员可以录入车票的基本信息,包括车次、出发地、目的地、出发时间、到达时间、票价等。
2. 车票的购买与退款:乘客可以通过系统购买车票,并可以根据需要进行退款操作。
购买车票时需要提供乘客的相关信息,包括姓名、身份证号、联系电话等。
3. 车票的查询与打印:乘客可以通过系统查询车票的相关信息,并可以选择打印车票。
二、系统设计与实现1. 数据库设计:为了存储车票的相关信息,需要设计一个车票信息表,包括车次、出发地、目的地、出发时间、到达时间、票价等字段。
同时,还需要设计一个乘客信息表,包括姓名、身份证号、联系电话等字段。
2. 界面设计:车票管理系统的界面应该简洁明了,方便用户操作。
可以采用图形界面的形式,通过按钮、输入框等控件与用户进行交互。
3. 功能实现:a. 车票信息的录入与管理:系统管理员可以通过系统界面进行车票信息的录入与管理,包括新增车票、修改车票、删除车票等操作。
b. 车票的购买与退款:乘客可以通过系统界面选择购买车票或退款,购买车票时需要填写相关信息,并将购买信息保存到数据库中,退款时需要输入订单号进行操作。
c. 车票的查询与打印:乘客可以通过系统界面进行车票的查询,可以根据车次、出发地、目的地、出发时间等条件进行筛选,并可以选择打印车票。
三、系统运行流程1. 系统管理员登录系统,进入车票管理界面。
2. 管理员可以进行车票信息的录入与管理,包括新增、修改和删除车票。
3. 乘客通过系统界面选择购买车票,填写相关信息,系统将购买信息保存到数据库中,并生成订单号。
4. 乘客可以通过系统界面进行车票的查询,可以根据条件筛选需要的车票。
课程设计报告-车票管理系统
1课程设计报告(C语言程序设计)题目二级学院车票信息管理系统的设计与实现数学与统计专班业级信息与计算科学112010102学生姓名郭双红学号11201010209指导教师陈媛时间2013061921 需求分析1.1 课程设计题目要求设计并实现一个车票销售管理系统,系统实现以下功能。
(1)系统以菜单方式工作:要求界面清晰,友好,美观,易用。
(2)车次信息导入功能:要求可从磁盘文件导入车次信息。
(3)查询功能:可按班车号、起点站或终点站查找班车信息,并将查询结果输出。
(4)售票功能:只有当某班车已定票人数小于额定载量,且当前系统时间小于发车时间才能售票。
售票显示收费信息;售票后更新已定票人数,并实现信息存盘。
(5)退票功能:输入退票的班次,当本班车未发出时才能退票。
退票后自动更新已定票人数,并实现信息存盘。
(6)信息浏览功能:能输出所有班车的信息;要求输出格式清晰、美观。
(7)信息修改:要求能修改某一指定班次的信息,并在修改后将信息存盘。
1.2 系统功能需求(1)系统以菜单方式工作:要求界面清晰,友好,美观,易用。
(2)车次信息导入功能:要求可从磁盘文件导入车次信息。
(3)查询功能:可按班车号、起点站或终点站查找班车信息,并将查询结果输出。
(4)售票功能:只有当某班车已定票人数小于额定载量,且当前系统时间小于发车时间才能售票。
售票显示收费信息;售票后更新已定票人数,并实现信息存盘。
(5)退票功能:输入退票的班次,当本班车未发出时才能退票。
退票后自动更新已定票人数,并实现信息存盘。
(6)信息浏览功能:能输出所有班车的信息;要求输出格式清晰、美观。
(7)信息修改:要求能修改某一指定班次的信息,并在修改后将信息存盘。
2 系统设计2.1 功能模块图本系统的功能模块图如图2-1所示。
3图 2-1 系统功能模块图2.2 数据定义本系统的数据可采用结构数组来处理。
可必要的设置全局变量。
因此本系统的主要数 据定义如下:struct Train_Ticket {char cn[15]; //车量班次 char lp[15]; //left place 起点 char ap[15]; //arrive place 终点 char lt[15]; //left time 发车时间 char rt[15]; //running time 行车时间 float price; // 票价int rl;//Rated load 额定载量车 票 管 理 系 统进入班次浏览进入班次查询售 票退 票修改版此信息查 询 菜 单进入起点站查询进入终点站查询进入班次查询int bn; //booking number已定票人数}T[N];int n=0,i=0;//全局变量2.3 关键技术分析⑴在程序开始运行时,应调用自定义的INPUT()函数,将所有需要的数据导入到结构数组中,然后保存。
车票管理系统c语言课程设计
车票管理系统 c语言课程设计一、教学目标本节课的教学目标是使学生掌握车票管理系统的设计与实现,通过学习,学生应能理解C语言在实际应用中的编程方法,熟练运用C语言实现一个简单的车票管理系统。
具体来说,知识目标包括理解车票管理系统的业务流程,掌握C语言的基本数据类型和控制结构;技能目标包括能够使用C语言编写程序,实现车票管理系统的基本功能;情感态度价值观目标包括培养学生的团队协作意识,提高学生解决实际问题的能力。
二、教学内容本节课的教学内容主要包括车票管理系统的业务流程分析、C语言基本数据类型和控制结构的学习,以及车票管理系统程序的编写和调试。
首先,学生需要了解车票管理系统的业务流程,包括车票的购买、退票、改签等操作;其次,学生需要学习C语言的基本数据类型和控制结构,如整数、浮点数、字符、条件语句、循环语句等;最后,学生需要运用所学知识,编写车票管理系统程序,并进行调试。
三、教学方法为了达到本节课的教学目标,将采用讲授法、案例分析法和实验法等多种教学方法。
首先,通过讲授法向学生传授车票管理系统的业务流程和C语言的基本知识;其次,通过案例分析法,分析车票管理系统的实际应用,使学生更好地理解所学知识;最后,通过实验法,让学生动手编写和调试车票管理系统程序,提高学生的实际操作能力。
四、教学资源本节课的教学资源包括教材、参考书、多媒体资料和实验设备。
教材和参考书将提供车票管理系统的设计原理和C语言编程方法的理论知识;多媒体资料将展示车票管理系统的实际应用场景,帮助学生更好地理解所学知识;实验设备将支持学生进行车票管理系统程序的编写和调试,提高学生的实际操作能力。
五、教学评估本节课的教学评估将采用多元化的评估方式,包括平时表现、作业和考试等,以全面客观地评价学生的学习成果。
平时表现将占课程总评的30%,主要评估学生在课堂上的参与程度和表现;作业将占课程总评的30%,主要评估学生对车票管理系统设计和C语言编程的掌握情况;考试将占课程总评的40%,主要评估学生对车票管理系统设计和C语言编程的综合运用能力。
java课程设计车票管理系统
java课程设计车票管理系统一、教学目标本节课的学习目标为:1.知识目标:学生需要掌握Java编程语言的基本语法,熟悉面向对象编程的基本概念,了解集合框架和数据结构的基本知识。
2.技能目标:学生能够使用Java语言实现一个简单车票管理系统,掌握面向对象编程的方法,熟悉集合框架和数据结构的应用。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生解决问题的能力,培养学生的团队合作意识。
二、教学内容本节课的教学内容主要包括:1.Java编程语言的基本语法,包括变量、数据类型、运算符、控制语句等。
2.面向对象编程的基本概念,包括类、对象、封装、继承、多态等。
3.集合框架和数据结构的基本知识,包括List、Set、Map等集合的使用,以及数组、链表、树等数据结构的应用。
4.车票管理系统的实现,包括系统的需求分析、设计、编码和测试等环节。
三、教学方法本节课采用讲授法、案例分析法和实验法相结合的教学方法:1.讲授法:通过讲解Java编程语言的基本语法、面向对象编程的基本概念和集合框架和数据结构的基本知识,使学生掌握相关知识点。
2.案例分析法:通过分析车票管理系统的实际案例,使学生了解并掌握面向对象编程的方法,以及集合框架和数据结构在实际应用中的使用。
3.实验法:学生通过动手实践,编写车票管理系统代码,巩固所学知识点,提高实际操作能力。
四、教学资源本节课的教学资源包括:1.教材: Java编程基础,用于引导学生学习Java编程语言的基本语法和面向对象编程的基本概念。
2.多媒体资料:PPT课件,用于辅助讲解知识点,提供清晰的视觉效果。
3.实验设备:计算机,用于学生动手实践编写代码,以及进行车票管理系统的实验。
4.在线资源:Java编程相关博客、论坛,为学生提供更多的学习资源和交流平台。
五、教学评估本节课的评估方式包括:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。
车票管理系统课程设计
车票管理系统课程设计一、课程目标知识目标:1. 理解车票管理系统的基本原理和功能需求;2. 掌握车票管理系统中数据库的设计与操作方法;3. 学会运用编程语言实现车票管理系统的核心功能;4. 了解车票管理系统的实际应用场景和发展前景。
技能目标:1. 能够运用所学知识设计并搭建一个简单的车票管理系统;2. 熟练使用数据库管理工具进行数据查询、更新和删除操作;3. 掌握基本的编程技巧,实现车票管理系统的功能模块;4. 能够分析实际问题,提出合理的解决方案,优化车票管理系统。
情感态度价值观目标:1. 培养学生对车票管理系统及相关技术领域的兴趣,激发学习热情;2. 培养学生的团队协作精神,提高沟通与协作能力;3. 增强学生的实践操作能力,使其具备解决实际问题的信心;4. 引导学生关注车票管理系统在现实生活中的应用,认识到科技对生活的影响。
课程性质:本课程为信息技术学科的教学内容,以实践操作为主,理论讲解为辅。
学生特点:六年级学生具有一定的计算机操作基础,对新鲜事物充满好奇,喜欢动手实践。
教学要求:结合学生特点,注重理论与实践相结合,提高学生的动手能力和创新能力。
在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. 车票管理系统的基本原理与功能模块介绍- 系统需求分析- 功能模块划分- 数据库设计基本原理2. 数据库设计与操作- 数据表创建与维护- 数据查询、更新和删除操作- 数据库管理工具的使用3. 编程语言实现车票管理系统功能- 常用编程语言的介绍与选择- 编程实现车票预订、查询、退票等功能- 代码调试与优化4. 车票管理系统的实际应用案例与拓展- 系统在实际场景中的应用案例分析- 系统功能的拓展与优化- 车票管理系统的发展趋势教学内容安排与进度:第一周:车票管理系统的基本原理与功能模块介绍第二周:数据库设计与操作第三周:编程语言实现车票管理系统功能第四周:车票管理系统的实际应用案例与拓展教材章节及内容列举:第一章:信息技术基础1.1 计算机系统组成1.2 计算机网络基础1.3 数据库基本概念第二章:数据库技术2.1 数据库设计2.2 数据库操作2.3 数据库管理工具第三章:编程语言3.1 编程语言概述3.2 程序设计基础3.3 编程实现车票管理系统功能第四章:车票管理系统实际应用与拓展4.1 车票管理系统案例4.2 系统功能拓展4.3 车票管理系统发展趋势三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用以下多样化的教学方法:1. 讲授法:通过生动的语言和形象的表达,讲解车票管理系统的基本原理、功能模块和数据库设计等理论知识,为学生奠定扎实的基础。
c车票管理系统课课程设计
c 车票管理系统课课程设计一、教学目标本课程的学习目标旨在让学生掌握车票管理系统的基本概念、原理和实际应用,培养学生具备一定的编程能力和问题解决能力。
具体目标如下:1.知识目标:(1)了解车票管理系统的基本原理和架构;(2)掌握车票管理系统的主要模块及其功能;(3)熟悉车票管理系统的编程语言和开发环境。
2.技能目标:(1)能够使用编程语言实现车票管理系统的各个模块;(2)具备调试和优化车票管理系统的的能力;(3)学会运用车票管理系统解决实际问题。
3.情感态度价值观目标:(1)培养学生对编程和计算机科学的兴趣;(2)培养学生团队合作、创新思维和持续学习的精神;(3)培养学生遵守编程规范和职业道德的意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.车票管理系统的基本原理和架构;2.车票管理系统的主要模块及其功能;3.车票管理系统的编程语言和开发环境;4.车票管理系统的实际应用案例分析。
教学大纲安排如下:第1-2课时:介绍车票管理系统的基本原理和架构;第3-4课时:讲解车票管理系统的主要模块及其功能;第5-6课时:学习车票管理系统的编程语言和开发环境;第7-8课时:分析车票管理系统的实际应用案例。
三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:讲解车票管理系统的基本原理、主要模块和编程语言;2.案例分析法:分析车票管理系统的实际应用案例,让学生深入了解课程内容;3.实验法:让学生动手实践,调试和优化车票管理系统;4.讨论法:鼓励学生提问、发表见解,培养团队合作和创新思维。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的车票管理系统教材;2.参考书:提供相关的编程语言和开发环境的参考书籍;3.多媒体资料:制作精美的课件、教学视频等;4.实验设备:为学生提供充足的计算机设备,以便进行实验和实践。
五、教学评估为了全面、客观地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:考察学生在课堂上的参与程度、提问和回答问题的积极性等;2.作业:布置适量的作业,检查学生对知识的掌握和应用能力;3.考试:安排期中考试和期末考试,测试学生的知识水平和问题解决能力;4.项目实践:让学生参与车票管理系统的实际项目,评估其动手能力和创新能力。
车票管理系统c语言课程设计
车票管理系统c语言课程设计。
一、课程目标知识目标:1. 学生能掌握C语言基础语法,包括变量定义、数据类型、运算符、控制结构等;2. 学生能理解车票管理系统的需求分析,明确系统功能模块;3. 学生能运用C语言编写车票管理系统中各个功能模块的程序代码;4. 学生了解文件操作在车票管理系统中的应用。
技能目标:1. 学生能够运用结构体数组、链表等数据结构实现车票信息的管理;2. 学生能够使用函数实现模块化编程,提高代码的可读性和可维护性;3. 学生通过课程设计,培养分析和解决实际问题的能力;4. 学生能够运用调试工具,找出程序中的错误并进行修正。
情感态度价值观目标:1. 学生通过课程设计,培养对编程的兴趣和热情,提高自主学习能力;2. 学生在团队协作中,学会沟通与分享,培养合作精神;3. 学生在解决实际问题的过程中,体验程序设计的乐趣,增强自信心;4. 学生能够认识到编程在现实生活中的应用价值,激发对计算机科学的热爱。
二、教学内容1. C语言基础语法:变量定义、数据类型、运算符、控制结构(选择、循环);2. 面向过程编程:函数定义、调用、参数传递、递归;3. 数据结构:数组、结构体、链表;4. 文件操作:文件打开、读写、关闭;5. 车票管理系统功能模块:- 车票查询:按车次、日期、起始站、终点站查询车票信息;- 车票预订:选择车次、座位,录入乘客信息,完成预订;- 车票退订:根据预订记录,进行退票操作;- 车票统计:统计各车次、日期的售票情况;6. 程序调试与优化:调试工具使用,性能分析,代码优化;7. 项目实践:按照需求分析,分阶段完成车票管理系统的设计与实现。
教学内容安排与进度:第一周:C语言基础语法复习;第二周:数据结构、函数定义与调用;第三周:文件操作;第四周:车票管理系统需求分析,功能模块设计;第五周:车票查询、预订模块实现;第六周:车票退订、统计模块实现;第七周:项目调试、优化与测试;第八周:课程总结与项目汇报。
c语言车票管理系统课程设计
c语言车票管理系统课程设计一、课程目标知识目标:1. 让学生掌握C语言基础,包括数据类型、运算符、控制结构等;2. 让学生了解并掌握文件操作、字符串处理等C语言进阶知识;3. 使学生掌握车票管理系统的需求分析、模块划分和功能设计;4. 帮助学生理解并运用结构体、数组、链表等数据结构实现车票管理系统。
技能目标:1. 培养学生运用C语言解决实际问题的能力;2. 培养学生分析需求、设计系统、编写代码、调试程序的能力;3. 培养学生团队协作、沟通表达的能力。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动学习的习惯;2. 培养学生面对问题勇于挑战、积极进取的精神;3. 培养学生关注社会热点问题,提高其社会责任感。
课程性质:本课程为实践性较强的课程,旨在让学生通过实际项目的开发,巩固C语言知识,提高编程能力。
学生特点:学生已具备一定的C语言基础,但实际应用能力较弱,对项目开发过程有一定的好奇心。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,引导学生主动参与课程学习。
将课程目标分解为具体的学习成果,以便在教学过程中进行有效指导和评估。
二、教学内容1. C语言基础知识复习:数据类型、变量、常量、运算符、控制结构(条件语句、循环语句)等;2. 文件操作与字符串处理:文件读写、字符串操作函数;3. 数据结构:结构体、数组、链表等;4. 车票管理系统功能模块设计:用户界面设计、车票查询、购票、退票、改签等功能;5. C语言项目开发流程:需求分析、系统设计、编码、调试、测试;6. 团队协作与沟通技巧。
教学大纲安排:第一周:C语言基础知识复习;第二周:文件操作与字符串处理;第三周:数据结构学习;第四周:车票管理系统需求分析与设计;第五周:车票管理系统编码与调试;第六周:项目测试、总结与团队协作沟通技巧。
教材章节关联:1. C语言基础知识复习:参考教材第1-4章;2. 文件操作与字符串处理:参考教材第5章;3. 数据结构:参考教材第6章;4. 车票管理系统功能模块设计:结合教材实例进行拓展;5. C语言项目开发流程:参考教材第7章;6. 团队协作与沟通技巧:结合教材附录部分。
车票管理系统c语言程序设计报告(课程设计格式要求)
C程序课程设计报告题目车票管理系统院别数学与计算机学院班级姓名学号指导教师目录1、设计目的和要求............................................... - 2 -2、总体设计..................................................... - 2 -3、详细设计..................................................... - 3 -4、程序测试分析................................................. - 4 -4.1 菜单界面............................................... - 5 -4.3 查询所有班次界面........................................ - 6 -4.4 查询班次界面........................................... - 6 -4.5 增加班次界面........................................... - 7 -4.6 售票界面............................................... - 8 -4.7 退票界面............................................... - 9 -4.8 修改班次界面........................................... - 9 -4.9 删除班次界面.......................................... - 10 -4.10 退出界面.............................................. - 10 -5、总结....................................................... - 11 - 附录........................................................... - 12 -1、设计目的和要求任务:(1)录入班次信息(信息用文件保存),可不定时地增加班次数据(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。
车票查询系统课程设计
车票查询系统课程设计一、教学目标本节课的教学目标是让学生掌握车票查询系统的使用方法,包括如何输入出发地和目的地、如何选择出行日期和车次、如何查看票价和座位情况等。
通过本节课的学习,学生应能够独立完成车票查询,并能够理解车票查询系统的运作原理。
具体来说,知识目标包括:了解车票查询系统的功能和特点;掌握使用车票查询系统的基本操作步骤。
技能目标包括:能够熟练使用车票查询系统进行车票查询;能够理解和分析车票查询系统的运作原理。
情感态度价值观目标包括:培养学生对科技产品的兴趣和好奇心;培养学生独立解决问题的能力;培养学生对公共交通的认同感和使用习惯。
二、教学内容本节课的教学内容主要包括车票查询系统的功能介绍、操作步骤讲解和实际操作练习。
首先,教师将介绍车票查询系统的功能和特点,让学生了解车票查询系统的作用和优势。
然后,教师将讲解如何使用车票查询系统进行车票查询,包括如何输入出发地、目的地、出行日期和选择车次等。
接着,教师将引导学生进行实际操作练习,让学生亲身体验和使用车票查询系统。
最后,教师将对学生的操作进行点评和指导,解答学生的问题。
三、教学方法为了激发学生的学习兴趣和主动性,本节课将采用多种教学方法。
首先,讲授法将用于讲解车票查询系统的功能和操作步骤。
通过教师的讲解,学生可以了解车票查询系统的基本知识。
其次,讨论法将用于引导学生进行实际操作练习。
通过学生之间的讨论和合作,学生可以互相学习和解决问题。
此外,案例分析法将用于分析车票查询系统的运作原理。
通过分析真实案例,学生可以深入理解车票查询系统的运作机制。
最后,实验法将用于学生的实际操作练习。
通过亲身体验和使用车票查询系统,学生可以巩固所学知识并提高操作技能。
四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备适当的教学资源。
教材将作为主要的学习资源,用于提供车票查询系统的基本知识和操作步骤。
参考书将用于提供更多的相关信息和案例分析。
多媒体资料将用于展示车票查询系统的界面和操作过程,帮助学生更好地理解和掌握使用方法。
车票管理系统c语言课程设计
车票管理系统c语言课程设计一、教学目标本课程的教学目标是使学生掌握车票管理系统的设计与实现方法,具备使用C 语言进行简单应用程序开发的能力。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构。
–理解面向对象编程的基本概念。
–学习使用常见的调试工具和技巧。
2.技能目标:–能够使用C语言编写简单的应用程序。
–能够使用面向对象的方法设计程序。
–能够对程序进行调试和优化。
3.情感态度价值观目标:–培养学生的团队合作意识和解决问题的能力。
–培养学生的创新思维和持续学习的热情。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、面向对象编程、程序调试和优化等。
具体安排如下:1.C语言的基本语法和数据结构。
–变量和数据类型。
–运算符和表达式。
–控制结构和函数。
–数组和字符串。
–指针和动态内存管理。
2.面向对象编程。
–类和对象的概念。
–构造函数和析构函数。
–继承和多态。
–封装和接口。
3.程序调试和优化。
–常见的调试技巧和工具。
–性能分析和优化方法。
三、教学方法本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
具体方法如下:1.讲授法:通过讲解和演示的方式,向学生传授C语言的基本语法和数据结构,以及面向对象编程的概念和方法。
2.讨论法:通过小组讨论和问题解答的方式,培养学生的团队合作意识和解决问题的能力。
3.案例分析法:通过分析实际案例,让学生了解车票管理系统的设计和实现过程。
4.实验法:通过上机实验,让学生亲手编写代码,培养学生的实际编程能力。
四、教学资源本课程将使用教材《C语言程序设计》作为主要教学资源,同时辅以参考书籍、多媒体资料和实验设备。
参考书籍包括《C Primer Plus》和《C和指针》。
多媒体资料包括教学PPT和视频教程。
实验设备包括计算机和网络设备,用于进行代码编写和调试。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。
车票管理系统课程设计报告
课程设计报告2011~2012学年第二学期课程C++课程设计课程设计名称车票管理系统学生姓名刘吉喆学号1104121008专业班级1210指导教师2013年9月17日星期二一、系统的需求分析:需求分析是一项重要的工作,也是最困难的工作。
它指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
可以说,“需求分析”就是确定要计算机“做什么”。
车票管理系统是典型的管理信息系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
车票管理系统可以实现对车票的科学化、规范化、查询车票情况、定票信息、以及路线信息等。
车票管理系统是根据某车站对这票管理的实际情况进行编写的,主要目的是为了方便车站对车票的实际情况进行集中的查询与管理工作,以提高整个车站的工作。
经过电脑及生活的调查研究,根据车辆的运行状态和车站的管理模式,车票管理系统需要管理的东西主要有:车辆的班次,车辆的线路,售票和退票等等。
车辆是一个对外服务的内容,为了乘客的乘车要求,所以系统需要实现售票信息的录入、修改和删除功能。
乘客对剩余车票需要进行选择,系统必须实现相应的查询和输出功能,使乘客择优而乘。
本次课程设计需要实现的是——车票管理系统的链表实现。
主要实现的功能包括:车票信息的录入、修改、删除、剩余车票信息的查询、输出。
车票信息可写入文件,也可从文件中读取。
车票信息涉及的数据有班次号、发车时间、起点站、终点站、行车时间、额定载量、已定票人数等。
按照需求分析所得,车票管理系统有以下几个功能模块:(1)录入班次信息(信息用文件保存),可不定时地增加班次数据(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。
(3)查询路线:可按班次号查询 ,可按终点站查询(4)售票和退票功能A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数。
车票管理系统-报告
南京晓庄学院数学与信息技术学院数据结构课程设计报告题目:车票管理系统所在班级:学生姓名:指导教师:研究起止日期:二○一二年三月至二○一二年五月数据结构课程设计实验报告班级姓名学号实验课程数据结构实验名称车票管理系统实验成绩实验日期2012、4、3 任课教师一、目的(本次课程设计所涉及并要求掌握的知识点。
)1.通过课程设计,加深对《C语言程序设计》和《数据结构》课程所学知识的理解,熟练掌握和巩固C语言的基本知识和语法规范,包括:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);库函数应用等;复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等),熟练掌握和巩固三种基本的数据结构(线性结构、树形结构、图形结构)的逻辑结构、存储结构以及相关运算和应用。
2.学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力3.便于车站管理部门对汽车班次信息的统计和管理,提高车站部门的工作效率,能够更好的为市民服务,同时也便于乘客了解相关的信息,方便出行。
二、使用环境(本次上机实践所使用的平台和相关软件。
)操作系统:Windows XP或者Windows 7集成开发环境:Microsoft Visual C++三、内容与设计思想(1 .设计思路 2 .主要数据结构 3 .主要代码结构 4 .主要代码段分析)1、设计思路(1)能够增加汽车班次信息,如班次号,发车时间,起点站,终点站,行车时间,额载量,已订票人数等。
(2)能够显示班次信息,显示信息总和(如果已发出站的要要显示“已经开出”)。
(3)查询路线:可按班次号查询 ,可按终点站查询(4)售票功能:当查询出已定票人数小于额定载量且当前系统时间小于发车时间才能售票,自动更新已售票人数。
(5)退票功能:输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数总体设计框架:班次信息增加功能流程图:增加班次信息 显示班次信息查询班次信息售票退票保存车次信息退出系统按班次查询按终点站查询车票管理系统按Y继续增加班次信息增加输入错误增加班次输入发车时间输入行车时间输入起点站输入额定载量查询班次信息流程图:2、主要数据结构以及代码结构(1)主程序模块main ()函数:用来调用读取文件函数、功能菜单函数以及保存文件信息函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告(C语言程序设计)题目车票信息管理系统的设计与实现二级学院数学与统计专业信息与计算科学班级112010102学生姓名郭双红学号11201010209 指导教师陈媛时间201306191 需求分析1.1 课程设计题目要求设计并实现一个车票销售管理系统,系统实现以下功能。
(1)系统以菜单方式工作:要求界面清晰,友好,美观,易用。
(2)车次信息导入功能:要求可从磁盘文件导入车次信息。
(3)查询功能:可按班车号、起点站或终点站查找班车信息,并将查询结果输出。
(4)售票功能:只有当某班车已定票人数小于额定载量,且当前系统时间小于发车时间才能售票。
售票显示收费信息;售票后更新已定票人数,并实现信息存盘。
(5)退票功能:输入退票的班次,当本班车未发出时才能退票。
退票后自动更新已定票人数,并实现信息存盘。
(6)信息浏览功能:能输出所有班车的信息;要求输出格式清晰、美观。
(7)信息修改:要求能修改某一指定班次的信息,并在修改后将信息存盘。
1.2 系统功能需求(1)系统以菜单方式工作:要求界面清晰,友好,美观,易用。
(2)车次信息导入功能:要求可从磁盘文件导入车次信息。
(3)查询功能:可按班车号、起点站或终点站查找班车信息,并将查询结果输出。
(4)售票功能:只有当某班车已定票人数小于额定载量,且当前系统时间小于发车时间才能售票。
售票显示收费信息;售票后更新已定票人数,并实现信息存盘。
(5)退票功能:输入退票的班次,当本班车未发出时才能退票。
退票后自动更新已定票人数,并实现信息存盘。
(6)信息浏览功能:能输出所有班车的信息;要求输出格式清晰、美观。
(7)信息修改:要求能修改某一指定班次的信息,并在修改后将信息存盘。
2 系统设计2.1 功能模块图本系统的功能模块图如图2-1所示。
图2-1 系统功能模块图2.2 数据定义本系统的数据可采用结构数组来处理。
可必要的设置全局变量。
因此本系统的主要数据定义如下:struct Train_Ticket{char cn[15]; //车量班次char lp[15]; //left place 起点char ap[15]; //arrive place 终点char lt[15]; //left time 发车时间char rt[15]; //running time 行车时间float price; // 票价int rl; //Rated load 额定载量int bn; //booking number 已定票人数}T[N];int n=0,i=0;// 全局变量2.3 关键技术分析⑴在程序开始运行时,应调用自定义的INPUT()函数,将所有需要的数据导入到结构数组中,然后保存。
⑵调用load()函数,从磁盘导入车票信息。
由于第一次应用INPUT()函数磁盘中已有数据,因此不必要再进行重新导入,所以在INPUT()函数中先询问是否重新导入,然后再进入主菜单,或者在调用一次后,以后运行时不再调用。
⑶.买票和退票都涉及到时间的问题,这源于要比较发车时间与当前的时间,判断这班车到底有没有发车,和能不能订票与退票,这时用了一个时间函数,输出了当前的时间,但那边有年月日,不好进行提取和比较,于是采用输出了时间,然后看着那个时间手动的提取。
⑷系统中应编写存盘函数save(),在进行买票或者退票功能后都需要调用save()函数进行数据的更新。
⑸采用循环结构生成主菜单,在数据输入时应该有清晰的提示信息,以方便用户的操作,对输出数据进行格式控制,以使界面更加美观,清晰。
3 系统实现3.1 功能模块设计根据系统分析的结论,将本系统需完成的功能模块划分如下:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#include<time.h>#define N 4void main_menu(); //主菜单模块void load(); //导入信息void INPUT(); //输入模块void scan(); //浏览模块void tuipiao(); //退票void buy(); //买票void change(); //修改函数void save(); //保存函数void prna(int pos); //打印记录void searchmenu(); //查询菜单函数int s_cn(); //按班次查询int s_lp(); //按起点站查询int s_ap(); //按终点站查询struct Train_Ticket{char cn[15]; //车量班次char lp[15]; //left place 起点char ap[15]; //arrive place 终点char lt[15]; //left time 发车时间char rt[15]; //running time 行车时间int price; // 票价int rl; //Rated load 额定载量int bn; //booking number 已定票人数}T[N];int n=0,i=0;// 全局变量3.2 源代码//********************************************************//主菜单//********************************************************void main_menu(){system("cls");system("color E");printf("************************************************************* *********\n");printf("*************************欢迎来到车票查询系统*************************");printf("\n");printf("| ★★★ 1: 进入班次浏览★★★|\n");printf("| ★★★ 2: 进入查询班次★★★|\n");printf("| ★★★ 3: 售票★★★|\n");printf("| ★★★ 4: 退票★★★|\n");printf("| ★★★ 5: 班次信息修改★★★|\n");printf("| ★★★ 0: 退出★★★|\n");printf("********************************************************* **************\n");printf("\n请选择(0-5):☆☆☆");}void load() //从磁盘文件导入班次信息{int i;FILE *fp;if((fp=fopen("c:车票管理系统.dat","rb"))==NULL){printf("文件打开错误\n");exit(0);}for(i=0;i<N;i++)fread(&T[i],sizeof(struct Train_Ticket),1,fp);fclose(fp);system("cls");}void save() //将班次信息保存到磁盘文件{FILE *fp;if((fp=fopen("c:车票管理系统.dat","wb"))==NULL){printf("无法创建文件!\n\n");exit(0);}for(i=0;i<N;i++)fwrite(&T[i],sizeof(struct Train_Ticket),1,fp); fclose(fp);}int time() //当前系统时间{struct tm *f;time_t now;now=time(NULL);time(&now);f=gmtime(&now);printf(ctime(&now));return 0;}void scan(){system("cls"); /*清屏*/printf("\n===========================================================================\n");printf(" 车次额定载量起点终点开车时间行车时间票价已定票人数\n");for(i=0;i<N;i++)printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[i].cn,T[i].rl,T[i].lp,T[i].ap,T[i].lt,T[i].rt,T[i].price,T[i].bn);printf("===========================================================================\n");printf("请按任意键返回主菜单\n");getch();}void INPUT() //键入所有信息{char ch;do{system("cls");printf("\n\n ====================欢迎进入录入汽车时刻信息界面====================\n");do{printf("\n 新建汽车信息?(y/n) ");scanf("%c",&ch);if(ch!='y'&&ch!='n')printf("输入错误,请重新输入!!!");}while(ch!='y'&&ch!='n');if(ch=='n')break;printf(" ---------------------");printf("\n 录入第%d趟列车信息\n",n+1);printf(" 车次 ");fflush(stdin);gets(T[i].cn);printf(" 额定载量 ");fflush(stdin);scanf("%d",&T[i].rl);printf(" 起点 ");fflush(stdin);gets(T[i].lp);printf(" 终点 ");fflush(stdin);gets(T[i].ap);printf(" 开车时间 ");fflush(stdin);gets(T[i].lt);printf(" 行车时间 ");fflush(stdin);gets(T[i].rt);printf(" 票价 ");fflush(stdin);scanf("%f",&T[i].price);printf(" 已定票人数 ");fflush(stdin);scanf("%d",&T[i].bn);n++;i++;}while(i<N);save();system("cls");}void prna(int pos) // 打印一条记录{printf("\n===================================================================== ======\n");printf(" 车次额定载量起点终点开车时间行车时间票价已定票人数\n");printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[pos].cn,T[pos].rl,T[pos].lp,T[pos].ap,T[pos].lt,T[pos].rt,T[pos].price,T[pos].bn);printf("===================================================================== ======\n");}void searchmenu() // 查询主菜单{system("cls");printf("\n\n ====================欢迎进入查询汽车时刻信息界面====================\n");printf("\n ++++++++++++++++++请选择查找方式++++++++++++++++++\n\n");printf("| ★★★ 1: 按班次查询★★★|\n");printf("| ★★★ 2: 按起点站查询★★★|\n");printf("| ★★★ 3: 进终点站查询★★★|\n");printf("| ★★★ 4: 返回主菜单★★★|\n");printf("********************************************************* **************\n");printf("\n请选择(1-4):☆☆☆");}int s_cn() //按班次查询{char name1[15];int j;system("cls");printf("请输入要查询的班次号:\n ");fflush(stdin);gets(name1);for(j=0;j<N;j++){if(strcmp(T[j].cn,name1)==0)printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[j].cn,T[j].rl,T[j].lp ,T[j].ap,T[j].lt,T[j].rt,T[j].price,T[j].bn);continue;return 0;}return 1;}int s_lp() //按起点站查询{char name2[15];int j;system("cls");printf("请输入要查询的起点站名: \n");fflush(stdin);gets(name2);for(j=0;j<N;j++){if(strcmp(T[j].lp,name2)==0)printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[j].cn,T[j].rl,T[j].lp ,T[j].ap,T[j].lt,T[j].rt,T[j].price,T[j].bn);continue;return 0;}return 1;}int s_ap() //按终点站查询{char name3[15];int j;system("cls");printf("请输入要查询的终点站名: \n");fflush(stdin);gets(name3);for(j=0;j<N;j++){if(strcmp(T[j].ap,name3)==0)printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[j].cn,T[j].rl,T[j].lp,T[j ].ap,T[j].lt,T[j].rt,T[j].price,T[j].bn);continue;return 0;}return 1;}void search() //查询函数{int select;int n;while(1){searchmenu();scanf("%d",&select);switch(select){case 1: n=s_cn();if(n)printf("没找到相关记录\n");printf("按任意键返回\n");getch();break;case 2: n=s_lp();if(n)printf("没有找到相关记录\n");printf("按任意键返回\n");getch();break;case 3: n=s_ap();if(n)printf("没有找到相关记录\n");printf("按任意键返回\n");getch();break;}if(select==4){break;main_menu();}}}void buy() //买票{system("cls");int m,log;char t[10];printf("请输入您需要购买票的班次(1-4):\n");scanf("%d",&m);load();printf("\n===================================================================== ======\n");printf(" 车次额定载量起点终点开车时间行车时间票价已定票人数\n");printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[m-1].cn,T[m-1].rl,T[m -1].lp,T[m-1].ap,T[m-1].lt,T[m-1].rt,T[m-1].price,T[m-1].bn);printf("===================================================================== ======\n");if(T[m-1].bn>=T[m-1].rl){printf("该班次票已满!请选择其他班次\n");printf("按任意键返回\n");}if(T[m-1].bn<T[m-1].rl){printf("当前时间为:\n");time();printf("\n");printf("请再手动输入上述时间,只需要输入时辰与分钟(例如08:00): \n");scanf("%s",t);printf("\n");if(strcmp(t,T[m-1].lt)>0)printf("该班次已发车,请选择其他班次\n");else if(T[m-1].bn==T[m-1].rl)printf("该班次未发车但是该班次票已售完\n"); if(T[m-1].bn!=T[m-1].rl&&strcmp(t,T[m-1].lt)<0&&T[m-1].bn<T[m-1].rl){printf("该班次还可订%d票\n",(T[m-1].rl-T[m-1].bn));printf("请输入您要订票数量");scanf("%d",&log);printf("\n");while(log>(T[m-1].rl-T[m-1].bn)){printf("订票错误,数量不能超过余票数!!!\n");printf("请重新输入:");scanf("%d",&log);}if(log<=(T[m-1].rl-T[m-1].bn)) {printf("一共需要%d元\n",log*T[m-1].price);printf("订票成功,祝您旅途愉快!\n");}}T[m-1].bn+=log;printf("按任意键返回主菜单\n");getchar();}save();}void tuipiao()//退票{system("cls");int x,log;char t[10];printf("请输入您要退票的班次: \n");scanf("%d",&x);i=x;int m=i;load();printf("\n===================================================================== ======\n");printf(" 车次额定载量起点终点开车时间行车时间票价已定票人数\n");printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[m-1].cn,T[m-1].rl,T[m -1].lp,T[m-1].ap,T[m-1].lt,T[m-1].rt,T[m-1].price,T[m-1].bn);printf("===================================================================== ======\n");printf("当前时间为:\n");time();printf("\n");printf("请再手动输入上述时间,只需要输入时辰与分钟(例如 08:00): \n");scanf("%s",t);if(strcmp(T[i-1].lt,t)>0){printf("可以退票\n");printf("请问你真的要退票吗? \n");printf("确认退票请按1,否则返回主菜单\n");scanf("%d",&log);if(log==1){printf("退票成功!\n");T[i-1].bn--;save();printf("按任意键返回主菜单\n");getch();}else{printf("您选择不退票\n");printf("按任意键返回主菜单\n");getch();}}if(strcmp(T[i-1].lt,t)<0){printf("此班次已发车不能退票!!!\n");printf("按任意键返回主菜单\n");getch();}}void change(){system("cls");int k,select;char banci[100];char mima[10];//假设密码为aaaprintf("这个是工作人员所进,请输入密码:\n");scanf("%s",mima);while(strcmp(mima,"aaa")!=0){printf("密码错误!\n");printf("请重新输入:\n");scanf("%s",mima);}printf("进入成功!\n");printf("输入所要修改班次号:\n");scanf("%s",banci);for(k=0;k<N;k++){if(strcmp(T[k].cn,banci)==0)break;}printf("\n===================================================================== ======\n");printf(" 车次额定载量起点终点开车时间行车时间票价已定票人数\n");printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[k].cn,T[k].rl,T[k].lp ,T[k].ap,T[k].lt,T[k].rt,T[k].price,T[k].bn);printf("===================================================================== ======\n");printf("修改时间请按1\n");printf("修改终点站请按2\n");printf("修改票价请按3\n");scanf("%d",&select);switch(select){case 1:for(k=0;k<N;k++)if(strcmp(T[k].cn,banci)==0)break;printf("请输入修改后的时间(例如08:00)\n");scanf("%s",T[k].lt);printf("修改成功!\n");printf("\n===================================================================== ======\n");printf(" 车次额定载量起点终点开车时间行车时间票价已定票人数\n");printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[k].cn,T[k].rl,T[k].lp ,T[k].ap,T[k].lt,T[k].rt,T[k].price,T[k].bn);printf("===================================================================== ======\n");printf("按任意键返回\n");save();getch();break;case 2:for(k=0;k<N;k++)if(strcmp(T[k].cn,banci)==0)break;printf("请输入修改后的终点站\n");scanf("%s",T[k].ap);printf("修改成功!\n");printf("\n===================================================================== ======\n");printf(" 车次额定载量起点终点开车时间行车时间票价已定票人数\n");printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[k].cn,T[k].rl,T[k].lp ,T[k].ap,T[k].lt,T[k].rt,T[k].price,T[k].bn);printf("===================================================================== ======\n");printf("按任意键返回\n");save();getch();break;case 3:for(k=0;k<N;k++)if(strcmp(T[k].cn,banci)==0)break;printf("请输入修改后的票价\n");scanf("%d",&T[k].price);printf("修改成功!\n");printf("\n===================================================================== ======\n");printf(" 车次额定载量起点终点开车时间行车时间票价已定票人数\n");printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[k].cn,T[k].rl,T[k].lp ,T[k].ap,T[k].lt,T[k].rt,T[k].price,T[k].bn);printf("===================================================================== ======\n");printf("按任意键返回\n");save();getch();default:printf("选择错误!");printf("按任意键返回主菜单\n");getch();break;}}void main(){int select;load();while(1){main_menu();scanf("%d",&select);switch(select){case 1:scan();getchar();break;case 2:search();getchar();break;case 3:buy();getch();break;case 4:tuipiao();getchar();break;case 5:change();getchar();break;}if(select==0){ printf("按任意键退出\n");printf("\n");break;} }}4 系统测试4.1 主界面系统主界面如图4-1所示:系统运行主窗口4.2 车次信息浏览模块在主菜单的提示下选择1,可显示所有车次信息。