车辆信息管理系统Word文档格式.docx

上传人:b****6 文档编号:18236001 上传时间:2022-12-14 格式:DOCX 页数:24 大小:292.23KB
下载 相关 举报
车辆信息管理系统Word文档格式.docx_第1页
第1页 / 共24页
车辆信息管理系统Word文档格式.docx_第2页
第2页 / 共24页
车辆信息管理系统Word文档格式.docx_第3页
第3页 / 共24页
车辆信息管理系统Word文档格式.docx_第4页
第4页 / 共24页
车辆信息管理系统Word文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

车辆信息管理系统Word文档格式.docx

《车辆信息管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《车辆信息管理系统Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

车辆信息管理系统Word文档格式.docx

审核意见

系(教研室)主任(签字)

指导教师下达时间2014年12月25日

指导教师签字:

_______________

摘要

在当前的市场经济体制下,企业要想提高市场的竞争力,取得好的经济效益,不但要有好的产品,同时也要有好的管理方式,所以必须拥有一套完善的并且适合自身特点的信息化管理系统,以实现企业降低成本、及时反馈市场信息、完善服务质量、提高经济效益、分析市场需求、制定销售计划和目标等管理目的。

本文利用VisualC++6.0编写程序,实现了用户对公司车辆的编号、车牌号、车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、累计总费用等信息的管理。

本系统主要实现了对车辆的添加,查询,显示,编辑,删除,统计,存盘,读出。

主要运用了类的继承等编程方法来实现对这些车辆的管理。

已经过全面的系统测试,能够很好的运行,达到了预期的效果。

关键词:

系统设计车辆管理类的继承

摘要Ⅰ

第1章绪论1

1.1课程设计的目的1

1.2课程设计的背景及意义1

1.2.1课程设计的背景1

1.2.2课程设计的意义1

1.3课程设计环境1

第2章系统需求分析2

2.1问题描述2

2.2功能分析2

2.3问题的解决方案3

第3章系统流程图4

第4章系统实现5

4.1类实现5

4.2函数实现7

第5章系统测试16

5.1模块测试16

5.2课程设计过程中遇到的问题17

总结18

致谢19

第一章绪论

1.1课程设计的目的

(1)要求学生能够熟练掌握C++语言的基本知识和技能。

(2)加班掌握面向对象程序设计的基本思路和方法。

