车辆管理系统实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
车辆管理系统实验报告
篇一:车辆信息管理系统实验报告新
课程设计报告格式
面向对象程序设计I
课程设计报告
题目:车辆信息管理系统
学院:计算机科学与工程学院
专业:软件工程专业
班级:
学号:
姓名:
指导老师:
设计日期:
1. 题目及程序(系统)功能设计说明
课程设计题目:车辆信息管理系统
程序(系统)的基本功能:
车辆信息管理系统由两个子系统构成:
一是:对轿车信息的管理;二是:对车辆信息的管理功能。
主要是增删改功能
2. 程序涉及的知识点
1.类、内联函数、类的继承与派生、虚函数、抽象类的知识. Class car //轿车类
基类:
class Emcar //汽车类
派生类:
class Pascar:public Emcar //客车类
class Limou:public Emcar //轿车类
class Truck:public Emcar //卡车类
class Train:public Emcar //火车
实现车辆管理
class Company //公司类
2.实现对文件的操作,stream的子类ifstream,ofstream以及其中的相关函数:open(),close(),good()
调用的头文件有#include,#include #include,#include,#include #include
掌握getline()逐行读取功能以及ios::in,ios::out,ios::app,对
于文件的格式的实现。
了解system函数对于命令行指令的调用,cls指令实现清屏及color指令改变控制台的前景色和背景。
还应用了左对齐setiosflags(ios::left),设置域宽setw()等函数。
3.链表这种数据结构相关增删改查基本功能实现相关
知识。
3.功能设计或算法设计
车辆信息管理系统由两个子系统构成,它的主要功能如下:
.轿车信息管理系统
1. 添加车辆信息
主要添加的车辆信息包括5各方面,分别是:桥车的车牌号(编号不唯一),车辆名字,车辆的价格,车辆的生产日期,车辆的生产地等。
2. 修改车辆信息
输入车辆的编号,就会显示全部车辆信息,然后根据提示写出修改信息,并会保存在相应的文件中。
3. 删除车辆信息
输入要删除的车辆编号,就会将此车辆信息从相应的文件中删除,
示用户车辆信息已删除。
并提
4. 查询车辆信息
输入查询车辆的编号,就会从文件中调取记录,显示信息。
5. 显示所有车辆信息
显示文件中所有车辆信息。
6. 清除所有车辆信息
清除所有车辆信息。
7. 总的轿车车辆数
利用类中的变量count来计算车辆数,通过文件读取存入,也会在
增加和删除时相应的增加和减少车辆数。
8. 退出轿车车辆信息系统
利用break退出,主函数则采用exit(0).
.车辆信息管理系统
1. 增加车辆信息
主要完成车辆信息的添加,要求编号唯一。
添加车辆的牌号,汽车制造公司,买车时间,并且按照给定的车型进行选择,当添加车辆信息成功时,提示“新增车辆成功”;
2. 修改车辆信息
按照车辆编号,对车辆的信息进行修改;修改成功后,提示“修改车辆信息成功”;
3. 删除车辆信息
按照车辆编号,对车辆信息进行删除,当删除成功时,提示“找到并删除”;当车库存中没有该车辆的信息时,提示“未找到该车辆信息”; 4. 查询车辆信息
首先会全部列出系统内全部的汽车信息;每条信息占一行;
当车辆信息较多的时候,可以按照车辆的编号,查询车
辆信息;
当输入的编号不在系统内,则输出“未找到该车辆的信息。
”;
5. 基础数据设置
主要修改各种车型的基本维护费用;以便于计算各车每个月的总费用,用于各车型总车费的计算;设置后会提示“基础数据已设置”; 6. 简单统计信息
有两个功能一是对车辆的车龄进行统计:二是计算车辆的总费用排行;
7. 数据存入磁盘
8. 数据载入内存
9. 退出管理系统
实现的方法:
运用面向对象的思想,直接将问题抽象成对象,运用类的派生,实现了代码的复用,运用类的多态性生成多个实例,实现对同一事物的不同响应。
功能结构图
类图
篇二:车辆管理系统课程设计报告
目录
一、问题定义·················································
(2)
1.1项目背景 (2)
1.2问题概述 (2)
二、可行性研究 (3)
2.1引言 (3)
2.2可行的解决办法 (3)
三、需求分析 (5)
3.1需求概述 (5)
3.2功能需
··5
四、概要设计 (6)
4.1系统功能结构 (6)
4.2系统设计目标 (6)
五、详细设计 (7)
5.1模块简介...........(本文来自:小草范文网:车辆管理系统实验报告). (7)
5.2数据库设计 (8)
5.3界面设计 (24)
六、用户操作手
·32
6.1引言 (32)
6.2系统概述 (32)
6.3系统配置 (33)
6.4使用说明 (35)
七、附录一运行环境 (39)
八、附录二参考资料 (39)
一、问题定义
1.1项目背景
信息时代的到来意味着工作效率的日渐提高,同时也给车辆管理部门带来更大的压力,管理部门必须及时准确地提
供各种参考材料,若无法作到这一点,将成为企业发展、机构运转的瓶颈。
基于这一原因,车辆管理工作无一例外受到领导的高度重视。
随着车辆资料价值的日渐提升,社会对车辆管理部门也提出了更高的要求,对车辆早已不限于“用好”,更多地要求“管好”,车辆资料管理已向前延伸到公文的管理,向后扩展到信息资源的整理、采编、发放。
就在车辆管理部门职能不断扩大、业务不断扩充的同时,机构改革、企业改制等等政策又要求车辆部门精兵简政,缩减日常经费开支,充分利用现有资源产生更多经济效益。
“向管理要效益”已成为车辆部门的运营之本,车辆部门必须提高其自身的管理水平。
“提升车辆管理档次,将车辆交给计算机管理”正在成为一种潮流。
同时,计算机管理突出优势也在影响车辆管理的机制。
以手工检索为目的的著录卡片、目录等,不仅在编制阶段大量占用车辆员的工作时间,检索利用也非常繁琐,缺少经验的车辆员甚至无法在别人编制的目录中查找车辆,更加难以保证“查全率”,使用计算机检索,将彻底解决这一问题;另外,为了保护车辆资料,大中型车辆馆都编制了“二套车辆”,造成保管费用高涨,复印机使车辆复制更加简便,却造成纸张消耗量的剧增,同时,大量复制文件的出现又给车辆管理带来新的安全问题,更与车辆管理的严肃性相抵触,使用计算机查询,将纸载车辆管理与电子车辆利用结合起来,可以完美解决这一难题,大幅度降低车辆
管理费用。
本系统主要服务于机动车管理人员的日常工作,利用本系统可以方便的监控本区域的驾驶员信息,在此基础上力求软件界面人性化及操作简单,程序具有健壮性。
1.2问题概述
各地区状况虽有不同,但车辆档案快速增长的情况是相同的,由此产生的问题主要表现在以下几方面:
1.库房面积日趋增加
车辆管理所需要比较多的物理空间用于存储档案,今后还有增加的趋势,每年为此存在的档案保管费用较高。
2.查询频繁,查询效率低,查询劳动强度大
由于过户、变更等业务,档案资料的变动频繁,无论从归档还是从管理上都很困难。
查询机动车档案时,档案员要经常跑路。
为防止丢失,查阅前后都要核对数目。
3.档案安全性得不到保证
由于直接对原始资料查阅,为防止查询人员对原件的毁坏、涂改,要派专人负责陪同。
即使发生这种情况,因为没有历史记录也无从查对,可能会造成不必要的损失。
4.归档困难
由于资料的变动以及多份相关档案同时查询的情况时有发生,不可避免地发生归档错误。
一旦出现此类问题,就有可能需要将大量档案重新整理,牵涉大量的人力、物力。
归档的频繁导致工作人员从事大量的体力工作。
5.档案资料缺乏安全备份
二、可行性研究
2.1引言
随着我国经济的快速发展,人民生活水平的提高,以及人们的对物资的购买力提高,汽车已成为人们不可缺少的交通工具。
特别是对于拥有大量车辆的机关企事业单位来说,车辆的管理已成为日常事务中的一项重要的工作,为了如何让管理人员及时了解每一辆车的情况,提高车辆的使用效率,减少费用支出,成为各个单位需要解决的一个难题,为了规范企业内部的管理,提高企业管理质量,更好的服务于广大的客户的情况下,我们必须要开发一套专门用于车辆管理的系统,可以集中管理车辆的运营,维修,事故,违章等一系列的信息,使企业进入车辆管理信息化,科学化。
同时也可以节省人力,物力,财力。
2.2可行的解决办法
2.2.1 Oracle数据库
oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。
不过,一般的中小型企业都比较喜欢用mysql, SQL server等数据库系统,它的操作很简单,功能也比较齐全。
只是相对于oracle数据库而言,在处理大量数据方面有些不如。
Oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统,其在管理信息系统、企业数据处理、因特网及电子商务等领域有着非常广泛的应用。
因其在数据安全性与数据完整性控制方面的优越性能,以
及跨操作系统、跨硬件平台的数据互操作能力,使得越来越多的用户将Oracle作为其应用数据的处理系统。
Oracle数据库是基于“客户端/服务器”模式结构。
客户端应用程序执行与用户进行交互的活动。
其接收用户信息,并向“服务器端”发送请求。
服务器系统负责管理数据信息和各种操作数据的活动。
2.2.2 JSP
SP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP 技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
2.2.3 Tomcat
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。
由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。
因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
目前最新版本是7.0。
Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面
的访问请求。
实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行
的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
三、需求规格说明书
3.1需求概述
车辆管理系统是针对公司的大量信息处理工作而开发的管理软件。
根据用户的要求,实现对车辆基本档案信息、驾驶员档案信息、车辆运营情况、出车记录、维修记录、事故及违章情况记录等几个方面的功能。
用户在输入管理员账号及密码后,登录到系统主页面,可以记录和查询车辆、驾驶员以及其他相关方面的信息,还可以对车辆档案进行修改和删除操作,使车辆由人工管理过渡到机械自动化,系统化,规范化管理,违章车辆,事故车辆及车辆的维修费用一目了然。
可及时掌握车辆的运营情况,提高车辆的利用效和经济益。
使用户做到对各方面心中有数,方便公司的整体规划安排和各方面的管理。
3.2功能需求
车辆管理系统的总目标是:在计算机网络、数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有良好人机交互界面且使用方便简洁的车辆管理系统,实现机关、企业、事业等单位车辆管理系统,为各单位
的提供准确、全面的车辆信息。
车辆管理系统功能主要包括车辆档案管理、车辆相关事宜记录、驾驶员档案管理、车辆运营管理、账户管理和系统维护。
* 车辆档案录入,车辆档案基本操作,车辆异动,车辆异动查询,车辆报废,
车,其中车辆档案基本操作包括车辆档案查询、档案删除和修改
辆报废查询。
* 车辆运营管理,车辆运营查询。
* 车辆维修录入,车辆维修查询,车辆违章录入,车辆违章查询,
篇三:停车场管理系统实验报告
华北水利水电学院数据结构实验报告~第学期专业
班级: **** 学号: ***** 姓名: **** -
实验二栈和队列及其应用
一、实验目的:
1.掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。
2.掌握队列的特点(先进先出FIFO)及基本操作,如入
队、出队等,队列顺序存储结构、链式存储结构和循环队列的实现,以便在实际问题背景下灵活运用。
二、实验内容:
1.链栈的建立、入栈、出栈操作。
2.环形队列的建立、入队、出队操作。
3.停车场管理。
设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。
汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。
试为停车场编制按上述要求进行管理的模拟程序。
实现提示:以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。
每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停
留的时间和应交纳的费用(在便道上停留的时间不收费)。
栈以顺序结构实现,队列以链表(带头结点)实现。
需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车,也用顺序存储结构实现。
输入数据按到达或离去的时刻有序。
栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入停车场的时刻。
设n=2,输入数据为:(?A?,1,5),(?A?,2,10),(?D?,1,15),(?A?,3, 20),(?A?,4,25),(?A?,5,30),(?D?,2,35),(?D?,4,40),(?E?,0,0)。
每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,其中,?A?表示到达;?D?表示离去,?E?表示输入结束。
三、实验要求:
1. C/ C++完成算法设计和程序设计并上机调试通过。
2.撰写实验报告,提供实验结果和数据。
3.写出算法设计小结和心得。
四、程序源代码:
1.#include
#include
typedef struct stnode
{
int data; stnode *next;
}LinkStack;
//创建一个栈头结点,无头结
void InitStack(LinkStack *&ls)
{
ls=NULL;
}
//进栈,相当于头插法
void Push(LinkStack *&ls,int x)
{
LinkStack *p;
p=(LinkStack *)malloc(sizeof(LinkStack)); p->data=x;
p->next=NULL;
p->next=ls;
ls=p;
}
//出栈
void Pop(LinkStack *&ls)
{
if(ls==NULL)
return;
LinkStack *p;
int x;
p=ls;
while(p)
{
x=p->data;
ls=p->next;
cout free(p);
p=ls;
}
cout }
//创建栈
void CreatStack(LinkStack *&ls) {
InitStack(ls);
int i=1,num;
cout while(1)
{
cout cin>>num;
if(num==000)
break;
Push(ls,num);
i++;
}
cout }
void main()
{
LinkStack *ls,*p;
CreatStack(ls);
Pop(ls);
}
2.#include
#define QueueSize 100
typedef struct sqqueue
{
int data[QueueSize];
int front,rear;
}SqQueue;
//初始化队列
void InitQueue(SqQueue &qu) {
qu.rear=qu.front=0;
}
//进队
int EnQueue(SqQueue &sq,int x)
{
if((sq.rear+1)%QueueSize==sq.front) return 0;
sq.rear=(sq.rear+1)%QueueSize;
sq.data[sq.rear]=x;
return 1;
}
//出队
void DeQueue(SqQueue &sq)
{
int x;
if(sq.front==sq.rear)
return;
while(sq.front!=sq.rear)
{
sq.front=(sq.front+1)%QueueSize;
x=sq.data[sq.front];
cout }
cout }
//创建队
void CreatQueue(SqQueue &sq)
{
InitQueue(sq);
int num,i=1;
cout while(1) {
cout cin>>num; if(num==000) break;
EnQueue(sq,num);
i++;
}
cout }
void main()
{
SqQueue sq; CreatQueue(sq); DeQueue(sq);
}
3.#include
#include
#include
#define MAX 2
#define price 0.05
typedef struct node
{
int hour;
int min;
}Time;//时间结点
typedef struct Node
{
char num[10];//车牌号
Time reach;//时间
Time leave;
}CarNode;//车辆信息结点
typedef struct NODE
{
CarNode *stack[MAX];
int top;
}CarStack;//顺序栈模拟车站typedef struct QNode//队列
{
CarNode *data; QNode *next; }QueueNode;//链队结点类型typedef struct pqrt
{
QueueNode *front,*rear;//设置头指针尾指针
}LinkQueueCar;//模拟通道
//初始化栈
void InitStack(CarStack *cs);
//初始化队列(便道)
int InitQueue(LinkQueueCar *qc);
//车辆到达
int Arrival(CarStack *Enter,LinkQueueCar *qc);
//车辆离开
void Leave(CarStack *Enter,CarStack *Temp,LinkQueueCar *qc); //显示车库信息
void List(CarStack s,LinkQueueCar w);
void main()
{
CarStack Enter,Temp;
LinkQueueCar Wait; int ch; InitStack(&Enter); InitStack(&Temp); InitQueue(&Wait); while(1) { cout>ch; if(ch>=1&&ch<=4) break; } switch(ch)。