停车场管理系统C++课程设计报告.docx

上传人:b****5 文档编号:14298356 上传时间:2023-06-22 格式:DOCX 页数:37 大小:352.59KB
下载 相关 举报
停车场管理系统C++课程设计报告.docx_第1页
第1页 / 共37页
停车场管理系统C++课程设计报告.docx_第2页
第2页 / 共37页
停车场管理系统C++课程设计报告.docx_第3页
第3页 / 共37页
停车场管理系统C++课程设计报告.docx_第4页
第4页 / 共37页
停车场管理系统C++课程设计报告.docx_第5页
第5页 / 共37页
停车场管理系统C++课程设计报告.docx_第6页
第6页 / 共37页
停车场管理系统C++课程设计报告.docx_第7页
第7页 / 共37页
停车场管理系统C++课程设计报告.docx_第8页
第8页 / 共37页
停车场管理系统C++课程设计报告.docx_第9页
第9页 / 共37页
停车场管理系统C++课程设计报告.docx_第10页
第10页 / 共37页
停车场管理系统C++课程设计报告.docx_第11页
第11页 / 共37页
停车场管理系统C++课程设计报告.docx_第12页
第12页 / 共37页
停车场管理系统C++课程设计报告.docx_第13页
第13页 / 共37页
停车场管理系统C++课程设计报告.docx_第14页
第14页 / 共37页
停车场管理系统C++课程设计报告.docx_第15页
第15页 / 共37页
停车场管理系统C++课程设计报告.docx_第16页
第16页 / 共37页
停车场管理系统C++课程设计报告.docx_第17页
第17页 / 共37页
停车场管理系统C++课程设计报告.docx_第18页
第18页 / 共37页
停车场管理系统C++课程设计报告.docx_第19页
第19页 / 共37页
停车场管理系统C++课程设计报告.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

停车场管理系统C++课程设计报告.docx

《停车场管理系统C++课程设计报告.docx》由会员分享,可在线阅读,更多相关《停车场管理系统C++课程设计报告.docx(37页珍藏版)》请在冰点文库上搜索。

停车场管理系统C++课程设计报告.docx

停车场管理系统C++课程设计报告

重庆科技学院

 

《面向对象程序设计》

课程设计报告

  

学 院:

电气与信息工程学院专业班级:

 计科升2013—01 

学生姓名:

廖帅林 学号:

2015520134

设计地点(单位)_____I514_______ 

设计题目:

_停车场 管 理系统设计 ___

    完成日期:

 2016 年1月8日

指导教师评语:

______________________ _______________

_________________________________________________________________________________________________________________________________________________________________________________________________________             

成绩(五级记分制):

________________ﻫ       指导教师(签字):

________________

重庆科技学院

课程设计任务书

设计题目:

停车场管理系统设计

学生姓名

廖帅林

课程名称

面向对象课程设计

专业班级

计科升2013—01

地 点

I514

起止时间

12月28日~1月8日

设计内容及要求

1)问题描述

定义车辆类,属性有车牌号、颜色、车型(小汽车、小卡、中卡和大卡)、到达的时间和离开的时间等信息和相关的对属性做操作的行为。

定义一个管理类,完成对停车场的管理。

停车场的具体要求:

设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。

汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等待,一旦有车开走,则排在便道上的第一辆车即可开入;每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用.

2)功能要求

(1)添加功能:

程序能够添加到达停车场的车辆信息,要求车辆的车牌号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。

(2)查询功能:

可根据车牌号、车型等信息对已添加的停车场中的车辆信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;

(3)显示功能:

可显示当前系统中所有车辆的信息,每条记录占据一行。

(4)编辑功能:

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

(5)删除功能:

主要实现对已添加的车辆记录进行删除。

如果当前系统中没有相应的人员记录,则提示“记录为空!

”并返回操作。

(6)统计功能:

能统计停车场中车辆的总数、按车型、按到达时间进行统计等。

3)问题的解决方案

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

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

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

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

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

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

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

(7)功能调试;

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

根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。

设计

参数

(1)系统分析、设计正确。

(2)结果以图表方式显示。

(3)界面简洁、美观。

(4)报告格式规范。

进度

要求

周一:

明确设计任务,学习相关基础知识

周二:

熟悉各知识点,进行基础练习

周三:

根据题目要求,进行设计和实现

周四:

根据题目要求,进行设计和实现

周五:

程序测试

参考资料

[1]RichardJohnsonbaugh。

MartinKalin。

《面向对象程序设计—C++语言描述》.机械工业出版社。

2009年

[2]钱能.《C++语言程序设计教程》。

清华大学出版社.2005年

其它

说明

1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。

2.若填写内容较多可另纸附后。

3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别.

教研室主任:

 王双明   指导教师:

焦晓军        2015年1月8

摘要

该系统是用C++语言编写的一个简单的操作系统,在汇编环境下,用户可以按照界面的提示,选择不同的功能。

该车库管理系统主要的设计方法是定义了两个类(Car和Manage).Car类中定义了一些Car的基本属性,得到信息的函数和输出信息的函数,Manage(管理类)中主要实现车辆信息的添加,删除,查询,显示,统计和修改功能.该系统可以大大的节省管理者的时间和资源,也对所管理的对象的效率是非常高的.

关键词:

C++停车场管理系统函数 功能

    

目录ﻩIV

第一章软件需求分析ﻩ1

1。

1 软件需求1

1。

2系统中各功能函数的关系图ﻩ1

第二章系统分析与设计ﻩ4

2。

3类中各函数执行的流程图5

2.4主要函数功能实现ﻩ17

第三章软件的实现19

第四章系统的调试20

4。

1主界面的调试ﻩ20

4.3查询功能的调试22

4.4编辑功能的调试23

4.5统计的调试ﻩ23

4.5删除的调试ﻩ24

第五章总结ﻩ25

参考文献ﻩ27

第一章软件需求分析

1。

1 软件需求

本程序是运用C++语言编写的系统.其功能是对在库的车辆信息进行有效的管理,所以该系统主要面对的是停车场管理员.停车场管理员可以根据本系统的操作提示完成对所需要管理的对象进行有效的管理.在本系统中有很多功能,例如可以输入新的车辆信息,包括车辆的车牌号码、车的颜色、车的入库时间、车型、停车所交的费用等等。

所以本系统不失为一个管理车辆的有效系统,尤其是面对对车辆需要有效管理的停车场、车站、二手车交易市场等等。

1。

2系统中各功能函数的关系图

主界面与各功能函数的关系:

 

 

图1.1主界面与各功能函数关系图

添加函数功能:

 

    判断不重复则添加

 

图1.2 添加函数功能图

 

查询函数功能:

 

图1。

3查询函数功能图

显示函数功能:

 

        图1.4显示函数功能图

 

           图1。

5库为空显示函数功能图

编辑函数功能:

    

 

    

图1.6编辑函数功能图

 

删除函数功能:

 

          图1.7删除函数功能图

 

第二章 系统分析与设计

2.1系统运用的语言

 本系统主要是运用面对对象C++语言所编写的软件.运用了类的定义以及一些成员函数等等。

本系统中主要运用面对对象C++语言对本系统的主要对象car进行类的定义,然后再运用Manage类的一些函数功能来实现。

2.2类的定义

其中Car中的类成员如下:

表2-1Car类成员表

string number; 

车牌号(受保护成员变量)

stringcolor;

车的颜色(受保护成员变量)

stringtype;

车型(受保护成员变量)

stringintime;

车入库时间(受保护成员变量)

stringouttime;

车出库时间(受保护成员变量)

voidsetouttime( strings)

设置出库时间函数

stringGetouttime()

得到出库时间

void  setnumber(string s)

设置车牌号函数

stringGetnumber()

得到车牌号函数

void  setcolor( strings)

设置车的颜色

stringGetcolor()const

得到车得颜色

void setintime(strings)

设置入库时间函数

voidsettype(strings)

设置车型函数

stringGettype()

得到车型原函数

stringGetintime()

得到入库时间函数

voidoutput()

输出成员变量的函数

void input()

输入信息的函数

Manage中类成员如下:

表2-2Manage类成员表

intcount

下标(私有成员变量)

intcapacity

最大存储容量(私有成员变量)

boolAdd()

添加函数

VoidDisplay()

显示函数

VoidSearch()

查找函数

VoidDelete()

删除函数

VoidEdit()

编辑函数

Void Totle()

统计函数

Carcar[500]

定义一个Car类的对象

2.3类中各函数执行的流程图

添加函数流程图:

   

            Y

ﻩN

      N   N

         否       

       Y     

       

 

    图2

2。

1添加函数流程图

显示函数流程图:

 

N

ﻩY

          

 

2.2显示函数流程图

 

编辑函数流程图:

      

       

 

                N

    Y

      

 

  2.3编辑函数流程图

 

删除函数流程图:

 

          N

 

            Y

 

 

2。

4 删除函数流程图

 

按照本系统的功能,首先定义了一个类Car,其代码如下:

classCar

protected:

ﻩstring number;    //车牌号

ﻩstringcolor;    //车的颜色

ﻩstringtype;    //车型

ﻩstringintime;  //车的入库时间

ﻩstringouttime; //车出库时间

public:

