车站售票管理系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计实习报告题目:车站售票管理系统
姓名:
学号:110XXXXX
班级:应用物理11-2
同组者:
第一章实训内容总述
本小组项目的基本描述,适用范围及功能介绍
我们小组设计课题为“车站售票管理系统”。系统主要功能是进行退售票管理,发车时间、车辆班次、始终点站、行车时间、票价、额定载量、售出票数等信息的录入,以及进行班次信息查询。能实现对班次信息的输入浏览、修改、删除,可分别根据发车时间、到站及其组合查询班次信息,也能够为用户提供车票信息的查询,方便用户进行退订票操作,最后还增加了售票统计功能,使得售票信息清晰地展现。本系统能够将各种信息及时保存于文档内,能够及时自动更新班次以及车票信息。
我们的车站售票管理系统可应用于各类车站,对车站班次车票的基本信息进行综合管理和快速查询。可以节省在车站信息管理花费的人力和物力。同时可以使得车站管理人士随时随地的掌握班次信息,更简捷的对车站班次以及售票信息进行统计与管理,有助于提高车站的整体管理水平。
第二章课题要求
1、题目要求
主要内容:
设计一个车站售票管理系统,实现售票管理的自动化,主要任务是用计算机对每个汽车班次的信息进行管理,包括用户验证、班次数据维护、售票管理等模块,实现班次信息的录入、修改、删除、查询以及售票、退票和售票统计等一系列功能。要求用键盘以选择菜单方式工作。
数据格式
用户数据:包括用户名char(10)、密码char(10)、用户类型(A:管理员,S:售票员)char(1)
汽车班次数据:班次char(10)、到站char(10)、发车时间char(6)、票价、座位数、剩余票数
数据文件
用户数据文件user.txt,保存系统用户数据,每个用户的数据为一条记录
班次数据文件bus.txt,存放车站的发车班次数据,每个班次的数据为一条记录
用户验证
系统运行后,首先要求用户登录,提示用户输入用户名和密码,若用户名或密码不对,提示用户并要求重新输入;若通过验证,则根据用户的类型分别进入系统管理界面或者售退票界面
班次数据维护(只有管理员有权操作)
录入班次信息:输入一个班次信息
修改班次信息:根据班次号修改某个班次信息
删除班次信息:根据班次号删除某个班次信息
查询班次信息:分别根据发车时间、到站及其组合查询班次信息
售退票管理(售票员)
售票:首先根据到站地点和发车时间查询班次及剩余票数,若存在并且剩余票数大于购票数,则售票并计算出票价,否则,给出提示信息
退票:根据班次进行退票处理
统计:统计输出当日到达各地的班次、售票数、金额
关于文件操作
系统运行时,自动读取用户数据文件和班次数据文件,若该文件不存在,则建立该文件;若文件存在,则从中读取相关信息,根据提示选择添加、修改、删除记录,添加班次信息时,若该班次的记录已经存在,则应给出提示信息,并不能添加到文件中,当班次信息发生变化后应修改班次信息文件
系统采用模块化设计,并且程序中有适当的注释
2、我的任务
本次我的任务是负责管理员模块的制作,具体包括录入班次,修改班次,删除班次,查询班次,退出系统五个大模块。在程序编写过程中,为达到预定目标以及方便小组成员间的资源共享,我们采取的是函数模块设计方式。在此过程中,我书写了班次信息管理主菜单函数,录入判断函数,录入函数,修改及增加班次函数,修改函数,删除函数,增加函数,以及跟我组成员共同完成了退出函数,查询函数,班次查询函数,保存函数,打印表头函数,显示所有函数等。
第三章分析设计
一、设计要点
(1)、输入班次信息,包括要增加的班次数目,班次,发车时间,始发站,终点站,行车时间,额定载量,已售票量,票价;
(2)、输入班次号进行班次信息修改;
(3)、删除相应的班次信息;
(4)、对班次信息进行查询,包括全部浏览显示,按发车时间查询,按终点站查询;
二、设计总体流程图
三、分函数模块程序图
1、录入函数
2、修改函数
3、删除函数
第四章关键代码实现说明
1、结构体定义:
typedef struct TICKET ////定义新结构体TICKET {
char num[10]; //车次编号
char hour[3]; //时间,,小时
char min[3]; //分钟
char from[10]; //起始站
char to[10]; //终点站
float hours,price; //车程实际时间、车票价格
int max; //最大车载容量
int now; //已售票数
}CLASS;
2、文件结构:
二进制文件
班次、发车时间、起点站、终点站、行车时间、总座位数、剩余数、票价
文本文件
姓名、密码、人员类型
3、函数定义:
(1)在进入相应菜单时要输入姓名跟密码进行身份验证;char userLogin()(2)进入相应菜单选择所进行的操作;void busMenu()
(3)录入相应班次信息;void addBus()
(4)修改指定班次的班次、发车时间、起点站、终点站、行车时间、总座位数等信息;void change()
(5)删除指定班次的基本信息;void deletemessage()
(6)按照发车时间,发车班次查询相应班次信息;void search()
(7)录入增加的班次、发车时间、起点站、终点站、行车时间、总座位数等信息;void add()
(8)读经保存后文档中的班次信息;void load()
(9)保存相应的班次信息;void save()
(10)显示班次信息;void ShowTable1()、void ShowTable2()
(11)退出学生信息系统;void quit()
4、关键函数体分析说明
1、void busMenu()
该模块功能为管理菜单能进入各个模块
分析主模块算法:输出主菜单后键盘输入0-4并回车,进入相应应用;
分析主菜单模块的N-S图