客运站信息管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象技术实训》课程实训报告客运站信息管理系统
姓名:
班级:
学号:
指导教师:
成绩:
完成时间:2016年12月
完成地点:S411
1设计题目(问题)描述和要求
某客运站因春运即将到来,客流量急剧增加,工作人员无法按时完成服务工作,不能满足乘客的出行需求,于是想开发一套智能客运站系统,实现工作人员后台操作,乘客自主选票,订票,退票的程序,以缓解出行压力。
要求:
(1)增加车辆信息
(2)更新车辆信息
(3)删除车辆信息
(4)乘客查票
(5)乘客买票
(6)乘客退票、
2系统分析
根据问题描述和要求,系统要求能够编写程序实现输入、输出、查询、增加、删除、修改、取消操作等功能,这些功能需要调用车辆类的成员函数实现。
根据案例需求可以定义一个车辆类,车辆的基本信息有车辆编号、车辆路线、票价、余票和发车时间。由于需要对车辆信息进行读入和存储,在程序中需要文件的输入输出操作。先从相应的文件中读入车辆,管理员可以对信息处理后,在退出系统的时候将已修改资料重新存储到原文件中去。
3设计
3.1Bus类的设计
3.1.1数据成员
int id; //车辆编号
int tag; //车辆数量
char road[20]; //车辆路线
3.1.2函数成员及其实现思路
(1)获取行车路线,即返回车辆路线成员变量road的值
char * Bus::getroad()
{ return road;}
获取车辆编号,即返回车辆成员变量id的值
int Bus::getid()
{ return id;}
获取车辆数量,即返回车辆成员变量tag的值
int Bus::gettag()
{return tag;}
获取用户名,返回用户名name的值
char * User::getname()
{ return name;}
获取用户人数,返回tag的值
int User::gettag()
{ return tag;}
获取用户编号,返回id的值
int User::getid()
{ return id;}
(2)设置车辆路线,即设置车辆成员变量road的值road=newroad。
void User::setroad(char ro[])
{ strcpy(road,ro)};
3.2 User类的设计
3.2.1数据成员
i nt tag; //用户总数
i nt id; //用户编号
c har name[10]; //用户姓名
3.2.2函数成员及其实现思路
(1)void User::adduser(int n,char * na)//用户注册信息添加功能的设计思路是:
用户输入其型姓名;
系统分配用户编号;
(2)void User::ytickets(int busid)//用户订票功能实现
订票功能的设计思路是:
用户选择要订票的汽车编号;
系统检索汽车编号,若汽车存在则分配订单号并提醒订票成功;
(3)int User::ntickets(int busid)//用户取消订单退票
设计思路如下:
用户输入需要退票的汽车编号;
系统检索车辆编号,成功则完成退票,反之退票失败;
(4)void User::show()//输出用户所要信息。
设计思路如下:
包括用户姓名,编号等基本信息;
系统检索用户操作信息,用户当前所有订单;
3.3主程序的设计
3.3.1全局变量、全局函数的设计
(1)void B_Data::busdata()//管理员向更新系统车辆信息。
设计思路如下:
调用void Bus::addbus()函数,添加车辆信息;
调用void Bus::setname()函数,更新车辆信息;
调用Bus * B_Data::search()函数,查找车辆信息;
调用void Bus::show()函数,显示用户信息;
调用void Bus::del()函数,删除车辆信息;
(2)void U_Data::userdata()//管理员向更新用户信息。
调用void User::addbus()函数,添加用户信息;
调用void User::setname()函数,更新用户信息;
调用Bus * U_Data::search()函数,查找用户信息;
调用void User::show()函数,显示用户信息;
调用void User::del()函数,删除用户信息;
3.2.2 主函数设计
在主函数中调用void userlogin()函数和void managelogin()函数,实现用户使用功能和管理员管理功能,分别使用上述两函数实现。
(1) 某操作算法流程
主程序调用流程图
4调试分析、测试结果
4.1.1 分析
1.设计的时候,会出现很多错误,应细心检查数据成员及成员函数是否完整,定吗编辑过程中是否出现拼写错误。
2.在简单地基础上,逐步进行添加数据成员,进而添加相应功能的成员函数,实现设计预期的结果。
3.编程就是一个不断完善的过程,先搭建框架、逐步扩充,由简到繁,最后完善。边编程,边调试,边扩充。
4.1.2 测试结果:
执行结果: