| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

车辆管理系统实验报告课程设计

z***u

贡献于2023-06-14

字数:27524

 成绩


C++程序设计实践报告



专 业: 软件工程
班 级:
学 号:
姓 名:







日期:2016年 X月 X日






目录
设计目 1
二总体设计 2
三 详细设计(car类例) 5
carcpp 5
车辆信息理系统cpp 5
四 测试调试 6
1)调试程中遇问题: 6
2)解决办法: 6
五源程序清单执行结果 6
A车辆信息理系统cpp: 6
Bcarh: 6
Ccarcpp: 25
Dtruckh: 28
Etruckcpp: 29
Fbush: 32
Gbuscpp: 33
Hbaseh 35
Ibasecpp 36
J执行结果(轿车理例): 37
六 课程设计总结 45











设计目
(1) 求学生够熟练掌握C++语言基知识技
(2) 基掌握面象程序设计基思路方法
(3) 够利学基知识技解决简单面象程序设计问题
做题目:4题:
车辆理系统负责种车辆常规信息理工作
系统中车辆客车轿车卡车种车辆车辆编号车牌号车辆制造公司车辆购买时间车辆型号(客车轿车卡车)总公里数耗油量公里基维护费养路费累计总费等信息客车载客量信息轿车厢数信息卡车载重量信息
台车辆月总费油价*耗油量公里+基维护费
基维护费:客车:2000元月轿车:1000元月卡车:1500元月
功求:
A添加车辆
B查询车辆
C显示车辆信息库
D修改车辆
E删车辆
F统计功
G保存车辆
H读取车辆








二总体设计
(1)定义基类base设计出函数框架
(2)派生car类truck类bus类中具体实现函数功
(3)分设计轿车卡车客车理子菜单函数中设计添加总菜单解决问题


模块图1:

base

public
car
truck
bus

read()
show()
add()
modify(int)
del(int)
save()



car_manage()
truck_manage ()
bus_manage()
search()
search_number()


main













模块图2:






车辆信息理系统
轿车理
卡车理
客车理
相关信息查询
车辆信息查
数量统计
单类车辆数量统计
车辆信息删
车辆信息修改
车辆信息添加
车辆型号查询
车辆编号查询
车辆制造公司查询









类图:

base
+count_munint0
+base()void
+~base()void
+read()
+add()
+modify()int
+del()int
+save()
+show()
+js()












public
public
public



car

truck

bus
+astring

+astring

+astring
+b:string

+b:string

+b:string
+c:string

+c:string

+c:string
+d:string

+d:string

+d:string
+e:string

+e:string

+e:string
+fdouble

+fdouble

+fdouble
+gdouble

+gdouble

+gdouble
+hdouble

+hdouble

+hdouble
+idouble

+idouble

+idouble
+zfydouble

+zfydouble

+zfydouble
+lint

+lint

+jint
+count_carmunint

+count_truckmunint

+count_busmunint
+car()

+truck()

+bus()
+~car()

+~truck()

+~bus()
+car(string string stringstringstringdoubledoubledouble double int)

+truck(string string string string string double double double double int)

+bus(string string string string string double double double double int)
+read():void

+read():void

+read():void
+add():void

+add():void

+add():void
+modify()int

+modify()int

+modify()int
+del()int

+del()int

+del()int
+save():void

+save():void

+save():void
+show():void

+show():void

+show():void
+js():void

+js():void

+js():void

三 详细设计(car类例)
carcpp
1构造函数car():
功:定义空象方便操作
2 重载构造函数car(stringstringstringstringstringdoubledoubledouble double int):
参数:string编号string车牌号string制造公司string购买时间string型号double总公里数double油价double耗油量公里double养路费int厢数
功:初始化象文件中直接提取数形成象
3 析构函数~car():
功:释放象存
4 read()函数:
功:预设文文件中提取数初始化成car类象存入vector容器中
5add()函数:
功:通新建car象存入vector容器中便续操作中写入文件
6modify()函数:
参数:int index
功:通index确定操作vector数位置进行修改
7del()函数:
参数:int index
功:通index确定操作vector数位置进行删
8save()函数:
功:开文文件进行写入完成关闭文件
9show()函数:
功:输出vector容器中象
10js()函数:
功:计算车辆月总费(车辆总费油价*耗油量公里+基维护费)
车辆信息理系统cpp
1main()函数
功:输出总菜单
2car_manage()函数
功:输出轿车理子菜单
3truck_manage()函数
功:输出卡车理子菜单
4bus_manage()函数
功:输出客车理子菜单
5search()函数
功:输出车辆查询子菜单
6search_number()函数
功:输出预先统计类车辆总数

四 测试调试
调试成功功均实现
1)调试程中遇问题:
1数写入文件设计文件输入输出时遇较阻力明白输入存里数输入文件里继续
2添加修改菜单报错问题总法完美实现输入错误编号时错误提醒输出
3文件读取运行完遍程序运行报错
2)解决办法:
1查老师程序时鉴输入输出方法完美解决问题
2通bool值死循环套令函数bool真时跳出bool假时提醒者输入正确编号解决问题实现良输出
3改save()函数中分隔符 \t解决问题

五源程序清单执行结果
A车辆信息理系统cpp:
#include stdafxh
#include
#include
#include baseh
#include carh
#include truckh
#include bush
#includeiostream
using namespace std
int basecount_num 0
int carcount_carnum 0
int truckcount_trucknum 0
int buscount_busnum 0
vector vec_car
vectorvec_truck
vectorvec_bus
字符串分割函数
vector split(string str string pattern)
{
stringsize_type pos
vector result
str + pattern扩展字符串方便操作
unsigned int size strsize()
for (unsigned int i 0 i {
pos strfind(pattern i)
if (pos {
string s strsubstr(i pos i)
resultpush_back(s)
i pos + patternsize() 1
}
}
return result
}

base *p NULL
char out

轿车理子菜单
void car_manage()
{
system(title 轿车理子菜单)设置窗口标题
system(color 3F)设置子菜单背景色:湖蓝色字体颜色:亮白色
int choice i 0
bool quit false
while (1)
{
system(cls)
cout << **********轿车理子菜单********** << endl
cout << 1查车辆信息 << endl
cout << 2添加车辆信息 << endl
cout << 3修改车辆信息 << endl
cout << 4删车辆信息 << endl
cout << 5统计车辆数 << endl
cout << 0退出 << endl
cout << ********************************** << endl
cout << 请输入操作编号:
cin >> choice
switch (choice)
{
case 1
{
car c1
p &c1
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 厢数 << 总费 << endl
p>show()
system(pause)
break
}
case 2
{
string a b c d e j
double f g h iint l
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 厢数 << 总费 << endl
vector iterator it
for (it vec_carbegin()it vec_carend()++it)
cout << it>a << << it>b << << it>c << << it>d << << it>e << << it>f << << it>g << << it>h << << it>i << << it>l << << it>zfy << endl
while (1)
{
cout << \n请次输入添加信息:\n
cin >> a >> b >> c >> d >> e >> f >> g >> h >> i >> l
car c2(a b c d e f g h i l)
p &c2
bool flag true
for (it vec_carbegin()it vec_carend()++it)
{
if (it>acompare(a))
{
cout << \n车辆编号已存需重新输入 << endl
flag false
break
}
}
if (flag)
{
cout << \n否保存次修改?(yn)\n
cin >> j
if (j y)
{
p>add()
p>save()
}
}
if (j y)
break
}
system(pause)
break
}
case 3
{
car c3
p &c3
int index 0 l
double f g h k
string b c d e j
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 厢数 << 总费 << endl
vector iterator it
for (it vec_carbegin()it vec_carend()++it)
cout << it>a << << it>b << << it>c << << it>d << << it>e << << it>f << << it>g << << it>h << << it>i << << it>l << << it>zfy << endl
cout << \n请填写修改车辆编号:\n
cin >> c3a
unsigned int iq 0
for (bool flag falseflag)
{
for (it vec_carbegin()it vec_carend()++it)
{
iq++
if (it>acompare(c3a))
{
index iq
flag true
break
}
if (it>acompare(c3a)&&iq vec_carsize())
{
cout << 您输入编号存请重新操作\niq 0
system(pause)break
}
}
if (flag)
{
cout << 请次输入修改信息:\n
cin >> b >> c >> d >> e >> f >> g >> h >> k >> l
car c(c3a b c d e f g h k l)
p &c
cout << 否保存次修改?(yn)\n
cin >> j
if (j y)
{
p>modify(index)
p>save()
system(pause)
}
else
{
system(pause)break
}
}break
}break
}
case 4
{
car c4
p &c4
int index 0
string id
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 厢数 << 总费 << endl
vector iterator it
for (it vec_carbegin()it vec_carend()++it)
cout << it>a << << it>b << << it>c << << it>d << << it>e << << it>f << << it>g << << it>h << << it>i << << it>l << << it>zfy << endl
cout << \n请选择删车辆编号:\n
cin >> id
unsigned int i 0
for (bool flag falseflag)
{
for (it vec_carbegin()it vec_carend()++it)
{
i++
if (it>acompare(id))
{
flag true
index i
}
if (it>acompare(id) && i vec_carsize())
{
cout << 您输入编号存请重新操作\n
system(pause)i 0break
}
}
if (flag)
{
cout << \n否保存次修改?(yn)\n
cin >> out
if (out 'y')
{
p>del(index)
p>save()
system(pause)
}
else
{
system(pause)break
}
}break
}break
}
case 5
{
cout << \n车辆总数: << basecount_num << 中: << endl
cout << 轿车总数: << carcount_carnum << \n << endl
system(pause)
break
}
case 0quit truesystem(color 8F)break
defaultcout << \n请输入0~5间数字\n << endlsystem(pause)break
}
if (quit true)
break
}
system(cls)
return
}

卡车理子菜单
void truck_manage()
{
system(title 卡车理子菜单)设置窗口标题
system(color 3F)设置子菜单背景色:湖蓝色字体颜色:亮白色
int choice i 0
bool quit false
while (1)
{
system(cls)
cout << **********卡车理子菜单********** << endl
cout << 1查车辆信息 << endl
cout << 2添加车辆信息 << endl
cout << 3修改车辆信息 << endl
cout << 4删车辆信息 << endl
cout << 5统计车辆数 << endl
cout << 0退出 << endl
cout << ********************************** << endl
cout << 请输入操作编号:
cin >> choice
switch (choice)
{
case 1
{
truck c1
p &c1
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 载重量 << 总费 << endl
p>show()
system(pause)
break
}
case 2
{
string a b c d e j
double f g h iint l
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 载重量 << 总费 << endl
vector iterator it
for (it vec_truckbegin()it vec_truckend()++it)
cout << it>a << << it>b << << it>c << << it>d << << it>e << << it>f << << it>g << << it>h << << it>i << << it>l << << it>zfy << endl
while (1)
{
cout << \n请次输入添加信息:\n
cin >> a >> b >> c >> d >> e >> f >> g >> h >> i >> l
truck c2(a b c d e f g h i l)
p &c2
bool flag true
for (it vec_truckbegin()it vec_truckend()++it)
{
if (it>acompare(a))
{
cout << \n车辆编号已存需重新输入 << endl
flag false
break
}
}
if (flag)
{
cout << \n否保存次修改?(yn)\n
cin >> j
if (j y)
{
p>add()
p>save()
}
}
if (j y)
break
}
system(pause)
break
}
case 3
{
truck c3
p &c3
int index 0 l
double f g h k
string b c d e j
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 载重量 << 总费 << endl
vector iterator it
for (it vec_truckbegin()it vec_truckend()++it)
cout << it>a << << it>b << << it>c << << it>d << << it>e << << it>f << << it>g << << it>h << << it>i << << it>l << << it>zfy << endl
cout << \n请填写修改车辆编号:\n
cin >> c3a
unsigned int iq 0
for (bool flag falseflag)
{
for (it vec_truckbegin()it vec_truckend()++it)
{
iq++
if (it>acompare(c3a))
{
index iq
flag true
break
}
if (it>acompare(c3a) && iq vec_trucksize())
{
cout << 您输入编号存请重新操作\n
system(pause)iq 0break
}
}
if (flag)
{
cout << 请次输入修改信息:\n
cin >> b >> c >> d >> e >> f >> g >> h >> k >> l
truck c(c3a b c d e f g h k l)
p &c
cout << 否保存次修改?(yn)\n
cin >> j
if (j y)
{
p>modify(index)
p>save()
system(pause)
}
else
{
system(pause)break
}
}break
}break
}
case 4
{
truck c4
p &c4
int index 0
string id
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 载重量 << 总费 << endl
vector iterator it
for (it vec_truckbegin()it vec_truckend()++it)
cout << it>a << << it>b << << it>c << << it>d << << it>e << << it>f << << it>g << << it>h << << it>i << << it>l << << it>zfy << endl
cout << \n请选择删车辆编号:\n
cin >> id
unsigned int i 0
for (bool flag falseflag)
{
for (it vec_truckbegin()it vec_truckend()++it)
{
i++
if (it>acompare(id))
{
flag true
index i
}
if (it>acompare(id) && i vec_trucksize())
{
cout << 您输入编号存请重新操作\n
system(pause)i 0break
}
}
if (flag)
{
cout << \n否保存次修改?(yn)\n
cin >> out
if (out 'y')
{
p>del(index)
p>save()
system(pause)
}
else
{
system(pause)break
}
}break
}break
}
case 5
{
cout << \n车辆总数: << basecount_num << 中: << endl
cout << 卡车总数: << truckcount_trucknum << \n << endl
system(pause)
break
}
case 0quit truesystem(color 8F)break
defaultcout << \n请输入0~5间数字\n << endlsystem(pause)break
}
if (quit true)
break
}
system(cls)
return
}

客车理子菜单
void bus_manage()
{
system(title 客车理子菜单)设置窗口标题
system(color 3F)设置子菜单背景色:湖蓝色字体颜色:亮白色
int choice i 0
bool quit false
while (1)
{
system(cls)
cout << **********客车理子菜单********** << endl
cout << 1查车辆信息 << endl
cout << 2添加车辆信息 << endl
cout << 3修改车辆信息 << endl
cout << 4删车辆信息 << endl
cout << 5统计车辆数 << endl
cout << 0退出 << endl
cout << ********************************** << endl
cout << 请输入操作编号:
cin >> choice
switch (choice)
{
case 1
{
bus c1
p &c1
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 载客量 << 总费 << endl
p>show()
system(pause)
break
}
case 2
{
string a b c d e j
double f g h iint k
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 载客量 << 总费 << endl
vector iterator it
for (it vec_busbegin()it vec_busend()++it)
cout << it>a << << it>b << << it>c << << it>d << << it>e << << it>f << << it>g << << it>h << << it>i << << it>j << << it>zfy << endl
while (1)
{
cout << \n请次输入添加信息:\n
cin >> a >> b >> c >> d >> e >> f >> g >> h >> i >> k
bus c2(a b c d e f g h i k)
p &c2
bool flag true
for (it vec_busbegin()it vec_busend()++it)
{
if (it>acompare(a))
{
cout << \n车辆编号已存需重新输入 << endl
flag false
break
}
}
if (flag)
{
cout << \n否保存次修改?(yn)\n
cin >> j
if (j y)
{
p>add()
p>save()
}
}
if (j y)
break
}
system(pause)
break
}
case 3
{
bus c3
p &c3
int index 0 l
double f g h k
string b c d e j
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 载客量 << 总费 << endl
vector iterator it
for (it vec_busbegin()it vec_busend()++it)
cout << it>a << << it>b << << it>c << << it>d << << it>e << << it>f << << it>g << << it>h << << it>i << << it>j << << it>zfy << endl
cout << \n请填写修改车辆编号:\n
cin >> c3a
unsigned int iq 0
for (bool flag falseflag)
{
for (it vec_busbegin()it vec_busend()++it)
{
iq++
if (it>acompare(c3a))
{
index iq
flag true
break
}
if (it>acompare(c3a) && iq vec_bussize())
{
cout << 您输入编号存请重新操作\n
system(pause)iq 0break
}
}
if (flag)
{
cout << 请次输入修改信息:\n
cin >> b >> c >> d >> e >> f >> g >> h >> k >> l
bus c(c3a b c d e f g h k l)
p &c
cout << 否保存次修改?(yn)\n
cin >> j
if (j y)
{
p>modify(index)
p>save()
system(pause)
}
else
{
system(pause)break
}
}break
}break
}
case 4
{
bus c4
p &c4
int index 0
string id
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 载客量 << 总费 << endl
vector iterator it
for (it vec_busbegin()it vec_busend()++it)
cout << it>a << << it>b << << it>c << << it>d << << it>e << << it>f << << it>g << << it>h << << it>i << << it>j << << it>zfy << endl
cout << \n请选择删车辆编号:\n
cin >> id
unsigned int i 0
for (bool flag falseflag)
{
for (it vec_busbegin()it vec_busend()++it)
{
i++
if (it>acompare(id))
{
flag true
index i
}
if (it>acompare(id) && i vec_bussize())
{
cout << 您输入编号存请重新操作\n
system(pause)i 0break
}
}
if (flag)
{
cout << \n否保存次修改?(yn)\n
cin >> out
if (out 'y')
{
p>del(index)
p>save()
system(pause)
}
else
{
system(pause)break
}
}break
}break
}
case 5
{
cout << \n车辆总数: << basecount_num << 中: << endl
cout << 客车总数: << buscount_busnum << \n << endl
system(pause)
break
}
case 0quit truesystem(color 8F)break
defaultcout << \n请输入0~5间数字\n << endlsystem(pause)break
}
if (quit true)
break
}
system(cls)
return
}

相关汽车查询子菜单
void search()
{
system(title 相关汽车查询子菜单)设置窗口标题
system(color 3F)设置子菜单背景色:湖蓝色字体颜色:亮白色
int choice i 0
bool quit false
while (1)
{
system(cls)
cout << **********相关汽车查询子菜单********** << endl
cout << 1车辆制造公司查询 << endl
cout << 2车辆编号查询 << endl
cout << 3车辆类查询 << endl
cout << 0退出 << endl
cout << ************************************** << endl
cout << 请输入操作编号:
cin >> choice
switch (choice)
{
case 1
{
string a
cout << \n请输入查询制造公司: << endl
cin >> a
cout << \n查询结果: << endl
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 厢数载客量载重量 << 总费 << endl
vector iterator it1
for (it1 vec_carbegin()it1 vec_carend()++it1)
{
if(it1>ccompare(a))
cout << it1>a << << it1>b << << it1>c << << it1>d << << it1>e << << it1>f << << it1>g << << it1>h << << it1>i << << it1>l << \t\t\t << it1>zfy << endl
}
vector iterator it2
for (it2 vec_truckbegin()it2 vec_truckend()++it2)
{
if (it2>ccompare(a))
cout << it2>a << << it2>b << << it2>c << << it2>d << << it2>e << << it2>f << << it2>g << << it2>h << << it2>i << << it2>l << \t\t\t << it2>zfy << endl
}
vector iterator it3
for (it3 vec_busbegin()it3 vec_busend()++it3)
{
if (it3>ccompare(a))
cout << it3>a << << it3>b << << it3>c << << it3>d << << it3>e << << it3>f << << it3>g << << it3>h << << it3>i << << it3>j << \t\t\t << it3>zfy << endl
}cout << endlsystem(pause)
break
}
case 2
{
string a
cout << \n请输入查询编号: << endl
cin >> a
cout << \n查询结果: << endl
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 厢数载客量载重量 << 总费 << endl
vector iterator it1
for (it1 vec_carbegin()it1 vec_carend()++it1)
{
if (it1>acompare(a))
cout << it1>a << << it1>b << << it1>c << << it1>d << << it1>e << << it1>f << << it1>g << << it1>h << << it1>i << << it1>l << \t\t\t << it1>zfy << endl
}
vector iterator it2
for (it2 vec_truckbegin()it2 vec_truckend()++it2)
{
if (it2>acompare(a))
cout << it2>a << << it2>b << << it2>c << << it2>d << << it2>e << << it2>f << << it2>g << << it2>h << << it2>i << << it2>l << \t\t\t << it2>zfy << endl
}
vector iterator it3
for (it3 vec_busbegin()it3 vec_busend()++it3)
{
if (it3>acompare(a))
cout << it3>a << << it3>b << << it3>c << << it3>d << << it3>e << << it3>f << << it3>g << << it3>h << << it3>i << << it3>j << \t\t\t << it3>zfy << endl
}cout << endlsystem(pause)
break
}
case 3
{
string a
cout << \n请输入查询类: << endl
cin >> a
cout << \n查询结果: << endl
cout << \n编号 << 车牌号 << 制造商 << 购买时间 << 型号 << 公里数 << 油价 << 耗油量 << 养路费 << 厢数载客量载重量 << 总费 << endl
vector iterator it1
for (it1 vec_carbegin()it1 vec_carend()++it1)
{
if (it1>ecompare(a))
cout << it1>a << << it1>b << << it1>c << << it1>d << << it1>e << << it1>f << << it1>g << << it1>h << << it1>i << << it1>l << \t\t\t << it1>zfy << endl
}
vector iterator it2
for (it2 vec_truckbegin()it2 vec_truckend()++it2)
{
if (it2>ecompare(a))
cout << it2>a << << it2>b << << it2>c << << it2>d << << it2>e << << it2>f << << it2>g << << it2>h << << it2>i << << it2>l << \t\t\t << it2>zfy << endl
}
vector iterator it3
for (it3 vec_busbegin()it3 vec_busend()++it3)
{
if (it3>ecompare(a))
cout << it3>a << << it3>b << << it3>c << << it3>d << << it3>e << << it3>f << << it3>g << << it3>h << << it3>i << << it3>j << \t\t\t << it3>zfy << endl
}cout << endlsystem(pause)
break
}
case 0quit truesystem(color 8F)break
defaultcout << \n请输入0~5间数字\n << endlsystem(pause)break
}
if (quit true)
break
}
system(cls)
}

车辆数量子菜单
void search_number()
{
system(title 车辆数量统计情况)设置窗口标题
cout << \n车辆总数: << basecount_num << 中: << endl
cout << 轿车数量: << carcount_carnum << endl
cout << 卡车数量: << truckcount_trucknum << endl
cout << 客车数量: << buscount_busnum << \n << endl
system(pause)
}

int main()
{
system(title 文件提取情况)设置窗口标题
system(color 8F)设置窗口背景色灰色字体亮白色
system(mode con cols102 lines30 )设置窗口确保组数显示行
truck a
aread()
bus b
bread()
car c
cread()
int choice文件中数次读入存
显示菜单
while (1)
{
system(title 菜单)设置窗口标题
system(cls)
cout << **************菜单************** << endl
cout << 1轿车信息理 << endl
cout << 2卡车信息理 << endl
cout << 3客车信息理 << endl
cout << 4查询相关汽车 << endl
cout << 5查询汽车数量 << endl
cout << 0退出 << endl
cout << ********************************** << endl
cout << 请输入操作编号
cin >> choice
switch (choice)
{
case 1 car_manage()break
case 2 truck_manage()break
case 3 bus_manage()break
case 4 search()break
case 5 search_number()break
case 0
{
system(cls)
cout << \n\n\n\n\n******************************************** << endl
cout << \n************** 感谢您***************\n << endl
cout << ********************************************\n\n\n\n\n << endl
}break
defaultcout << \n请输入0~5间数字\n << endlsystem(pause)break
}
if (choice 0)
break
system(cls)
}
return 0
}

Bcarh:
#pragma once
#include baseh
#include
using namespace std
class car
public base
{
public
car()
car(string string string string string double double double double int)编号车牌号制造公司购买时间型号总公里数油价耗油量公里养路费厢数
~car()
void read()读取
void add()添加
void modify(int)修改
void del(int)删
void save()写入文件保存
void show() const输出
void js()计算总费
string a编号
string b车牌号
string c制造公司
string d购买时间
string e型号
double f总公里数
double g油价
double h耗油量公里
double i养路费
int l厢数
double zfy总费 g*h + i + 1000
static int count_carnum统计轿车总数
}

Ccarcpp:
#include stdafxh
#include carh
#include
#include
#include
#include
using namespace std
extern vector vec_car
extern vector split(string str string pattern)
carcar()
{
}
carcar(string a string b string c string d string e double f double g double h double i int l)
{
this>a athis>b bthis>c cthis>d dthis>e ethis>f fthis>g gthis>h hthis>i ithis>l l
}
car~car()
{
}

void carread()
{
fstream carfile(轿车车辆信息txt iosin | iosout)
string str获取文件中行字符
string pattern \t字符分隔符
string id
string cp
string gs
string sj
string xh
string gl
string yj
string yl
string ylf
string xs
if (carfile)
{
cout << \n\n*************** 轿车相关文件开失败***************\n\n\n\n << endl
}
{
cout << \n\n*************** 轿车相关文件开成功***************\n\n\n\n << endlsystem(pause)
while (getline(carfile str))
{
if (strcompare()) {
id split(str pattern)[0]
cp (split(str pattern)[1])
gs (split(str pattern)[2])
sj (split(str pattern)[3])
xh (split(str pattern)[4])
gl (split(str pattern)[5])
yj (split(str pattern)[6])
yl (split(str pattern)[7])
ylf (split(str pattern)[8])
xs (split(str pattern)[9])
vec_carpush_back(car(idcpgssjxh atof(glc_str()) atof(yjc_str()) atof(ylc_str()) atof(ylfc_str()) atoi(xsc_str())))
count_num++
count_carnum++
}
else
{
cout << 文件容空请添加数 << endl
}
}
}
vector iterator it
for (it vec_carbegin()it vec_carend()++it)
it>js()
carfileclose()
}
void caradd()
{
vec_carpush_back(car(a b c d e f g h i l))存入象量中
count_num++
count_carnum++
}
void carmodify(int index)
{
vec_car[index 1]b b
vec_car[index 1]c c
vec_car[index 1]d d
vec_car[index 1]e e
vec_car[index 1]f f
vec_car[index 1]g g
vec_car[index 1]h h
vec_car[index 1]i i
vec_car[index 1]l l
}
void cardel(int index)
{
vec_carerase(vec_carbegin() + index 1)
count_num
count_carnum
}
void carsave()
{
ofstream carfile
carfileopen(轿车车辆信息txt)
vector iterator it
for (it vec_carbegin()it vec_carend()++it)
carfile << it>a << \t << it>b << \t << it>c << \t << it>d << \t << it>e << \t << it>f << \t << it>g << \t << it>h << \t << it>i << \t << it>l << endl制表符分隔数
carfileclose()
}
void carshow() const
{
vector iterator it
for (it vec_carbegin()it vec_carend()++it)
{
it>js()
cout << it>a << << it>b << << it>c << << it>d << << it>e << << it>f << << it>g << << it>h << << it>i << << it>l << << it>zfy << endl制表符分隔数
}cout << endl
}
void carjs()
{
zfy g*h + i + 1000
}

Dtruckh:
#pragma once
#include baseh
class truck
public base
{
public
truck()
truck(string string string string string double double double double int)编号车牌号制造公司购买时间型号总公里数油价耗油量公里养路费载重量
~truck()
void read()读取
void add()添加
void modify(int)修改
void del(int)删
void save()写入文件保存
void show() const输出
void js()计算总费
string a编号
string b车牌号
string c制造公司
string d购买时间
string e型号
double f总公里数
double g油价
double h耗油量公里
double i养路费
int l载重量
double zfy总费 g*h + i + 1500
static int count_trucknum统计卡车总数
}

Etruckcpp:
#include stdafxh
#include truckh
#include
#include
#include
#include
using namespace std
extern vector vec_truck
extern vector split(string str string pattern)
trucktruck()
{
}
trucktruck(string a string b string c string d string e double f double g double h double iint l)
{
this>a athis>b bthis>c cthis>d dthis>e ethis>f fthis>g gthis>h hthis>i ithis>l l
}
truck~truck()
{
}

void truckread()
{
fstream truckfile(卡车车辆信息txt iosin | iosout)
string str获取文件中行字符
string pattern \t字符分隔符
string id
string cp
string gs
string sj
string xh
string gl
string yj
string yl
string ylf
string zz
if (truckfile)
{
cout << \n\n\n\n*************** 卡车相关文件开失败***************\n\n << endl
}
{
cout << \n\n\n\n*************** 卡车相关文件开成功***************\n\n << endl
while (getline(truckfile str))
{
if (strcompare()) {
id split(str pattern)[0]
cp (split(str pattern)[1])
gs (split(str pattern)[2])
sj (split(str pattern)[3])
xh (split(str pattern)[4])
gl (split(str pattern)[5])
yj (split(str pattern)[6])
yl (split(str pattern)[7])
ylf (split(str pattern)[8])
zz (split(str pattern)[9])
vec_truckpush_back(truck(id cp gs sj xh atof(glc_str()) atof(yjc_str()) atof(ylc_str()) atof(ylfc_str()) atoi(ylfc_str())))
count_num++
count_trucknum++
}
else
{
cout << 文件容空请添加数 << endl
}
}
}
vector iterator it
for (it vec_truckbegin()it vec_truckend()++it)
it>js()
truckfileclose()
}
void truckadd()
{
vec_truckpush_back(truck(a b c d e f g h i l))存入象量中
count_num++
count_trucknum++
}
void truckmodify(int index)
{
vec_truck[index 1]b b
vec_truck[index 1]c c
vec_truck[index 1]d d
vec_truck[index 1]e e
vec_truck[index 1]f f
vec_truck[index 1]g g
vec_truck[index 1]h h
vec_truck[index 1]i i
vec_truck[index 1]l l
}
void truckdel(int index)
{
vec_truckerase(vec_truckbegin() + index 1)
count_num
count_trucknum
}
void trucksave()
{
ofstream truckfile
truckfileopen(卡车车辆信息txt)
vector iterator it
for (it vec_truckbegin()it vec_truckend()++it)
truckfile << it>a << \t << it>b << \t << it>c << \t << it>d << \t << it>e << \t << it>f << \t << it>g << \t << it>h << \t << it>i << \t << it>l << endl制表符分隔数
truckfileclose()
}
void truckshow() const
{
vector iterator it
for (it vec_truckbegin()it vec_truckend()++it)
{
it>js()
cout << it>a << << it>b << << it>c << << it>d << << it>e << << it>f << << it>g << << it>h << << it>i << << it>l << << it>zfy << endl制表符分隔数
}cout << endl
}
void truckjs()
{
zfy g*h + i + 1500
}

Fbush:
#pragma once
#include baseh
class bus
public base
{
public
bus()
bus(string string string string string double double double doubleint)编号车牌号制造公司购买时间型号总公里数油价耗油量公里养路费载客量
~bus()
void read()读取
void add()添加
void modify(int)修改
void del(int)删
void save()写入文件保存
void show() const输出
void js()计算总费
string a编号
string b车牌号
string c制造公司
string d购买时间
string e型号
double f总公里数
double g油价
double h耗油量公里
double i养路费
int j载客量
double zfy g*h + i + 2000总费 g*h + i + 2000
static int count_busnum统计客车总数
}

Gbuscpp:
#include stdafxh
#include bush
#include
#include
#include
#include
using namespace std
extern vector vec_bus
extern vector split(string str string pattern)
busbus()
{
}
busbus(string a string b string c string d string e double f double g double h double iint j)
{
this>a athis>b bthis>c cthis>d dthis>e ethis>f fthis>g gthis>h hthis>i ithis>j j
}
bus~bus()
{
}

void busread()
{
fstream busfile(客车车辆信息txt iosin | iosout)
string str获取文件中行字符
string pattern \t字符分隔符
string id
string cp
string gs
string sj
string xh
string gl
string yj
string yl
string ylf
string zk
if (busfile)
{
cout << \n\n*************** 客车相关文件开失败***************\n\n << endl
}
{
cout << \n\n*************** 客车相关文件开成功***************\n\n << endl
while (getline(busfile str))
{
if (strcompare()) {
id split(str pattern)[0]
cp (split(str pattern)[1])
gs (split(str pattern)[2])
sj (split(str pattern)[3])
xh (split(str pattern)[4])
gl (split(str pattern)[5])
yj (split(str pattern)[6])
yl (split(str pattern)[7])
ylf (split(str pattern)[8])
zk (split(str pattern)[9])
vec_buspush_back(bus(id cp gs sj xh atof(glc_str()) atof(yjc_str()) atof(ylc_str()) atof(ylfc_str()) atoi(zkc_str())))
count_num++
count_busnum++
}
else
{
cout << 文件容空请添加数 << endl
}
}
}
vector iterator it
for (it vec_busbegin()it vec_busend()++it)
it>js()
busfileclose()
}
void busadd()
{
vec_buspush_back(bus(a b c d e f g h i j))存入象量中
count_num++
count_busnum++
}
void busmodify(int index)
{
vec_bus[index 1]b b
vec_bus[index 1]c c
vec_bus[index 1]d d
vec_bus[index 1]e e
vec_bus[index 1]f f
vec_bus[index 1]g g
vec_bus[index 1]h h
vec_bus[index 1]i i
vec_bus[index 1]j j
}
void busdel(int index)
{
vec_buserase(vec_busbegin() + index 1)
count_num
count_busnum
}
void bussave()
{
ofstream busfile
busfileopen(客车车辆信息txt)
vector iterator it
for (it vec_busbegin()it vec_busend()++it)
busfile << it>a << \t << it>b << \t << it>c << \t << it>d << \t << it>e << \t << it>f << \t << it>g << \t << it>h << \t << it>i << \t << it>l << endl制表符分隔数
busfileclose()
}
void busshow() const
{
vector iterator it
for (it vec_busbegin()it vec_busend()++it)
{
it>js()
cout << it>a << << it>b << << it>c << << it>d << << it>e << << it>f << << it>g << << it>h << << it>i << << it>j << << it>zfy << endl制表符分隔数
}cout<}
void busjs()
{
zfy g*h + i + 2000
}

Hbaseh
#pragma once
#include
using namespace std
class base
{
public
base(void)
virtual ~base(void)
virtual void read() 0
virtual void add() 0
virtual void modify(int) 0
virtual void del(int) 0
virtual void save() 0
virtual void show() const 0
virtual void js() 0
static int count_num统计车辆总数
}

Ibasecpp
#include stdafxh
#include baseh


basebase()
{
}


base~base()
{
}









J执行结果(轿车理例):

开始运行开文件:
图(1)
显示菜单:
图(2)



查车辆信息:
图(3)

添加信息(输错遍正确输入):
图(4)



修改信息(输入错误时):
图(5)

修改信息(正确输入):
图(6)


删信息(输入错误时):
图(7)

删信息(正确输入):
图(8)


查系列操作车辆信息:
图(9)

查轿车车辆数:
图(10)


查询相关汽车:
图(11)

产商查:
图(11)


编号查:
图(12)

类查:
图(13)


查询车辆总数:
图(14)

















六 课程设计总结
课程设计培养学生综合运学知识发现提出分析解决实际问题锻炼实际力重环节学生实际工作力具体训练考察程着科学技术发展日新月异计算机应生活中说处二十世纪学生说掌握计算机开发技术十分重
题目车辆信息理系统设计说考验样找课堂学实际应佳结合点样程序更加直观简练样程序运行更加性化课程设计中必须考虑问题
感谢学校老师够实践锻炼机会够培养学力实际操作力通次课程设计获益良题目直完成整课设容实现理实际转变设计程序程中说问题重重种错误误区检验出次课程设计时纠正前错误养成学参考书籍鉴前辈验惯
文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

信息管理系统实验报告

信息管理系统实验报告班级: 财务管理班 成员: 指导老师: 2012食堂信息系统调查大纲• 一、引言• 二、系统需求分析• 三、可行性分析• 四、概念结构设计• 五、逻辑结构设计• 六、物理结构设计• 七、数据库结构的实现• 注:本设计暂只完成到第三步一、引言1.1 背景随着高校办学规模不断扩大,高校的后勤管理工作

文***品 2年前 上传539   0

实验报告管理系统报告

软件项目设计报告实验报告管理系统所在班级小组成员学院名称信电工程学院专业名称计算机科学与技术指导教师起止日期2014.12.16-2015.1.152015年1月15日目 录1 绪论 11.1开发背景 11.2 本次设计完成的工作 11.3 任务分工 11.4 任务 12 系统分析 22.1需求分析 2

文***品 2年前 上传318   0

驱动程序实验报告操作系统课程设计报告

操作系统课程设计报告班级: 计科 姓名: 学号: 老师: 时间:2012年X月X日一、设计目的操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。本课程设计的目的综合应用学生所学

文***享 1年前 上传299   0

车辆管理系统毕业论文

 毕业论文(设计) 论文题目: 车辆管理系统 学生姓名: 指导教师: 所在学院: 专业名称: 软件技术 完成时间: 目 录 摘 要 IV 第1章 引 言 1 1.1 课题背景 1

文***品 5年前 上传1310   0

软件项目管理之学生管理系统课程设计

 课程设计课程名称:软件项目管理 设计题目:学生管理系统项目工作计划 学 院:信息工程与自动化学院 专 业:计算机科学与技术 年 级:2008级 学生姓名:

文***享 1年前 上传401   0

信商车辆管理系统的设计与实现—车辆调度管理模块

 本科毕业论文(设计)信商车辆管理系统的设计与实现—车辆调度管理模块 系 (部)信息技术系专 业计算机科学与技术学 号学生姓名指导教师提交日期 摘要当今社会的车辆数量正在以指数的形式增长,车辆为我们的生活和工作带来

文***品 3年前 上传535   0

操作系统进程管理实验报告

操作系统进程管理实验报告实验一 进程管理1.实验目的:(1)加深对进程概念的理解,明确进程和程序的区别;(2)进一步认识并发执行的实质;(3)分析进程争用资源的现象,学习解决进程互斥的方法;(4)了解Linux系统中进程通信的基本原理。2.实验预备内容(1)阅读Linux的sched.h源码文件,加深对进程管理概念的理解;(2)阅读Linux的fork()源码文件,分析进程的

文***享 1年前 上传360   0

信号与系统实验报告

实验一 信号的时域描述与运算 一、实验目的 1、掌握信号的MATLAB表示及其可视化方法。 2、掌握信号基本时域运算的MATLAB实现方法。 3、利用MATLAB分析常用信号,加深对信号时域特性的理解。 二、实验原理与方法 1. 连续时间信号的MATLAB表示 连续时间信号指的是在连续时间范围内有定义的信号,即除了若干个不连续点外,在任何时刻信号都有定义。在MATLAB中连续时间信号可

文***品 5年前 上传3218   0

大学物理实验课程设计实验报告

大学物理实验课程设计实验报告  北方民族大学    大学物理实验(设计性实验)    实验报告   指导老师:王建明    姓    名:张国生    学    号:XX0233    学    院:信息与计算科学学院    班    级:05信计2班    重力加速度的测定    一、实验任务    精确测定银川地区的重力加速度    二、实验要

h***0 9年前 上传726   0

ping程序课程设计实验报告

Windows网络程序设计课程设计 课 程 名 称 ping程序设计 姓   名 系 别 、专 业 计算机科学系网络工程班 导师姓名、职 称

文***品 2年前 上传478   0

Visual FoxPro 课程设计实验报告

 中国最大的商务办公文档下载基地: http://www.word98.com/ ╔------------------------------------------------------------------------╗ ┆项目方案 调查报告 可研分析 广告策划 案例分析┆ ┆商业计划 项目管理 电子商务 财税管理 法律文书┆ ┆战略管理 企业

m***e 10年前 上传11776   0

java课程设计实验报告样例

分数_______嘉应学院计算机学院实验报告课程名称:面向对象程序设计课程设计(Java) 实验名称:”动物换位”程序设计 指导教师:肖振球 实验地点:_居家学习_实验时间:2020.03.17 提交时间:2020.03.17班 级:_计算机1807_姓 名:_方强_学 号:181110325_一、 实验目的和要求 掌握动物换位游戏的基本操作。

影***6 4年前 上传869   0

实验报告-电力电子课程设计

掌握晶闸管仿真模型模块各参数的含义。理解晶闸管的特性。

山***8 4年前 上传1343   0

基于UML的图书管理系统设计课程设计

滨江学院 统一建模语言课程设计报告( 2013 -- 2014 年度第 二 学期)课程名称: 统一建模语言课程设计 题 目: 图书馆管理系统 院 系: 计算机系 班 级: 学 号: 姓 名:

文***品 1年前 上传398   0

物业管理系统课程设计报告

物业管理系统课程设计报告目 录第一章 前 言 11. 物业管理系统研究的意义 12. 数据库开发简介 13. asp.net简介 2第二章 数据库设计 31.选择数据库管理系统 32.数据流图 32.1 住户管理 32.2 财政管理 32.3 设备管理 42.4 投诉信息管理 42.5 物业管理 52.6系统功能结构图 53.数据字典 63.1数据项

文***享 3年前 上传867   0

c++超市管理系统课程设计报告

c++超市管理系统课程设计报告第1章 任务描述本次C++实践课题为“超市管理系统”。要求功能有A、添加商品信息,有商品编号、商品名、供应商代号、进货价、售出价、存货数等。进货:若商品已存在,只需修改存货数;若不存在,需增加新纪录。B、售出:输入商品编号,修改相应的存货数与销售额。C、查询:查询商品,销售额。

文***品 2年前 上传550   0

某中学的排课管理系统课程设计报告

学号《某中学的排课管理系统》课程设计报告题目:某中学的排课管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年X月X日目录一、 设计内容及要求 21.1研究的目的和意义 21.2数据字典 21.3全系统的数据项 31.4数据流图 4二、 概要设计 42.1E-R图 4学生实体E-R图 42.

文***享 1年前 上传288   0

教师管理系统(数据库)课程设计

数据库技术与应用(SQLServer2005)课 程 设 计题 目教师管理系统 组 员 班 级计科班学 院信息科学与工程学院指导教师 2012年 X 月 X 日任务分配表第 ** 组学号姓名负责部分成绩组长 完成需求分析、概念逻辑结 构设计和运行、维护

文***品 3年前 上传1322   0

物流管理信息系统课程设计

湖南长沙家润多超市是由全国零售业前十强企业湖南友谊阿波罗股份全资控股的子公司。公司的第一家门店于2000年9月28日在长沙市朝阳区开业,至今在湖南省拥有家润多朝阳店、千喜店、赤岗冲店、常德店、益阳店、岳阳店、浏阳店、吉首店、衡阳店、郴州店等多家大型超市。家润多超市从2000年10月开始在其供给商中间推广9448-SCM供给链管理解决方案。家润多的供给商可通过9448网站的供给链管理平台,共同分享销售、库存、结算等商业数据,共同进行品类分析和管理。该平台在家润多超市1352家供给商中,推广率到达91%。该平台不仅帮助家润多超市节省了大量的结算人力,也让供给商体会到了网络技术带来的便捷。

0***狗 2年前 上传665   0

考勤管理系统课程设计

考勤管理系统课程设计一、背景 2二、可行性分析 22.1技术可行性 22.2 经济可行性 22.3 操作可行性 22.4结论意见 3三、需求分析 33.1功能需求 33.2 性能需求 33.3 全局分析 43.4系统现状 43.5系统功能结构 53.6系统业务流程图 53.7系统数据流程图 63.8数据字典 6四、总体设计 74.1数据库 74.2系统窗口 8

z***u 2年前 上传419   0

学生成绩管理系统设计课程设计

学生成绩管理系统设计目 录引言 1 系统概述 1.1 系统功能

z***u 1年前 上传338   0

MySql数据库课程设计(学生管理系统)

XX大学数据库课程设计报告 系 院 应用科学学院 年 级 2013级 专 业 信息与计算科学 学 号 学 生 姓 名 XXXXXX

文***品 2年前 上传677   0

医院管理系统数据库课程设计

医院管理系统数据库课程设计内容摘要数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户

z***u 1年前 上传441   0

教务管理系统数据库课程设计报告

 《数据库原理》课程设计报告课程名称: 《数据库原理》课程设计 设计题目: 《教务管理系统》 指导教师: 班 级:   学 号: 学生姓名:

文***享 1年前 上传268   0

图书馆图书管理系统课程设计

 课程设计 (图书馆图书管理系统) 指导老师: 班 级:能动 姓 名: 学 号: 20XX年X月X日 图书管理系统实例 一、系统简介 1、本图书管理系统,包含了对图书、作者、读者等基本信息的管理,也包含了借书信息,还书信息等的查

文***品 5年前 上传1617   0