车票管理系统的程序设计
- 格式:doc
- 大小:7.37 MB
- 文档页数:28
车票管理系统课程设计报告车票管理系统课程设计报告车票管理系统一目的通过课程设计,加深对《C语言程序设计》和《数据结构》课程所学知识的理解,熟练掌握和巩固C语言的基本知识和语法规范,包括:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);库函数应用等;复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等),熟练掌握和巩固三种基本的数据结构(线性结构、树形结构、图形结构)的逻辑结构、存储结构以及相关运算和应用。
学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力二需求分析1、首先本演示程序要实现录入班次信息的功能,并且要用文件来保存这些信息,还可以不定时的增加班次数据。
2、需要浏览班次信息是可以一次性输出当前的班次状况,并且要从实际考虑,若当前系统时间已经超过了某班次的发车时间,则要显示“此班已发出”的提示信息。
3、此程序既为车票管理系统,就要实现查询路线、售票、退票等功能。
当使用查询路线功能时,要分两种情况:按班次号查询和按终点站查询。
若使用售票功能,则只有在查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,并且要自动跟新已售票人数。
退票要输入退票的班次,当本班车尚未出发时才能退票,也要自动更新已售票人次。
4、演示程序以用户和计算机的对话方式执行,即在计算机的屏幕上显示“提示信息”下,用户根据自己的意愿自行操作,每次测试完毕,新增加的班次信息要保存在data.txt文件中。
三概要设计1、本程序各个模块的功能及调用关系:(1)主程序模块main()函数:车票管理系统课程设计报告此主程序的主要目的是用来调用读取文件函数、功能菜单函数以及保存文件信息函数。
(2)文件读入与保存函数read()、save()以及功能菜单MainMenu()函数:这三个函数的主要目的是为了读取文件,保存文件和为用户创造一个功能菜单以便于用户的操作。
车票管理系统程序设计报告一、引言车票管理系统是一个用于管理车票信息的软件系统。
该系统旨在提供方便快捷的购票、查询、退票等功能,以满足用户的出行需求。
本报告将详细介绍车票管理系统的设计思路、功能模块、数据结构以及程序实现等内容。
二、需求分析1. 功能需求车票管理系统需要具备以下功能:- 用户注册与登录:用户可以通过注册账号并登录系统,以便进行购票、查询等操作。
- 车票购买:用户可以根据出发地、目的地、日期等条件查询车票,并进行购买。
- 车票查询:用户可以根据出发地、目的地、日期等条件查询车票的余票情况。
- 车票退票:用户可以在购票后一定时间内申请退票,并进行退款。
- 车票管理:管理员可以对车票信息进行管理,包括添加、修改、删除等操作。
2. 性能需求车票管理系统需要满足以下性能需求:- 响应速度:系统应能够在用户购票、查询等操作时快速响应,提供流畅的用户体验。
- 安全性:系统应具备一定的安全机制,保护用户的个人信息和交易数据不被泄露或篡改。
- 扩展性:系统应具备一定的扩展性,方便后续对功能进行升级和扩展。
三、系统设计1. 架构设计车票管理系统采用三层架构设计,包括表示层、业务逻辑层和数据访问层。
表示层负责与用户进行交互,接收用户的请求并展示相应的界面;业务逻辑层负责处理用户的请求,进行业务逻辑的处理;数据访问层负责与数据库进行交互,进行数据的读取和写入操作。
2. 功能模块设计车票管理系统包括以下功能模块:- 用户模块:负责用户的注册、登录、个人信息管理等操作。
- 车票模块:负责车票的购买、查询、退票等操作。
- 管理员模块:负责管理员对车票信息的管理操作。
3. 数据结构设计车票管理系统的数据结构包括以下表:- 用户表:保存用户的基本信息,包括用户名、密码、手机号等。
- 车票表:保存车票的详细信息,包括车次、出发地、目的地、日期、余票数量等。
- 订单表:保存用户购票的订单信息,包括用户ID、车票ID、购票时间等。
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.实验设备:计算机、网络环境等。
以上教学资源将有助于实现本课程的教学目标,提高学生的编程能力,为学生的职业发展奠定基础。
c语言课程设计车票管理系统车票管理系统是一种用于管理和查询车票信息的软件系统。
在现代社会中,人们经常需要购买车票进行出行,而车票管理系统能够提供方便快捷的购票、退票、查询等功能,极大地方便了人们的出行需求。
车票管理系统需要具备用户管理功能。
用户可以通过注册账号和登录系统来使用各种功能。
系统需要记录用户的个人信息,包括姓名、身份证号码、电话号码等,以便于用户购票和退票时的身份验证。
用户可以通过修改个人信息来更新自己的基本资料。
车票管理系统需要提供车次管理功能。
系统需要记录不同车次的信息,包括车次编号、发车时间、到达时间、起始站点、终点站点、票价等。
管理员可以通过系统添加、修改和删除车次信息。
用户可以查询某一特定车次的详细信息,包括车次编号、发车时间、到达时间、起始站点、终点站点、余票数量、票价等。
车票管理系统还需要提供购票和退票功能。
用户可以通过系统选择某一特定车次和日期,然后查询该车次的余票数量。
如果有余票,用户可以选择购买相应数量的车票,并完成支付操作。
购票成功后,系统会生成一张电子车票并发送到用户的手机上。
如果用户需要退票,可以在规定的时间范围内选择相应的车票进行退票操作。
系统会根据退票规则进行退款处理,并将退款金额返还到用户的账户余额。
车票管理系统还需要提供车票查询功能。
用户可以通过系统选择起始站点和终点站点,然后查询符合条件的车次列表。
系统会根据用户的选择显示车次编号、发车时间、到达时间、余票数量、票价等信息。
用户可以根据自己的需求选择最合适的车次进行购票。
车票管理系统还需要具备统计分析功能。
管理员可以通过系统生成各种报表,包括每日、每周、每月的车票销售情况、客流量统计、收入统计等。
这些报表可以帮助管理员了解车票销售的情况,从而进行合理的调整和优化。
车票管理系统是一种方便快捷的软件系统,能够满足用户购票、退票和查询的需求。
通过该系统,用户可以轻松地选择合适的车次、购买车票,并随时查询车票信息。
湖南工业大学课程设计(实训)资料学院计算机学院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语言课程设计题目名称车票管理系统程序设计姓名刘韬学号201520150133班级1521501指导教师徐猛华编写日期2016年1月目录第一章、设计任务需求分析 (2)1、目标;2、要求;3、学生成绩管理系统;第二章、总体设计 (2)1、采用的基本思想及完成过程;2、遇到的问题和解决的方法;3、程序设的流程图;第三章、所负责部分详细设计 (4)1、程序所需函数;2、明确分工各组员所负责的模块;3,函数功能及参数的意义;4、模块功能说明;第四章、程序运行结果测试 (7)1、录入班车信息;2、浏览班车信息;3、按班次查询;4、按终点站查询;5、订票;6、退票;7、退出系统;第五章、结论与心得 (10)第六章、致谢 (10)第七章、附录 (11)正文第一章、设计任务需求分析1、目标:(1)掌握和利用C语言进行程序设计的能力。
(2)理解和运用结构化程序设计的思想和方法。
(3)学会调试一个较长程序的基本方法。
(4)掌握书写程序设计开发文档的能力(书写课程设计报告)。
2、要求:该系统需实现的功能有(1)录入班次信息(信息用文件保存),可不定时地增加班次数据。
(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。
(3)查询路线:可按班次号查询,可按终点站查询(4)售票和退票功能:A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数。
B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。
3、学生成绩管理系统:程序执行出一个有好的人机界面,供人合理的操作,完成浏览查询、退订票以及自动更新的功能。
第二章、总体设计1、采用的基本思路:改程序设计采用的思路是利用结构体存放车辆信息,车辆的信息有操作人员录入,录入完成后,通过菜单的提示进行相应的操作,不同的模块采用不同的算法进行管理,主要采用的头文件有:#include<stdio.h>,#include<stdlib.h>,#include<string.h>,# define size 4。
c语言课程设计车票管理系统车票管理系统是一种用于管理车票信息的软件系统,它可以方便地记录和查询车票的相关信息,包括车票的购买、使用和退款等操作。
本文将详细介绍车票管理系统的设计与实现。
一、系统需求分析车票管理系统的主要功能包括:车票信息的录入与管理、车票的购买与退款、车票的查询与打印等。
具体需求如下:1. 车票信息的录入与管理:系统管理员可以录入车票的基本信息,包括车次、出发地、目的地、出发时间、到达时间、票价等。
2. 车票的购买与退款:乘客可以通过系统购买车票,并可以根据需要进行退款操作。
购买车票时需要提供乘客的相关信息,包括姓名、身份证号、联系电话等。
3. 车票的查询与打印:乘客可以通过系统查询车票的相关信息,并可以选择打印车票。
二、系统设计与实现1. 数据库设计:为了存储车票的相关信息,需要设计一个车票信息表,包括车次、出发地、目的地、出发时间、到达时间、票价等字段。
同时,还需要设计一个乘客信息表,包括姓名、身份证号、联系电话等字段。
2. 界面设计:车票管理系统的界面应该简洁明了,方便用户操作。
可以采用图形界面的形式,通过按钮、输入框等控件与用户进行交互。
3. 功能实现:a. 车票信息的录入与管理:系统管理员可以通过系统界面进行车票信息的录入与管理,包括新增车票、修改车票、删除车票等操作。
b. 车票的购买与退款:乘客可以通过系统界面选择购买车票或退款,购买车票时需要填写相关信息,并将购买信息保存到数据库中,退款时需要输入订单号进行操作。
c. 车票的查询与打印:乘客可以通过系统界面进行车票的查询,可以根据车次、出发地、目的地、出发时间等条件进行筛选,并可以选择打印车票。
三、系统运行流程1. 系统管理员登录系统,进入车票管理界面。
2. 管理员可以进行车票信息的录入与管理,包括新增、修改和删除车票。
3. 乘客通过系统界面选择购买车票,填写相关信息,系统将购买信息保存到数据库中,并生成订单号。
4. 乘客可以通过系统界面进行车票的查询,可以根据条件筛选需要的车票。
c语言课程设计车票管理系统一、教学目标本节课的教学目标是使学生掌握C语言编程的基本方法,通过编写“车票管理系统”程序,让学生了解和掌握结构体、文件操作等高级知识,培养学生的实际编程能力和问题解决能力。
具体分为以下三个部分:1.知识目标:使学生掌握结构体的定义和使用,理解文件操作的基本方法,了解C语言编程中的一些常见问题和解决方法。
2.技能目标:培养学生能够运用C语言进行程序设计,能够独立完成一个小型管理系统的设计与实现。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决实际问题的能力,培养学生的团队协作精神。
二、教学内容本节课的教学内容主要包括以下几个部分:1.结构体的定义和使用:通过讲解和示例,让学生了解结构体的概念和如何使用结构体来表示车票信息。
2.文件操作:讲解如何使用C语言进行文件的读写操作,让学生掌握文件操作的基本方法。
3.车票管理系统的设计与实现:通过分组讨论和实验,让学生设计和实现一个简单车票管理系统,培养学生的实际编程能力和问题解决能力。
三、教学方法本节课的教学方法主要包括讲授法、讨论法和实验法:1.讲授法:用于讲解结构体和文件操作的基本概念和方法。
2.讨论法:通过分组讨论,让学生共同探讨如何设计和实现车票管理系统。
3.实验法:让学生动手编写程序,实现车票管理系统的功能。
四、教学资源本节课的教学资源主要包括教材、参考书、多媒体资料和实验设备:1.教材:主要包括C语言编程教材和《C程序设计》等。
2.参考书:主要包括《C语言 Primer》等。
3.多媒体资料:包括结构体和文件操作的PPT讲解,以及相关的视频教程。
4.实验设备:包括计算机和网络设备,让学生能够进行实际的编程和实验操作。
五、教学评估本节课的教学评估主要包括以下几个部分:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和理解程度。
2.作业:通过检查学生提交的作业,评估学生对结构体和文件操作知识的掌握情况。
火车票系统程序设计报告1. 引言本报告旨在介绍一个火车票系统的程序设计,该系统旨在提供用户购买火车票、查询车次信息等功能。
通过该系统,用户可以方便地预订、查询以及管理火车票信息,提高购票交通效率。
2. 功能需求火车票系统的主要功能需求如下:1. 用户注册和登录:用户可以通过注册账号和密码进行登录,以使用系统的各项功能。
2. 车次查询:用户可以根据出发地、目的地、时间等条件查询所有符合要求的车次信息。
3. 车票预订:用户可以预订特定车次的车票,并提供相应的座位选择。
4. 车票退订:用户可以取消已预订的车票。
5. 车票管理:管理员可查看所有车次信息及相应座位的预订情况,并进行车次和座位管理。
3. 系统设计3.1 数据库设计为了支持所需的功能,我们需要设计一个数据库来存储用户、车次和车票信息。
数据库的设计如下:- 用户表(User):存储用户的账号、密码、邮箱等信息。
- 车次表(Train):存储车次的出发地、目的地、时间、座位数量等信息。
- 车票表(Ticket):存储用户预订的车票信息,包括车次、座位等。
3.2 系统架构火车票系统的主要架构如下:- 用户界面:提供用户注册、登录、车次查询、车票预订和退订等功能的界面。
- 功能模块:实现用户管理、车次管理、车票管理等功能的模块。
- 数据库模块:实现与数据库的连接和数据存取的功能模块。
3.3 系统流程以下是火车票系统的主要流程:1. 用户注册:用户通过输入注册信息和密码进行账号注册。
2. 用户登录:用户输入账号和密码进行登录。
3. 车次查询:用户选择出发地、目的地、时间等条件进行车次查询。
4. 车票预订:用户选择特定车次和座位,并确认预订。
5. 车票退订:用户选择已预订的车票进行退订。
6. 管理员功能:管理员可以查看车次信息和座位情况,并进行相应管理操作。
4. 技术实现4.1 前端技术前端部分可以使用HTML、CSS和JavaScript来实现用户界面的设计和交互操作,使用AJAX技术与后端进行数据交互。
c语言课程设计车票管理系统车票管理系统是一个用于管理车票信息的软件系统。
它可以记录并管理车票的购买、退票、查询等操作,实现对车票信息的全面管理和统计。
本文将从需求分析、系统设计和实现三个方面来介绍车票管理系统的开发过程。
一、需求分析车票管理系统主要面向客户和管理员两类用户。
客户可以通过系统购买车票、查询车票信息,管理员可以管理车票信息、处理退票等操作。
1. 用户管理车票管理系统需要实现用户的注册和登录功能,以保证用户购票时的身份认证和信息安全。
2. 车次管理系统需要记录车次的信息,包括车次编号、起始站点、终点站点、发车时间、到达时间、票价等。
管理员可以对车次信息进行增删改查操作。
3. 车票管理系统需要记录车票的信息,包括车票编号、车次编号、座位号、购票人、购票时间等。
客户可以通过系统购买车票,管理员可以对车票信息进行增删改查操作。
4. 车票查询客户可以根据起始站点、终点站点和发车时间等条件来查询车票信息,以便选择合适的车次和座位。
5. 车票购买客户可以选择合适的车次和座位进行购票,系统需要实时更新车票信息,避免重复售票或超售情况的发生。
6. 车票退票客户可以通过系统进行退票操作,系统需要实时更新车票信息,并进行相应的退款处理。
二、系统设计基于需求分析的结果,我们可以设计出如下的系统架构:1. 用户管理模块包括用户注册、登录、信息修改等功能。
2. 车次管理模块包括车次信息的增删改查功能。
3. 车票管理模块包括车票信息的增删改查功能。
4. 车票查询模块根据用户输入的条件查询车票信息并展示给用户。
5. 车票购买模块根据用户选择的车次和座位进行购票,并更新车票信息。
6. 车票退票模块根据用户选择的车票进行退票,并更新车票信息和退款处理。
三、系统实现车票管理系统的实现主要依赖于数据库和编程语言。
我们可以选择使用MySQL作为数据库,使用C语言进行系统的开发。
1. 数据库设计根据需求分析的结果,我们可以设计出如下的数据库表结构:- 用户表:包括用户ID、用户名、密码等字段。
南京工程学院课程设计说明书(论文) 题目车票管理系统的程序设计课程名称 C语言程序设计院(系、部、中心)电力工程学院专业电气工程及其自动化(电网监控技术)班级学生姓名学号设计地点工程实践中心指导教师设计起止时间:2009 年6 月8 日至2009 年6 月12日一、任务书 (1)二、设计概要说明 (5)⒈功能综述 (5)⒉功能设计要求 (5)三、代码详解 (6)⒈头文件,及主函数 (6)⑴包含头文件、函数声明等 (6)⑵主函数: (7)⒉各模块主要代码 (7)⑴菜单函数: (7)⑵录入函数: (8)⑶显示所有班次: (9)⑷查找函数: (9)⑸增加班次函数: (10)⑹售票函数: (11)⑺退票函数: (12)⑻修改函数: (13)⑼删除函数: (13)⑽退出函数: (14)⒊各模块分函数: (15)⑴打印表头: (15)⑵打印表尾: (15)⑶查询函数: (15)⑷按班次查询函数: (16)⑸保存函数: (16)⑹打开文件函数 (17)⑺判断时间是否超出函数: (17)⑻定位函数: (17)⑼修改及增加录入: (18)四、运行结果及存在问题 (19)⒈运行结果 (19)⑴主界面: (19)⑵录入信息界面 (19)⑶显示所有班次信息界面 (20)⑷查询界面 (20)⑸增加班次界面 (21)⑹售票界面 (22)⑺退票界面 (23)⑻修改班次界面 (24)⑼删除班次 (24)⒉存在问题 (25)四、心得 (25)五、参考资料 (26)一、任务书南京工程学院课程设计任务书课程名称 C语言程序设计院(系、部、中心)电力工程学院专业电气工程及其自动化(电网监控技术)班级起止日期2009 年6月8 日至12日指导教师陈锦涛5.课程设计进度安排起止日期工作内容2009年6月6日~7日2009年6月8 日2009年6月9 日2009年6月10 日2009年6月11 日2009年6月12 日熟悉任务,设计算法,编写源程序上机调试上机调试上机调试上机调试考核验收6.成绩考核办法课程设计成绩的评定:根据设计的完成情况、程序的编制质量、独立设计能力以及答辩情况综合衡量,由答辩小组讨论决定。
原则上按以下公式计算:课程设计成绩=工作表现×30%+设计成果×40%+考核测评×30%工作表现:独立工作能力及设计过程的表现。
占总成绩的30%。
设计成果:设计说明书(计算书、论文)、图纸、程序、作品等的质量。
占总成绩的40%。
考核测评:课程设计结束前,指导教师应采用考试或答辩等形式对所指导的学生进行测评。
测评成绩占总成绩的30%。
有创新的同学根据具体情况适当加分。
教研室审查意见:教研室主任签字:年月日院(系、部、中心)意见:主管领导签字:年月日二、设计概要说明⒈功能综述本程序采用结构化、模块化的设计方法,共分为九个模块实现录入班次、显示班次、查询班次、售票、退票、修改、删除、增加班次八个对车票管理功能,能够较好的解决运行时的异常(如图):⒉功能设计要求①录入模块首次使用时录入班次信息,亦可重新录入班次。
②显示模块浏览班次信息,可显示出所有班次当前状况(已发车,未发车)。
③查询班次可以按班次号查询,也可按终点站查询。
④增加班次用于新增班次信息。
⑤售票用于售票(只有当系统时间未超过发车时间时方可售票)。
⑥退票用于退票(只有当系统时间未超过发车时间时方可退票)。
⑦修改班次当班次信息有误或需更改时用用于改正。
⑧删除班次当班次不在发车时可用此命令删除班次。
⑨退出退出系统命令三、代码详解⒈头文件,及主函数⑴包含头文件、函数声明等#include<stdio.h>#include<string.h>#include<stdlib.h>#include<time.h>#include<windows.h>#include<conio.h>#define N 20typedef struct cl{char num[10];char hour[3];/*小时、分钟为char型可输出时间时输出xx:00*/char min[3];char from[10];char to[10];float hours;int max;int now;}CLASS;int class_num=0;CLASS records[N];void NewMessage(); /*录入班次*/void ShowTable1();/*打印表头*/void ShowTable2(i);/*打印表尾*/void Display();/*显示所有班次*/void add(); /*增加班次*/void save();/*保存班次*/void load(); /*打开文件信息*/void gotoxy();/*定位光标*/void search(); /*查询班次*/void change();/*修改班次*/void quit();/*退出*/void Ticketorder(); /*售票*/void Ticketdelete();/*退票*/int menu_select(); /*菜单函数*/int whether(int); /*判断系统时间与发车时间*/void find(char s1[],char s2[]); /*查找函数*/void deletemessage(); /*删除函数*/int findnum(char s1[]);/*按班次查询*/void get(int,int); /*修改或增加班次录入函数*/char *menu[]={"***************MENU***************","1. 录入班次","2. 显示所有班次","3. 查询班次","4. 增加班次","5. 售票","6. 退票","7. 修改班次","8. 删除班次","9. 退出"};⑵主函数:void main(){system("cls");for(;;){switch(menu_select()){case 1: NewMessage();break;case 2: Display();break;case 3: search();break;case 4: add();break;case 5: Ticketorder();break;case 6: Ticketdelete();break;case 7: change();break;case 8: deletemessage();break;case 9: quit();break;}}}⒉各模块主要代码⑴菜单函数:用于打印主界面及供用户选择命令int menu_select(){char s[5];int c,i;system("cls");system("color 06");gotoxy(10,2); /*输出边框*/ for(i=0;i<28;i++)printf("%c ",04);for(i=3;i<16;i++){gotoxy(10,i);putchar(04);gotoxy(64,i);putchar(04);}gotoxy(10,16);for(i=0;i<28;i++)printf("%c ",04);for(i=0;i<10;i++){gotoxy(20,i+3);printf("%s",menu[i]);}i=0;do{gotoxy(25,(i++)+17);printf("请选择(1-9):");scanf("%s",s);c=atoi(s);}while(c<0||c>9);return c;}⑵录入函数:用于录入班次信息,先判断是否已有班次信息,若有提示用户,防止误操作;然后在录入信息。
void NewMessage(){int i=0,j,h;char s[5];FILE *fp;system("cls");system("color 02");if((fp=fopen("车票管理系统0.dat","rb"))!=NULL) /*判断是否班次信息存在,若存在询问是否覆盖原有信息*/{gotoxy(8,6);printf("车票信息已存在,录入将覆盖已有信息!");gotoxy(8,7);printf("是否继续(Y/N)");scanf("%s",s);if(s[0]!='Y'&&s[0]!='y')i=1;}if(i= =0) /*当i!=0时表示不录入班次不执行此操作直接跳出此函数*/{system("cls");gotoxy(8,6);printf("请输入要录入班次总数:");scanf("%d",&class_num);system("cls");for(i=0,j=5;i<class_num;i++){system("cls");gotoxy(8,j++); /*用j++代替具体数字可使屏幕显示规律(可见后面运行结果)*/printf("请输入第%d个班次信息:",i+1);h=-1;for(;h!=i;) /*判断该班次是否存在,h=-1使第一次循环顺利进行*/{gotoxy(8,j++);printf("请输入班次:");scanf("%s",records[i].num);for(h=0;h<i;h++)if(strcmp(records[h].num,records[i].num)==0){gotoxy(8,j++);printf("输入错误!该班次已存在!");break;}}get(i,j);j=5;}save();}}⑶显示所有班次:先调用打印表头函数,在打印车票信息,用whether函数判断时间是否超过发车时间,若超过则在发车时间一栏打印“已发车”,然后在调用打印白哦为函数打印表尾。