ﻩﻩﻩﻩﻩ

void input()

{

ﻩ cout〈〈"请输入车牌号:

”;

ﻩﻩcin>>number;

ﻩcout<<"请输入车的颜色:

";

cin>>color;

cout<〈"请输入车的类型:

”;

ﻩﻩcin>>type;

ﻩcout<<"请输入车进入库的时间:

";

ﻩcin>>intime;

ﻩcout〈<"请输入车出库的时间:

”;

cin〉>outtime;

ﻩ}

 void output()

ﻩ{

ﻩﻩcout〈<"车牌号:

”〈<number<〈""〈〈”车的颜色:

"<<color<〈”"〈<”车型:

"<<type<<”"<〈"车入库时间:

"<<intime〈〈"”〈<”车出库时间:

"<<outtime<〈endl;

void setintime( string s)

ﻩ{

 intime=s;

ﻩ}

ﻩstring Getintime()//得到入库得到时间函数

ﻩ{

ﻩﻩreturnintime;

ﻩvoidsetouttime(strings)

ﻩ{

  outtime=s;

}

ﻩstringGetouttime()//得到出库时间函数

{

return outtime;

ﻩ}

void setnumber(strings)

ﻩ{

number=s;

}

stringGetnumber()//得到车牌号函数

ﻩﻩreturn number;

ﻩvoid setcolor( strings)

ﻩﻩcolor=s;

  stringGetcolor()const//得到颜色函数

{

 return color;

voidsettype(string s)

type=s;

ﻩ}

ﻩstringGettype()//得到类型函数

ﻩ{

ﻩreturntype;

}

};ﻩ

Manage的定义,其代码如下:

ClassManage{

ﻩCar car[500];//定义一个存放的数组

ﻩint count;//下标

int  capacity;//最大存储容量ﻩ

public:

Manage( int capa=500,intct=0)

 capacity=capa;

count=ct;

 }

ﻩ~Manage(){}

ﻩbool Add()//添加函数

ﻩ{

ﻩstringa;//定义存储需添加的车牌号的变量

cout〈<"请输入你要添加车辆的信息"<

cout<<"输入你要添加的车牌号:

";

ﻩcin>>a;

ﻩif(count==capacity)//判断容量是否已满

ﻩ{

ﻩﻩﻩcout<〈"车库已满"<

ﻩreturntrue;

ﻩ}

ﻩfor(int i=0;i

ﻩ{ﻩ

ﻩﻩ  if(a==car[i].Getnumber()) 

ﻩﻩ{

ﻩﻩﻩcout<〈”本车辆已经添加!

"〈〈endl;

ﻩﻩreturntrue;

ﻩﻩ}

ﻩﻩ}

ﻩﻩcar[count++]。

input();

ﻩcout<<”添加成功"<〈endl;

ﻩreturntrue;

voidSearch()//查找函数                                                                                                                                                                                                                        

ﻩ{

ﻩﻩcout〈<”请输入你要查询车辆信息的方式:

 1.按车牌号进行查询2.按车型进行查询"<<endl;

ﻩﻩint A;

ﻩﻩcin〉>A;

ﻩﻩstringB;

ﻩstringC;

ﻩif(count==0)

ﻩﻩ{cout<〈”记录为空!

”<

ﻩswitch(A)

ﻩcase1:

ﻩﻩcout<<"请输入你要查询的车牌号:

”;

ﻩ cin>>B;

ﻩﻩ for(inti=0;i<count;i++)

ﻩﻩ{

ﻩ if(B==car[i].Getnumber())

ﻩﻩ{

ﻩﻩﻩ car[i]。

output();

ﻩﻩﻩ   break;

ﻩﻩ}

ﻩﻩ  cout〈〈"记录为空!

"〈<endl;

ﻩﻩﻩ}

ﻩ };break;

ﻩcase2:

 {

ﻩ cout〈〈"请输入你要查询的车的车型号:

";

ﻩﻩ    cin〉>C;

   for(inti=0;i<count;i++)

ﻩﻩﻩﻩ{ 

ﻩ if(C==car[i]。

Gettype())

ﻩﻩ{

ﻩﻩﻩﻩ  car[i].output();

ﻩﻩﻩﻩbreak;

ﻩﻩﻩ}

ﻩﻩcout〈<”记录为空!

"<<endl;

ﻩ }

ﻩ};break;

ﻩ}

void Display()//显示全部车辆信息函数

ﻩ{

 ﻩif(count==0)

ﻩ{cout<〈"记录为空"<<endl;}

for(inti=0;i

ﻩcar[i].output();

ﻩ}

bool Edit()//修改函数

ﻩ{

ﻩstringa;//定义存储需添加的车牌号的变量

ﻩﻩintc;//可以选择多方式修改

stringd;//要修改的对应的参数

int b;

ﻩcout〈<”请输入你要修改车辆的车牌号:

";

ﻩﻩcin>>a;

ﻩ for(inti=0;i<count;i++)

ﻩ{

if(a==car[i]。

Getnumber())

ﻩﻩ{

ﻩﻩcar[i]。

output();

ﻩﻩﻩb=i;

ﻩﻩbreak;ﻩ

   }

ﻩﻩcout〈<”记录为空!

”<<endl;

ﻩﻩ}

cout〈〈"0。

修改车牌号 1.修改颜色2.修改车型3。

修改入库时间 4.修改出库时间5。

退出修改界面"〈<endl;

cout<〈"请输入你的选择:

”;

   cin>〉c;

ﻩswitch(c)

{

ﻩﻩcase 0:

 cout〈<”将车牌号修改为:

";

 cin〉>d;

ﻩ  car[b].setnumber(d);

ﻩﻩﻩ cout<<”修改成功!

"<<endl;

ﻩbreak;

ﻩcase1:

cout<<”将车的颜色改为:

";

ﻩﻩ cin〉〉d;

ﻩﻩﻩ  car[b].setcolor(d);

ﻩﻩcout<<"修改成功!

"〈<endl;

ﻩﻩbreak;

ﻩcase2:

cout<〈"将车的车型改为:

";

ﻩﻩ cin〉〉d;

ﻩ car[b].settype(d);

ﻩﻩﻩﻩcout<<"修改成功!

"〈

ﻩﻩbreak;

case 3:

cout<<”将车的入库时间改为:

”;

ﻩﻩ  cin>〉d;

ﻩﻩﻩcar[b].setintime(d);

ﻩﻩﻩcout〈<"修改成功!

"<

ﻩﻩﻩ break;

ﻩﻩ case4:

cout〈〈"将车出库时间改为:

";

ﻩcin>>d;

ﻩﻩ  car[b].setouttime(d);

ﻩcout〈〈"修改成功!

”<<endl;

ﻩﻩbreak;

ﻩcase5:

cout〈<"你已成功退出修改界面"〈〈endl;

ﻩﻩbreak;

ﻩ }

ﻩreturntrue;

}

void Delete()//删除函数

{

ﻩ string a;

cout〈<”请输入你要删除车辆的信息:

"〈

ﻩcout〈<"请输入删除车辆的车牌号:

";

ﻩﻩcin>〉a;

ﻩif(count==0)

ﻩﻩ{cout〈<"记录为空!

”<<endl;

ﻩ}

 for(inti=0;i〈count;i++)

ﻩ {

ﻩif(a==car[i]。

Getnumber())

ﻩ{ 

ﻩfor(intj=i;j〈count-1;j++)//查找到删除并进行移位

ﻩﻩﻩ   

ﻩcar[j]=car[j+1];

ﻩﻩﻩﻩcout〈<"删除成功”<

ﻩﻩcount—-;

ﻩﻩﻩbreak;

ﻩ}

2.4 主要函数功能实现

另外一些需要一些函数来完成二级页面的界面显示,其代码如下:

voidAdd1()

ﻩintb;//编号

cout<<”****************************************************************”〈<endl;

cout<〈”**************         **********************”〈

ﻩcout<<”  1。

添加车辆具体信息     "<〈endl;

ﻩcout<〈”    0.退出添加功能界面     "<<endl;

ﻩcout<〈"请输入你选择的编号:

";

cin>>b;

switch(b)

{

  case1:

a。

Add();break;

 case0:

cout〈〈"你已成功退出添加功能界面 ”〈

ﻩ}

}

voidSearch1()

{

ﻩintb;//编号

ﻩcout<<"****************************************************************”〈<endl;

cout〈〈"**************        **********************"<〈endl;

cout<<"     1.查找车辆具体信息            "<

cout〈<"   0.退出查询功能界面         ”〈〈endl;

ﻩcout<〈"请输入你选择的编号:

”;

ﻩcin>〉b;

ﻩswitch(b)

ﻩ{

  case1:

a。

Search();break;

case 0:

cout<<”你已成功退出查询功能界面"〈<endl;break;

}

void  Display1()

int b;//编号

ﻩcout〈<"****************************************************************”<

ﻩcout<<"**************         **********************"<<endl;

ﻩcout<<"      1.显示车辆具体信息       "<<endl;

cout<<" 0。

退出显示功能界面       "<〈endl;

cout<<"请输入你选择的编号:

";

ﻩcin〉>b;

ﻩswitch(b)

  

ﻩcase0:

cout<<”你已成功退

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2