(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

1.2课程设计的背景和意义

1.2.1课程设计的背景

1.理论研究基础

(1)C++在C的基础上增加了面向对象的机制。

(2)充分运用面向对象机制中的继承性与多态性实现函数的设计。

2.技术层面的支持

运用系统为C++面向对象程序设计提供的各种设计方法和VC++系统提供的库函数实现项目的开发。

1.2.2课程设计的意义

通过设计此系统,熟练掌握C++语言的基本知识和技能,基本掌握面向对象程序开发的基本思路和方法,培养学生的动手操作能力,提高自主学习能力,能够利用所学的基本知识和技能,进行简单应用程序设计。

1.3课程设计环境

VisualC++6.0

第二章需求分析

2.1、问题描述

车辆管理系统主要负责各种车辆的常规信息管理工作。

系统中的车辆主要有大客车、小轿车和卡车。

每种车辆有车辆编号、车牌号、车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、累计总费用等信息。

大客车还有载客量(最大载客数)信息,小轿车还有箱数(两厢或三厢)信息,卡车还有载重量等信息。

每台车辆当月总费用=油价*耗油量/公里+基本维护费用。

基本维护费用:

客车:

2000元/月,小轿车:

1000元/月,卡车:

1500元/月

2.2、功能要求

(1)添加车辆:

主要完成车辆信息的添加,要求编号唯一。

当添加了重复的编号时,则提示数据添加重复并取消添加;

当车辆信息库已满,则提示不能再添加新的数据。

(2)查询车辆:

可按照三种方式来查询物品,分别为:

按车辆制造公司查询:

输入车辆制造公司,输出所查询的信息,若不存在该记录,则提示“该车辆制造公司不存在!

”;

按编号查询:

输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!

按类别查询:

输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有车辆!

(3)显示车辆信息库:

输出当前车辆信息库中所有车辆信息,每条记录占据一行。

(4)编辑功能:

可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

(5)删除车辆:

主要完成车辆信息的删除。

如果当前车辆信息库为空,则提示“车辆信息库为空!

”,并返回操作;

否则,输入要删除的编号,根据编号删除该车辆的记录,如果该编号不在车辆信息库库中,则提示“该编号不存在”。

(6)统计信息

输出当前车辆信息库中总物品数,以及按车辆类别,统计出当前车辆信息库中各类别的物品数并显示。

(7)车辆信息存盘:

将当前程序中的车辆信息存入文件中。

(8)读出车辆信息:

从文件中将车辆信息读入程序。

2.3、问题的解决方案

根据系统功能要求,可以将问题解决分为以下步骤:

(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;

(2)分析系统中的各个实体及它们之间的关系;

(3)根据问题描述,设计系统的类层次;

(4)完成类层次中各个类的描述;

(5)完成类中各个成员函数的定义;

(6)完成系统的应用模块;

(7)功能调试;

(8)完成系统总结报告。

第三章系统流程图

第四章系统实现

4.1类实现

*基类

数据类Base

*数据成员

charcompany[40];

//车辆制造公司

charbrand[20];

//汽车品牌

longnumber;

//车牌号码

doublekilometer;

//总公里数

doubleoil_price;

//油价

doubleoil;

//耗油量(公里)

doubleroad;

//养路费

doublefee;

//基本维修费用

doubletotal_cost;

//累计总费用

intyear;

//年

intmonth;

//月

intday;

//日

*成员函数

virtualvoidread()=0;

virtualvoidadd()=0;

virtualvoidmodify(int)=0;

virtualvoiddel(int)=0;

virtualvoidsave()=0;

virtualvoidsearch()=0;

virtualvoidget_cost()=0;

*继承类1

轿车类Car:

publicBase

intcarriage;

//箱数(两厢或三厢)

voidread();

//从文件中输入内存

voidadd();

//添加

voidmodify(int);

//编辑

voiddel(int);

//删除

voidsave();

//保存

voidsearch();

//查找

查找分以下三种方式:

厂家、车牌号、品牌

voidget_cost();

//计算累计总费用

*继承类2

轿车类Truck:

doubleload;

//载重量

*继承类3

轿车类Bus:

intcarrying;

//载客量(最大载客数)

4.2函数实现

(1)主函数:

voidmain()

{

//将各个文件中的数据依次读入内存

Car(car);

(car).read();

Truck(truck);

(truck).read();

Bus(bus);

(bus).read();

intchoice=1;

//显示主菜单

while

(1)

{

cout<

<

"

**************主菜单**************"

endl;

1.轿车信息管理"

2.卡车信息管理"

3.客车信息管理"

4.查询汽车数量"

0.退出"

**********************************"

请输入所要操作的编号:

;

cin>

>

choice;

switch(choice)

case1:

car_manage();

break;

case2:

truck_manage();

case3:

bus_manage();

case4:

{search_number();

system("

pause"

);

}break;

case0:

谢谢您的使用!

return;

default:

cout<

请输入0~3之间的数字!

}

system("

cls"

}

}

(2)轿车界面函数:

{

***********客车管理子菜单**********"

1.添加客车信息"

2.修改客车信息"

3.删除客车信息"

4.查询客车信息"

5.显示所有客车信息"

***********************************"

程序调试:

1.添加:

voidCar:

:

add()

{

//存入对象数组中

strcpy(car[count_car].company,company);

strcpy(car[count_car].brand,brand);

car[count_car].number=number;

car[count_car].year=year;

car[count_car].month=month;

car[count_car].day=day;

car[count_car].kilometer=kilometer;

car[count_car].oil_price=oil_price;

car[count_car].oil=oil;

car[count_car].road=road;

car[count_car].fee=fee;

car[count_car].carriage=carriage;

count++;

count_car++;

2.输出:

for(inti=0;

i<

count_car;

i++)

p=&

car[i];

p->

get_cost();

1.编号:

i+1<

"

2.生产商:

car[i].company<

3.品牌:

car[i].brand<

4.购买时间:

car[i].year<

年"

car[i].month<

日"

car[i].day<

5.车牌号:

car[i].number<

6.总公里数:

car[i].kilometer<

7.油价:

car[i].oil_price<

8.耗油量:

car[i].oil<

9.养路费:

car[i].road<

10.基本维修费用:

car[i].fee<

11.累计当月总费用:

car[i].total_cost<

12.厢数:

car[i].carriage<

3.查询:

按车牌号和品牌

search()

intm=0;

for(inti=0;

{

if((car[i].number==number)||(strcmp(car[i].brand,brand)==0))

{

cout<

car[i].year<

car[i].kilometer<

car[i].road<

car[i].carriage<

m++;

}

}

if(m>

0)

system("

if(m==0)

{

cout<

无此轿车数据!

system("

1.按车牌号查询

2.按品牌查询

按车辆制造公司

voidsearch(charcompany1[40])//按车辆制造公司查询

for(inti=0;

if(strcmp(car[i].company,company1)==0)

p=&

p->

car[i].year<

car[i].kilometer<

car[i].road<

car[i].carriage<

m++;

for(intj=0;

j<

count_truck;

j++)

if(strcmp(truck[j].company,company1)==0)

truck[j];

p->

j+1<

truck[j].company<

truck[j].brand<

car[j].year<

truck[j].month<

truck[j].day<

truck[j].number<

truck[j].kilometer<

truck[j].oil_price<

truck[j].oil<

truck[j].road<

truck[j].fee<

truck[j].total_cost<

"

12.载重量:

truck[j].load<

for(intk=0;

k<

count_bus;

k++)

if(strcmp(bus[k].company,company1)==0)

bus[k];

k+1<

bus[k].company<

bus[k].brand<

bus[k].year<

bus[k].month<

bus[k].day<

bus[k].number<

bus[k].kilometer<

bus[k].oil_price<

bus[k].oil<

bus[k].road<

bus[k].fee<

bus[k].total_cost<

12.载客量:

bus[k].carrying<

无此卡车数据!

4.编辑:

modify(intindex)

strcpy(car[index-1].company,company);

strcpy(car[index-1].brand,brand);

car[index-1].number=number;

car[index-1].year=year;

car[index-1].month=month;

car[index-1].day=day;

car[index-1].kilometer=kilometer;

car[index-1].oil_price=oil_price;

car[index-1].oil=oil;

car[index-1].road=road;

car[index-1].fee=fee;

car[index-1].carriage=carriage;

对比输出:

编辑前:

编辑后:

5.删除:

删除前:

删除后:

由于客车和客车与轿车的功能相同,就不在此一一列举了。

第五章系统测试

5.1读出数据:

将保存在文件内的信息读出

read()

ifstreamcarfile;

carfile.open("

轿车信息.txt"

carfile>

car[count_car].company>

car[count_car].brand>

car[count_car].number>

car[count_car].year

>

car[count_car].month>

car[count_car].day>

car[count_car].kilometer>

car[count_car].oil_price

car[count_car].oil>

car[count_car].road>

car[count_car].fee>

car[count_car].carriage;

while(!

carfile.eof())

count++;

>

car[count_ca

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1