客运站信息管理系统讲解.doc
文本预览下载声明
《面向对象技术实训》课程实训报告
客运站信息管理系统
姓 名:
班 级:
学 号:
指导教师:
成 绩:
完成时间:2016年12月
完成地点:S411
1设计题目(问题)描述和要求
某客运站因春运即将到来,客流量急剧增加,工作人员无法按时完成服务工作,不能满足乘客的出行需求,于是想开发一套智能客运站系统,实现工作人员后台操作,乘客自主选票,订票,退票的程序,以缓解出行压力。
要求:
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数据成员
int tag; //用户总数
int id; //用户编号
char 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 测试结果:
执
显示全部