客运站信息管理系统Word文档格式.docx
- 文档编号:18524256
- 上传时间:2022-12-19
- 格式:DOCX
- 页数:27
- 大小:183.29KB
客运站信息管理系统Word文档格式.docx
《客运站信息管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《客运站信息管理系统Word文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
{returnroad;
}
获取车辆编号,即返回车辆成员变量id的值
intBus:
getid()
{returnid;
}
获取车辆数量,即返回车辆成员变量tag的值
intBus:
gettag()
{returntag;
获取用户名,返回用户名name的值
char*User:
getname()
{returnname;
获取用户人数,返回tag的值
intUser:
{returntag;
获取用户编号,返回id的值
(2)设置车辆路线,即设置车辆成员变量road的值road=newroad。
voidUser:
setroad(charro[])
{strcpy(road,ro)};
3.2User类的设计
3.2.1数据成员
//用户总数
//用户编号
charname[10];
//用户姓名
3.2.2函数成员及其实现思路
(1)voidUser:
adduser(intn,char*na)//用户注册信息
添加功能的设计思路是:
用户输入其型姓名;
系统分配用户编号;
(2)voidUser:
ytickets(intbusid)//用户订票功能实现
订票功能的设计思路是:
用户选择要订票的汽车编号;
系统检索汽车编号,若汽车存在则分配订单号并提醒订票成功;
(3)intUser:
ntickets(intbusid)//用户取消订单退票
设计思路如下:
用户输入需要退票的汽车编号;
系统检索车辆编号,成功则完成退票,反之退票失败;
(4)voidUser:
show()//输出用户所要信息。
包括用户姓名,编号等基本信息;
系统检索用户操作信息,用户当前所有订单;
3.3主程序的设计
3.3.1全局变量、全局函数的设计
(1)voidB_Data:
busdata()//管理员向更新系统车辆信息。
设计思路如下:
调用voidBus:
addbus()函数,添加车辆信息;
setname()函数,更新车辆信息;
调用Bus*B_Data:
search()函数,查找车辆信息;
show()函数,显示用户信息;
del()函数,删除车辆信息;
(2)voidU_Data:
userdata()//管理员向更新用户信息。
调用voidUser:
addbus()函数,添加用户信息;
setname()函数,更新用户信息;
调用Bus*U_Data:
search()函数,查找用户信息;
del()函数,删除用户信息;
3.2.2主函数设计
在主函数中调用voiduserlogin()函数和voidmanagelogin()函数,实现用户使用功能和管理员管理功能,分别使用上述两函数实现。
(1)某操作算法流程
主程序调用流程图
4调试分析、测试结果
4.1.1分析
1.设计的时候,会出现很多错误,应细心检查数据成员及成员函数是否完整,定吗编辑过程中是否出现拼写错误。
2.在简单地基础上,逐步进行添加数据成员,进而添加相应功能的成员函数,实现设计预期的结果。
3.编程就是一个不断完善的过程,先搭建框架、逐步扩充,由简到繁,最后完善。
边编程,边调试,边扩充。
4.1.2测试结果:
执行结果:
5小结
通过对车辆管理系统的设计,自己学会独立运用所学知识,加强了对基础知识的掌握并进一步加强对较大程序的实现技能。
在设计之初,首先要构思好系统应具有的功能,比如管理员添加,删除,更新车辆及用户信息,用户查询,订票,退票等等,根据要得到的信息,设计要实现的操作,即对这些信息的使用(成员函数)。
准备好之后,根据C的知识,进行数据的类型选择,根据定义好的类型,选择相应的类型的函数,进行操作。
在简单地程序之上,逐渐扩充,实现更多的功能。
在调试的过程会遇到不少大大小小的问题,书写认真很重要,细心更重要,即便是检查错误,也要细心,经常见到的就是输入法导致的中英字符混用。
编程时一个细心的过程,书写的规范,使得查看更方便。
附录
//*****************************************************************
//*bus.h
类声明头文件
#ifndefBUS_H_
#defineBUS_H_
#include<
iostream>
iomanip>
string>
fstream>
stdlib.h>
constintmaxuser=100;
constintmaxche=100;
constintmaxjie=2;
usingnamespacestd;
#endif
//*sbus.h类声明头文件
#ifndefSBUS_H_
#defineSBUS_H_
#include"
bus.h"
classUser
{
public:
User();
intgettag();
intgetid();
intntickets(intbusid);
intgobus[maxjie];
char*getname();
voidsetname(charna[]);
voiddelbus();
voidadduser(intn,char*na);
voidytickets(intbusid);
voidshow();
private:
};
classU_Data
U_Data();
~U_Data();
intadduser(char*na);
voidusershow(intuserid);
voiduserdata();
User*search(intuserid);
inttop;
intmaxid;
Useruse[maxuser];
classBus
Bus();
intytickets();
voidaddbus(intn,char*na);
voidntickets();
intonshelf;
charname[20];
classB_Data
B_Data();
~B_Data();
intaddbus(char*na);
voidbusdata();
Bus*search(intbusid);
Busbus[maxche];
//*sbus.cpp类声明头文件
sbus.h"
User:
User()
id=0;
tag=0;
for(inti=0;
i<
maxjie;
i++)
gobus[i]=0;
returnname;
returntag;
returnid;
setname(charna[])
strcpy(name,na);
delbus()
{
if(gobus[i]!
=0)
cout<
<
"
用户"
name<
取消订单失败,请检查操作是否正确!
endl;
return;
}
tag=1;
用户删除成功"
adduser(intn,char*na)
id=n;
endl<
用户添加成功,用户编号为:
id<
请牢记用户编号,这是你在系统中的登陆账号!
ytickets(intbusid)
if(gobus[i]=busid)
订票成功!
ntickets(intbusid)
if(gobus[i]==busid)
订单取消成功!
return1;
return0;
show()
setw(5)<
setw(10)<
setw(24)<
订单号为:
;
cout<
["
gobus[i]<
]"
U_Data:
U_Data()
Users;
top=0;
fstreamfile("
user.txt"
ios:
in);
while
(1)
file.read((char*)&
s,sizeof(s));
if(!
file)break;
top++;
use[top]=s;
maxid=use[top].getid();
file.close();
intU_Data:
adduser(char*na)
maxid++;
use[top].adduser(maxid,na);
User*U_Data:
search(intuserid)
for(inti=1;
=top;
if(use[i].getid()==userid&
&
use[i].gettag()==0)
return&
(use[i]);
returnNULL;
voidU_Data:
if(top==0)
没有用户记录"
use[i].show();
usershow(intuserid)
use[userid].show();
userdata()
charchoice=1;
charrname[20];
intuserid;
User*r;
while(choice!
='
0'
)
cout<
********************用户管理*********************"
1.增加用户信息"
2.修改用户信息"
3.删除用户信息"
4.查找用户信息"
5.显示所有用户"
0.退出用户信息系统"
请选择您要进行的操作:
cin>
>
choice;
switch(choice)
case'
1'
输入用户姓名:
cin>
rname;
adduser(rname);
break;
2'
输入用户编号:
userid;
r=search(userid);
if(r==NULL)
{
不存在编号为:
userid<
的用户"
}
输入新的用户名:
r->
setname(rname);
3'
delbus();
4'
该用户不存在!
show();
5'
show();
default:
输入有误,请重新输入!
~U_Data()
out);
if(use[i].gettag()==0)
file.write((char*)&
(use[i]),sizeof(use[i]));
file.close();
Bus:
Bus()
onshelf=1;
voidBus:
addbus(intn,char*na)
添加车辆成功!
车辆编号为:
请牢记车辆编号!
ytickets()
if(onshelf==1)
onshelf=0;
ntickets()
setw(20)<
(onshelf==1?
可定"
已发车"
)<
B_Data:
B_Data()
Busb;
bus.txt"
b,sizeof(b));
bus[top]=b;
maxid=bus[top].getid();
intB_Data:
addbus(char*na)
bus[top].addbus(maxid,na);
Bus*B_Data:
search(intbusid)
if(bus[i].getid()==busid&
bus[i].gettag()==0)
return&
(bus[i]);
returnNULL;
voidB_Data:
busdata()
charchoice='
charbname[40];
intbusid;
Bus*b;
*********************车辆管理*********************"
1.增加车辆信息"
2.修改车辆信息"
3.删除车辆信息"
4.查找车辆信息"
5.显示所有车辆"
0.退出车辆信息系统"
输入车辆路线:
bname;
addbus(bname);
输入车辆编号:
busid;
b=search(busid);
if(b==NULL)
b->
getid()<
的车辆"
输入新的路线:
b->
setname(bname);
if(b=NULL)
没有车辆记录"
if(bus[i].gettag()==0)
bus[i].show();
~B_Data()
if(bus[i].gettag()==0)
(bus[i]),sizeof(bus[i]));
//*main.cpp主程序文件
voiduserlogin()
U_DataUserDB;
B_DataBusDB;
Bus*b;
chartempname[20];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 客运站 信息管理 系统