西南交大软件开发实习报告Word格式文档下载.docx
- 文档编号:18800428
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:93
- 大小:1.80MB
西南交大软件开发实习报告Word格式文档下载.docx
《西南交大软件开发实习报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《西南交大软件开发实习报告Word格式文档下载.docx(93页珍藏版)》请在冰豆网上搜索。
完成了Customer,CDatabase这两个类程序的编写;
完成了实习报告大部分的编写内容;
完成了30%代码编程工作(约390行代码)
完成了主函数main函数代码编写,以及欢迎界面图形的设计;
三、
系统需求分析
随着汽车工业的发展和汽车的普及,汽车租赁成为近年来兴起的一个新行业。
使用汽车租赁管理系统可以规范企业的管理和经营行为,减少企业的经营成本,提高工作效率。
针对以上的要求,汽车租赁管理系统的用户是汽车租赁企业的管理人员,其需求功能应包括汽车类型管理、客户信息管理和汽车租赁、归还管理等主要功能,从而可以形成统一有效的管理。
在该系统中,能实现对汽车类型信息,汽车租赁情况等基本信息的添加、修改、删除、和查询;
客户信息的添加、修改、删除和查询以及汽车租赁、归还等具体操作的实现。
以满足当前该行业在处理业务上的需求。
客户信息由办公室人员负责维护,包括客户信息的记录,增加和改变以及删除。
提供汽车最新库存,包括新车添加、旧车淘汰、车辆租出、车辆归还等,从而使业务员在出租业务时能根据当前库存信息满足客户的具体需求。
3、客户在还车时,业务员根据记载的原始车况信息和租车记录检查所还车辆。
4,在退出系统后可以查询电脑中已经记录的文档进行对车库中车辆租赁情况的查询。
通过对系统进行需求分析,得到系统的用例图,从而知道了系统要实现的基本功能。
客户通过管理人员对系统进行操作,通过建立用例图得知系统的体系结构。
系统中将用户、汽车管理等都封装成相应的类,同时每个类都有自己对应的操作类,从而再次提高了对数据库操作的安全性和程序的可扩展性。
在系统中,只有管理人员才有权限使用本系统,才能对数据库进行操作。
(1)管理人员对基本信息的管理,包括对汽车类型信息的增加、删除、修改和查询;
对客户类型信息的增加、删除、修改和查询;
(2)管理人员对客户会员的管理,主要是客户信息的增加、删除、修改和查询。
(3)管理人员对租赁业务的管理,包括汽车类型信息的增加、删除、修改和查询;
汽车租赁信息的增加、删除、修改和查询;
汽车归还信息的增加、删除、修改和查询;
(4)管理人员对系统用户的管理,包括系统用户的增加、删除、修改和查询和密码的修改。
本系统在界面设计上都采用了模块化和面向对象的处理思想,把很多界面共有部分集成为一个模块,充分显示了C++面向对象程序语言的强大用途。
在程序结构上,所有的模块都分得很清晰,各个模块所实现的功能都很明了,而且对数据库的操作也是通过对象来实现的。
将系统中各个模块的分工分得很明确,使得各个模块之间的功能相对比较独立,但在系统层次上则是联系很紧密的。
在类中定义了对类的基本操作,使得在以后在过程的使用中,不必重新定义对类的对象的操作,而且实现起来也是比较方便的,出错的机会也会降低。
在这点上,充分体现了面向对象的设计方法。
本系统的功能实际上是比较完善的,需求做得比较细致,而且查阅了很多资料,涉及的范围也比较广泛。
系统主要功能图如下:
汽车租赁管理系统
出租汽车归还汽车汽车管理客户管理退出并保存
增更删查查返增更删查查返
加改除找看回加改除找看回
汽汽汽汽全上客客客客全上
车车车车部一户户户户部一
层层
四、
总体设计
系统功能分析:
1.登陆方面:
系统进入的欢迎界面设计精美,独具匠心
登入密码输入有次数限制,只能输入三次,三次后还不对,退回
2.汽车管理:
在车库中增加汽车
更改汽车信息
删除汽车信息
查找车库中的汽车
查看车库中的所有汽车
全部删除车库中的汽车
3.客户管理:
增加客户信息
更改客户信息
删除客户信息
查找已经输入系统的客户
查看全部客户信息
删除全部客户信息
4.添加要租车的客户信息以及所要租的汽车的信息
5.按类型与需要对数据进行修改,删除,增加等操作
6.对数据进行存档和读取操作
类的描述:
1.Biaozhi
在类中有int型变量tag表示删除标记:
1代表已删除,0代表未删除;
Int型变量no用来编号。
2.Customer
继承了biaozhi类
Customer函数,为构造函数;
char*getname函数获取客户姓名;
intgettag函数获取删除标记;
intgetno获取客户编号;
voidsetname设置姓名;
voiddelcar设置删除标记;
voidaddcustomer增加客户;
voidborrowcar出租操作;
intretcar归还操作;
voiddisp输出客户信息;
virtualvoidprint输出原客户信息。
3.CDatabase
Voidclear删除所有客户信息;
~CDatabase,析构函数,将custom[]写入customer.txt文件中;
CDatabase:
:
CDatabase()构造函数,将customer.txt读到custom[]中;
~CDatabase:
CDatabase()析构函数,将custom[]写入customer.txt文件中。
4.Car
char*getname获取汽车姓名;
intgetno获取汽车编号;
intgettag获取删除标记;
voidsetname设置汽车名称;
voiddelcar删除汽车;
voidaddcar增加汽车;
intborrowcar出租汽车;
voidretcar归还操作;
voidprint输出汽车信息;
voiddisp显示。
5.CarDatabase
CarDatabase()构造函数,将che.txt读到che[]中;
voidclear删除全部信息;
intaddcar增加汽车;
voidcardata汽车库管理;
virtualvoidprint输出原汽车信息;
voiddisp显示;
~CarDatabase()析构函数,将che[]写到che.txt文件中;
CarDatabase:
~CarDatabase()析构函数,将che[]写到che.txt文件中。
3.各功能菜单介绍:
(1)欢迎界面:
(2)密码登陆菜单:
getch();
//为了停顿一下,按任意键才继续往下运行
system("
cls"
);
//系统清屏
chark[20];
intt=3;
p3:
cout<
<
"
欢迎使用汽车租赁管理系统,请输入登陆密码(只可输入3次):
;
endl;
cin>
>
k;
//输入密码
if(strcmp("
111"
k)==0)
cout<
密码正确"
else
{
密码错误!
剩余"
--t<
次。
if(t==0)return0;
gotop3;
}
(3)选择功能菜单:
cout<
------------------*****-------------------------------*****------------------"
1.*****出租汽车*****"
2.*****归还汽车*****"
3.*****汽车管理*****"
4.*****客户管理*****"
0.*****退出并保存*****"
(4)汽车管理菜单:
cout<
\n\n\n\t\t\t欢迎进入汽车管理界面"
endl<
\t\t----------------------------"
\t\t|1增加汽车|"
\t\t|2更改汽车|"
\t\t|3删除汽车|"
\t\t|4查找汽车|"
\t\t|5查看全部|"
\t\t|6删除全部|"
\t\t|0返回上一层|"
(5)客户管理菜单:
\t\t|1增加客户|"
\t\t|2更改客户|"
\t\t|3删除客户|"
\t\t|4查找客户|"
(6)退出界面:
4.系统功能模块的划分与设计,各功能函数的说明:
该系统主要由信息管理与信息查询两部分组成。
其中信息管理的功能有:
租车时,租车人编号输入,所租汽车编号输入;
还车时,还车人编号输入,所还汽车编号输入;
对用户的增加,更改个人信息,删除;
对汽车的增加,更改汽车信息,删除。
信息查询的功能有:
查找已经被租赁的汽车,租赁人的信息,以及查看车库中汽车的租赁情况,看汽车是否已被租出,车库中所有车的具体情况。
各功能函数的说明:
获取客户姓名函数:
char*getname()
作用就是返回一个char型指针。
获取删除标志函数:
intgettag()
作用就是返回一个判断是否删除了的整型数。
获取用户编号函数:
intgetno()
作用就返回一个客户编号。
设置客户姓名函数:
voidsetname(charna[])
作用是设置客户姓名。
设置删除标志函数:
voiddelcar()
作用是设置客户类的删除标志。
增加客户函数:
addcustomer(intn,char*na)
出租函数:
borrowcar(intcarid)
归还函数:
retcar(intcarid)
输出客户信息函数:
disp()
输出原客户信息函数:
print()
客户库类的构造函数:
CDatabase()
作用是将customer.txt读到custom[]中
编号查找函数:
Customer*query(intcustomerid)
输出客户原有信息函数:
voidprint(intcustomerid)
客户库类析构函数:
~CDatabase()
作用是将custom[]写入customer.txt文件中
增添客户信息函数:
addcustomer(intn,char*na)
输出所有客户信息函数:
disp()
客户库管理函数:
customerdata()
汽车类获取名字函数:
获取汽车编号函数:
intgetno()
获取汽车删除标志函数:
intgettag()
设置汽车名称函数:
增加汽车函数:
voidaddcar(intn,char*na)
出租操作函数:
intborrowcar()
归还操作函数:
voidretcar()
输出汽车函数:
voidprint()
显示汽车函数:
voiddisp()
汽车库类构造函数:
CarDatabase()
作用是将che.txt读到che[]中
查找汽车函数:
Car*query(intcarid)
输出源汽车函数:
virtualvoidprint(intn)
显示函数:
voiddisp()
addcar(intn,char*na)
汽车库类析构函数:
~CarDatabase()
作用是将che[]写到che.txt文件中
汽车管理函数:
汽车管理
voidCarDatabase:
:
cardata()
显示菜单函数:
voidshowmenu()
重复显示菜单函数:
voidshowtip()
Main函数:
intmain()
作用是main()函数的实现,程序的主界面的引导
五、详细设计与实现
客户类:
有4个数据,分别是inttop下标、intno客户编号、charname[20]客户姓名、intborcar[Maxcar]所租汽车;
有9个函数,分别是char*getname()、intgettag()、intgetno()、voidsetname(charna[])、voiddelcar()、voidaddcustomer(intn,char*na)、voidborrowcar(intcarid)、intretcar(intcarid)、voiddisp()、virtualvoidprint()。
客户库类:
有2个数据,分别是inttop下标、Customercustom[Maxc]客户类数组;
有10个函数,分别是CDatabase()、voidclear()、intaddcustomer(intn,char*na)、Customer*query(intcustomerid)、voiddisp()、voidprint(intcustomerid)、intcustomernum()、voidcustomerdata()、~CDatabase()、CDatabase()。
汽车类:
有4个数据,分别是inttop下标、intno汽车编号、charname[20]汽车名字、intonshelf是否在车库标志;
char*getname()、intgetno()、intgettag()、voidsetname(charna[])、voiddelcar()、
voidaddcar(intn,char*na)、intborrowcar()、voidretcar()、voidprint()、voiddisp()。
汽车库类:
有2个数据,分别是inttop下标、Carche[Maxc]汽车类数组;
有9个函数,分别是CarDatabase()、voidclear()、intaddcar(intn,char*na)、Car*query(intcarid)、voidcardata()、virtualvoidprint(intn)、voiddisp()、~CarDatabase()、cardata()。
{
returnname;
}
returntag;
}
returnno;
{
strcpy(name,na);
}
tag=1;
tag=0;
no=n;
strcpy(name,na);
for(inti=0;
i<
Maxcar;
i++)
borcar[i]=0;
{
if(borcar[i]==0)
borcar[i]=carid;
return;
}
for(inti=0;
{
if(borcar[i]==carid)
{
borcar[i]=0;
return1;
}
else
continue;
}
return0;
cout<
setw(5);
no;
setw(10);
name;
"
出租汽车编号:
["
for(inti=0;
if(borcar[i]!
=0)
borcar[i]<
|"
}
]"
原客户编号:
setw(5);
\t原客户姓名:
setw(10);
name;
\t租租汽车编号:
i++)
=0)
{
Customers;
top=-1;
fstreamfile("
customer.txt"
ios:
in);
while
(1)
file.read((char*)&
s,sizeof(s));
if(!
file)break;
top++;
custom[top]=s;
file.close();
for(inti=0;
=top;
if(custom[i].getno()==customerid&
&
custom[i].gettag()==0)
return&
custom[i];
returnNULL;
custom[i].print();
out);
if(custom[i].gettag()==0)
file.write((char*)&
custom[i],sizeof(custom[i]));
else
file.close();
ofstreamf("
c:
\\kehu.txt"
for(intj=0;
j<
j++
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西南 交大 软件 开发 实习 报告