收藏 分销(赏)

客运站信息标准管理系统.doc

上传人:天**** 文档编号:3032646 上传时间:2024-06-13 格式:DOC 页数:31 大小:432.04KB
下载 相关 举报
客运站信息标准管理系统.doc_第1页
第1页 / 共31页
客运站信息标准管理系统.doc_第2页
第2页 / 共31页
客运站信息标准管理系统.doc_第3页
第3页 / 共31页
客运站信息标准管理系统.doc_第4页
第4页 / 共31页
客运站信息标准管理系统.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、面向对象技术实训课程实训报告客运站信息管理系统姓 名:班 级:学 号:指引教师:成 绩:完毕时间:12月完毕地点:S4111设计题目(问题)描述和规定某客运站因春运即将到来,客流量急剧增长,工作人员无法准时完毕服务工作,不能满足乘客出行需求,于是想开发一套智能客运站系统,实现工作人员后台操作,乘客自主选票,订票,退票程序,以缓和出行压力。规定: (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值char * Bus:getroad() return road;获取车辆编号,即返回车辆成员变量id值 int Bus:getid()

3、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; /顾

4、客总数int id; /顾客编号char name10; /顾客姓名3.2.2函数成员及其实现思路(1)void User:adduser(int n,char * na)/顾客注册信息 添加功能设计思路是: 顾客输入其型姓名; 系统分派顾客编号;(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:show()函数,显示顾客信息;调用void Bus:del()函数,删除车辆信息;(2) void U_Data

6、: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.

7、设计时候,会浮现诸多错误,应细心检查数据成员及成员函数与否完整,定吗编辑过程中与否浮现拼写错误。 2.在简朴地基本上,逐渐进行添加数据成员,进而添加相应功能成员函数,实现设计预期成果。 3.编程就是一种不断完善过程,先搭建框架、逐渐扩充,由简到繁,最后完善。边编程,边调试,边扩充。4.1.2 测试成果:执行成果:5小结通过对车辆管理系统设计,自己学会独立运用所学知识,加强了对基本知识掌握并进一步加强对较大程序实现技能。在设计之初,一方面要构思好系统应具备功能,例如管理员添加,删除,更新车辆及顾客信息,顾客查询,订票,退票等等,依照要得到信息,设计要实现操作,即对这些信息使用(成员函数)。准备好

8、之后,依照C知识,进行数据类型选取,依照定义好类型,选取相应类型函数,进行操作。在简朴地程序之上,逐渐扩充,实现更多功能。在调试过程会遇到不少大大小小问题,书写认真很重要,细心更重要,即便是检查错误,也要细心,经常用到就是输入法导致中英字符混用。编程时一种细心过程,书写规范,使得查看更以便。附录/*/ * bus.h 类声明头文献#ifndef BUS_H_#define BUS_H_#include#include#include#include#includeconst int maxuser=100;const int maxche=100;const int maxjie=2;usin

9、g 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);void ytickets(int busid);void show();privat

10、e:int tag;int id;char name10;class U_Datapublic:U_Data();U_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();int ytickets();char * getname();void setn

11、ame(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;int maxid;Bus busmaxche;#endif /*/ * sbus.c

12、pp类声明头文献#includesbus.hUser:User() id=0; tag=0; for(int i=0;imaxjie;i+) gobusi=0;char * User:getname() return name;int User:gettag() return tag;int User:getid() return id;void User:setname(char na) strcpy(name,na);void User:delbus() for(int i=0;imaxjie;i+) if(gobusi!=0) cout顾客name取消订单失败,请检查操作与否对的!end

13、l; return; tag=1; cout顾客删除成功endl;void User:adduser(int n,char * na) tag=0; id=n; strcpy(name,na); for(int i=0;imaxjie;i+) gobusi=0; coutendl顾客添加成功,顾客编号为:idendl; cout请紧记顾客编号,这是你在系统中登陆账号!endl;void User:ytickets(int busid) for(int i=0;imaxjie;i+) if(gobusi=busid) cout订票成功!endl; return; int User:nticket

14、s(int busid) for(int i=0;imaxjie;i+) if(gobusi=busid) gobusi=0; cout订单取消成功!endl; return 1; return 0;void User:show() coutsetw(5)idsetw(10)namesetw(24)订单号为:; for(int i=0;imaxjie;i+) if(gobusi!=0)coutgobusi;coutendl;U_Data:U_Data() User s; top=0; fstream file(user.txt,ios:in); while(1) file.read(char

15、*)&s,sizeof(s); if(!file) break; top+; usetop=s; maxid=usetop.getid(); file.close();int U_Data:adduser(char * na) top+; maxid+; usetop.adduser(maxid,na); return 1;User * U_Data:search(int userid) for(int i=1;i=top;i+) if(usei.getid()=userid&usei.gettag()=0) return &(usei); return NULL;void U_Data:sh

16、ow() if(top=0) coutendl没有顾客记录endl;return; for(int i=1;i=top;i+) usei.show();void U_Data:usershow(int userid) useuserid.show();void U_Data:userdata() char choice=1; char rname20; int userid; User * r; while(choice!=0) coutendl*顾客管理*endl;cout1.增长顾客信息endl2.修改顾客信息endl3.删除顾客信息endl4.查找顾客信息endl5.显示所有顾客endl

17、0.退出顾客信息系统endlchoice;switch(choice)case 1:coutrname;adduser(rname);break; case 2:coutuserid;r=search(userid);if(r=NULL) coutendl不存在编号为:userid顾客endl; break;coutrname;r-setname(rname);break;case 3:coutuserid;r=search(userid);if(r=NULL) coutendl不存在编号为:userid顾客delbus();break;case 4:coutuserid;r=search(u

18、serid);if(r=NULL) cout该顾客不存在!show();break;case 5:show();break;case 0:break;default:cout输入有误,请重新输入!endl; U_Data:U_Data()fstream file(user.txt,ios:out); for(int i=1;i=top;i+)if(usei.gettag()=0)file.write(char *)&(usei),sizeof(usei);file.close();Bus:Bus() id=0; tag=1; onshelf=1;char * Bus:getname() ret

19、urn name;int Bus:getid() return id;int Bus:gettag() return tag;void Bus:setname(char na) strcpy(name,na);void Bus:delbus() onshelf=1; tag=1;void Bus:addbus(int n,char * na) tag=0; id=n; strcpy(name,na); onshelf=1; coutendl添加车辆成功!车辆编号为:idendl; cout请紧记车辆编号!endl;int Bus:ytickets() if(onshelf=1) onshelf

20、=0; return 1; return 0;void Bus:ntickets() onshelf=1;void Bus:show()coutsetw(10)idsetw(20)namesetw(10)(onshelf=1?可定:已发车)endl;B_Data:B_Data() Bus b; top=0; fstream file(bus.txt,ios:in); while(1) file.read(char *)&b,sizeof(b); if(!file) break; top+; bustop=b; maxid=bustop.getid(); file.close();int B_D

21、ata:addbus(char * na) top+; maxid+; bustop.addbus(maxid,na); return 1;Bus * B_Data:search(int busid)for(int i=1;i=top;i+)if(busi.getid()=busid&busi.gettag()=0)return &(busi);return NULL;void B_Data:busdata() char choice=1; char bname40; int busid; Bus *b; while(choice!=0) coutendl*车辆管理*endl;cout1.增长

22、车辆信息endl2.修改车辆信息endl3.删除车辆信息endl4.查找车辆信息endl5.显示所有车辆endl0.退出车辆信息系统endlchoice;switch(choice)case 1:coutbname;addbus(bname);break; case 2:coutbusid;b=search(busid);if(b=NULL) coutendl不存在编号为:getid()车辆endl; break;coutbname;b-setname(bname);break;case 3:coutbusid;b=search(busid);if(b=NULL) coutendl不存在编号为

23、:getid()车辆delbus();break;case 4:coutbusid;b=search(busid);if(b=NULL)coutendl不存在编号为:getid()车辆show();break;case 5:show();break;case 0:break;default:cout输入有误,请重新输入!endl; void B_Data:show() if(top=0) coutendl没有车辆记录endl; return; for(int i=0;i=top;i+) if(busi.gettag()=0) busi.show();B_Data:B_Data()fstream

24、 file(bus.txt,ios:out);for(int i=1;i=top;i+)if(busi.gettag()=0)file.write(char *)&(busi),sizeof(busi);file.close();/*/ * main.cpp主程序文献#includesbus.hvoid userlogin() U_Data UserDB; User * r; B_Data BusDB; Bus * b; char tempname20; char choice=1; int bid,rid; while(choice!=0) coutendl*顾客专区*endl; cout1

25、.顾客登录endl2.顾客注册endl0.退出endl请选取:choice; switch(choice) case 1:coutrid;r=UserDB.search(rid);if(r=NULL) cout顾客不存在endl;elsechoice=0;break; case 2:coutendl输入顾客姓名:tempname;UserDB.adduser(tempname);break;case 0:cout欢迎使用!endl;return;default:cout输入有误,请重新输入!endl; choice=1; while(choice!=0) coutendl*订票专区*endl;

26、 cout1.订票endl2.退票endl3.查看订单0.退出endl请选取:choice; switch(choice) case 1:coutbid;b=BusDB.search(bid);if(b=NULL) cout车辆不存在ytickets()=0) cout车辆getname()已发出ytickets(b-getid();coutendl订票成功endl;break; case 2:coutendl输入想要退票车辆编号:bid;b=BusDB.search(bid);if(b=NULL) cout不存在编号为getid()车辆ntickets();r-ntickets(b-geti

27、d();cout车辆已返回endl;break;case3:UserDB.usershow(rid);break;case 0:cout欢迎使用!endl;break;default:cout输入有误,请重新输入!endl; void managelogin() U_Data UDB; B_Data BDB; char choice=1; string pass; coutendlpass; if(pass!=19960727) cout密码错误,请重新输入!endl; return; while(choice!=0) cout*管理员*endl; coutendl1.车辆管理endl2.顾客

28、管理endl0.退出endl请选取:choice; switch(choice) case1: BDB.busdata(); break; case2: UDB.userdata(); break; case0: cout欢迎使用endl; break; default: cout输入错误,请重新输入!endl; void main() char choice=1; while(choice!=0) coutendl*车辆管理系统*endl; cout1.顾客专区endl2.管理员专区endl0.退出系统endl请选取:choice; switch(choice) case1: userlogin(); break; case2: managelogin(); break; case0: cout欢迎使用!endl; break; default: cout输入有误,请重新输入!endl;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服