客运站信息管理系统

上传人:第*** 文档编号:34265931 上传时间:2018-02-22 格式:DOC 页数:21 大小:451.50KB
返回 下载 相关 举报
客运站信息管理系统_第1页
第1页 / 共21页
客运站信息管理系统_第2页
第2页 / 共21页
客运站信息管理系统_第3页
第3页 / 共21页
客运站信息管理系统_第4页
第4页 / 共21页
客运站信息管理系统_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《客运站信息管理系统》由会员分享,可在线阅读,更多相关《客运站信息管理系统(21页珍藏版)》请在金锄头文库上搜索。

1、面向对象技术实训课程实训报告客运站信息管理系统姓 名:班 级:学 号:指导教师:成 绩:完成时间:2016 年 12 月完成地点:S41111 设计题目(问题)描述和要求某客运站因春运即将到来,客流量急剧增加,工作人员无法按时完成服务工作,不能满足乘客的出行需求,于是想开发一套智能客运站系统,实现工作人员后台操作,乘客自主选票,订票,退票的程序,以缓解出行压力。要求: (1) 增加车辆信息(2) 更新车辆信息(3) 删除车辆信息(4) 乘客查票(5) 乘客买票(6) 乘客退票、2 系统分析根据问题描述和要求,系统要求能够编写程序实现输入、输出、查询、增加、删除、修改、取消操作等功能,这些功能需

2、要调用车辆类的成员函数实现。根据案例需求可以定义一个车辆类,车辆的基本信息有车辆编号、车辆路线、票价、余票和发车时间。由于需要对车辆信息进行读入和存储,在程序中需要文件的输入输出操作。先从相应的文件中读入车辆,管理员可以对信息处理后,在退出系统的时候将已修改资料重新存储到原文件中去。3 设计3.1Bus 类的设计3.1.1 数据成员int id; /车辆编号int tag; /车辆数量char road20; /车辆路线3.1.2 函数成员及其实现思路(1)获取行车路线,即返回车辆路线成员变量 road 的值2char * Bus:getroad() return road;获取车辆编号,即返

3、回车辆成员变量 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) st

4、rcpy(road,ro);3.2 User 类的设计3.2.1 数据成员int tag; /用户总数int id; /用户编号char name10; /用户姓名3.2.2 函数成员及其实现思路(1)void User:adduser(int n,char * na)/用户注册信息添加功能的设计思路是:用户输入其型姓名;系统分配用户编号;3(2)void User:ytickets(int busid)/用户订票功能实现订票功能的设计思路是:用户选择要订票的汽车编号;系统检索汽车编号,若汽车存在则分配订单号并提醒订票成功;(3)int User:ntickets(int busid)/用户取

5、消订单退票设计思路如下:用户输入需要退票的汽车编号;系统检索车辆编号,成功则完成退票,反之退票失败;(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

6、: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()函数,实现用

7、户使用功能和管理员管理功能,分别使用上述两函数实现。(1) 某操作算法流程4开 始打 开 文 件读 入 文 件 中 的电 脑 信 息退 出循 环 显 示 界面 , 输 入 选 项用 户 专 区 , 订 票用 户 专 区 , 退 票i = 1 , j = 1i = 1 , j = 2i = 1 , j = 3i = 2 , j = 1i = 2 , j = 2i = 2 , j = 3i = 0 , j = 0i = 0结 束NNNNNNNNYYYY管 理 员 专 区 , 更新 车 辆管 理 员 专 区 , 删除 车 辆管 理 员 专 区 , 删除 车 辆退 出YYY主程序调用流程图4 调试分析

8、、测试结果4.1.1 分析1.设计的时候,会出现很多错误,应细心检查数据成员及成员函数是否完整,定吗编辑过程中是否出现拼写错误。2.在简单地基础上,逐步进行添加数据成员,进而添加相应功能的成员函数,实现设计预期的结果。3.编程就是一个不断完善的过程,先搭建框架、逐步扩充,由简到繁,最后完善。边编程,边调试,边扩充。4.1.2 测试结果:执行结果:565 小结通过对车辆管理系统的设计,自己学会独立运用所学知识,加强了对基础知识的掌握并进一步加强对较大程序的实现技能。在设计之初,首先要构思好系统应具有的功能,比如管理员添加,删除,更新车辆及用户信息,用户查询,订票,退票等等,根据要得到的信息,设计

9、要实现的操作,即对这些信息的使用(成员函数) 。准备好之后,根据 C 的知识,进行数据的类型选择,根据定义好的类型,选择相应的类型的函数,进行操作。在简单地程序之上,逐渐扩充,实现更多的功能。在调试的过程会遇到不少大大小小的问题,书写认真很重要,细心更重要,即便是检查错误,也要细心,经常见到的就是输入法导致的中英字符混用。编程时一个细心的过程,书写的规范,使得查看更方便。7附录/*/ * bus.h 类声明头文件 #ifndef BUS_H_#define BUS_H_#include#include#include#include#includeconst int maxuser=100;c

10、onst int maxche=100;const int maxjie=2;using namespace std;#endif /*/ * sbus.h 类声明头文件 #ifndef SBUS_H_#define SBUS_H_#includebus.hclass Userpublic:User();int gettag();int getid();int ntickets(int busid);int gobusmaxjie;char * getname();void setname(char na);void delbus();void adduser(int n,char * na)

11、;void ytickets(int busid);void show();private:int tag;int id;char name10;class U_Datapublic:U_Data();8U_Data();int adduser(char * na);void show();void usershow(int userid);void userdata();User * search(int userid);private:int top;int maxid;User usemaxuser;class Buspublic:Bus();int getid();int gettag

12、();int ytickets();char * getname();void setname(char na);void delbus();void addbus(int n,char * na);void ntickets();void show();private:int id;int tag;int onshelf;char name20;class B_Datapublic:B_Data();B_Data();int addbus(char * na);void busdata();void show();Bus * search(int busid);private:int top

13、;int maxid;Bus busmaxche;9#endif /*/ * sbus.cpp 类声明头文件 #includesbus.hUser:User()id=0;tag=0;for(int i=0;ichoice;switch(choice)case 1:coutrname;adduser(rname);break;case 2:coutuserid;r=search(userid);if(r=NULL)coutrname;r-setname(rname);break;case 3:coutuserid;r=search(userid);if(r=NULL)coutdelbus();b

14、reak;case 4:coutuserid;r=search(userid);if(r=NULL)coutshow();13break;case 5:show();break;case 0:break;default:coutchoice;switch(choice)case 1:coutbname;addbus(bname);break;case 2:coutbusid;b=search(busid);if(b=NULL)coutgetid()bname;b-setname(bname);16break;case 3:coutbusid;b=search(busid);if(b=NULL)

15、coutgetid()delbus();break;case 4:coutbusid;b=search(busid);if(b=NULL)coutgetid()show();break;case 5:show();break;case 0:break;default:coutchoice;switch(choice)case 1:coutrid;r=UserDB.search(rid);if(r=NULL)couttempname;UserDB.adduser(tempname);break;case 0:18coutchoice;switch(choice)case 1:coutbid;b=BusDB.search(b

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号