车辆管理系统设计课程设计

第1章引言1.1题目背景在人们的生活中,机动车辆是我们每天都离不开的交通工具,因此,我们要想能更好的使用它们,充分的发挥它们的作用,使其能更好的服务于社会,就应该有一个良好的车辆管理系统。

中国的经济能够飞速发展的一个必要条件就是要与世界经济接轨,而车队要想能使其中的车辆充分发挥作用,就应该有现代化的先进管理模式;而现在大多数的车队管理还都主要依靠手工操作和传统的管理模式。

车队综合业务管理系统的主要作用是对于一个中等规模的、独立运营的车队实现车辆调度和车队综合业务的有效管理。

本次开发是以某车队的实际管理情况为背景的,在对该车队的车辆调度、驾驶员管理、车辆管理以其业务管理的深入调研后,力争开发出一个实用性较强的车队综合业务管理软件,基本上可以满足正常的车队管理。

本管理软件应该能实现档案管理、车辆调度、业绩考核和业务汇总功能,并可以打印各种报表和派工单。

通过使用本管理软件可以完善车队的管理,提高管理质量和管理效率。

1.2项目内容根据本次毕业设计的任务和要求,我做了详尽的用户需求分析,确定了项目的具体内容。

主要包括:系统初始化数据库,订单管理,车辆管理,驾驶员管理,业务管理。

分别介绍如下:●数据查询:主要包括驾驶员、车辆、用车单位、任务需求、派工单的各表的自然信息的查询。

要建立所有的数据库结构,包括上述各种代码和原始凭证;●系统初始化数据库:主要实现在软件正式运行前,把一个车队现行手工工作模式下的所有业务信息向计算机中进行转储。

这是软件系统正确运行的前提条件;●订单管理:主要实现对任务的接收与登记,根据车辆和驾驶员的当前状态进行调度,填写派工单;●驾驶员管理:主要实现对指定驾驶员的查询,驾驶员信息的管理,驾驶员的考核;●车辆管理:主要实现对指定车辆的查询,车辆业绩的考核;●业务管理:主要实现对车队综合业务的查询和结算。

第2章准备工作2.1系统设计目标根据毕业设计任务书的要求以及通过用户需求分析所得到的用户要求制定了系统设计目标:●实现项目要求的系统初始化数据库,订单管理,车辆管理,驾驶员管理,业务管理等;●软件实用性较强;●用户界面友好;●性能稳定;2.2后台数据库后台数据库选用的是SQL Server 2000。

SQL Server 2000 具有非常强大的关系数据库创建、开发、设计及管理功能。

它将数据库连接到Internet,并通过Web浏览器显示数据操作,具有客户机/服务器结构,并与Microsoft 公司的其它产品及第三方产品具有良好的兼容性,能方便的实现无缝操作。

此外,SQL Server 2000还提供了对分布式事务处理的支持,并具有对开发工具的良好支持,能为大型数据库项目提供优秀的企业解决方案。

2.3技术经济分析假如没有车队综合业务管理系统,车队的综合管理仍然按照传统的管理模式来管理,车队规模较小时还可以正常运转,但随车队的规模逐渐的扩大,在运营过程中出现的问题会也会逐渐的增多,在管理方面就会需要更多的管理人员,这样就将会造成越来越大的人力、物力和财力的浪费。

如果在这样的情况下,车队的经济效益将很难有较大的增长,也将会在激烈的市场竞争中被淘汰。

而从现在开始选用计算机管理模式,用此管理系统进行车队的综合业务的管理,将会带来很大的回报。

下面是开发该系统的技术经济分析:●成本/效益分析车队综合业务管理系统一旦开发成功,投入运行后,所有的信息(车辆档案、驾驶员档案、用车单位档案、任务需求信息、派工单信息、结算信息等)都将录入计算机进行管理,可以对整体的数据有一个宏观的掌控,同时不仅实现了数据的完整性,还在信息的修改、查询等方面节省了财力,提高了效率。

对车队这个整体而言,提高了经济效益。

而软件的开发成本也仅只软件开发费用一次性投入和必须的计算机配置费用,因此,从成本/效益上是可行的。

●管理的可行性车队综合业务管理一旦正式投入运营,它能够根据计算机内的基本信息自动的统计出车队的、驾驶员和车辆的业绩,对于管理者有一定的辅助决策功能。

同时它还能根据统计的时间不同,自动生成报表。

它无形的效益将很快的显现出来。

●操作的可行性本系统是在遵循了原来的操作流程的基础上开发的,因此对于操作人员和管理人员而言,只要会基本的计算机操作,就能很快的掌握本软件的使用方法,并能熟练的操作。

●技术可行性车队综合业务管理系统涉及到的数据量比较大,各个实体之间的联系较紧密,因此采用SQL Server 2000数据库,因为SQL Server2000和Visual C++ 6.0都是微软公司的产品,它们有良好的兼容性。

Visual C++ 6.0是良好的面向对象的开发工具,用其开发的数据库易于操作和维护,因此在技术上也是可行的。

第3章系统总体设计了解系统的功能,系统进行功能分析,建立系统功能模块,建立系统功能图;从实际模型抽象出数学模型,建立数据流图,建立E-R图;建立数据库及表,主键和索引等相关信息。

3.1 系统功能模块3.1.1 登录模块输入正确的用户名和密码后,可进入系统。

有权限设置,不同权限的管理员进入系统后可完成不同的功能:系统管理员进入后能进行所有的操作,非系统管理员不能进入车辆管理系统。

3.1.2 系统模块实现对数据库的备份,恢复备份,系统初始化,密码修改,管理员注册和退出系统的功能。

数据库备份是对数据库的一种保护,将数据备份到一个文件上以免丢失。

恢复备份针对备份而言的,只有你备份以后你才能恢复它。

它主要是将以前保存的数据库信息资料重新调到数据库中。

系统初始化功能,主要针对新加入用户,可以将数据库清空,然后建立自己的数据库资料。

密码修改是用来修改管理员密码的不必多说。

管理员注册就是将管理员用户名和密码一一对应起来。

3.1.3 车辆管理模块实现车辆管理添加,编辑,删除,修改和更新功能。

添加功能:在车辆管理窗口中点添加,文本框才可以进行编辑,否则点击添加以前文本框不可编辑。

将编辑好的信息存入数据库中。

他的过程是先在数据库中加入以调控记录,在建窗口中的信息替换到空记录中。

手动输入车辆编号(在本单位的编号),车牌号,车型号,出厂日期,以及颜色。

本系统还提供了手动查阅车辆信息功能,在后面就会提到,在这里就不多说了。

手动输入查询是通过车辆编码进行输入。

将车辆编号手动输入到车辆货号一栏中,然后就可以查出车辆的型号,颜色,出厂日期等信息进行管理。

编辑功能:在车辆管理过程中往往会有一时疏忽的录入的错误。

这时就用到编辑功能。

此功能就是为此而设立的。

它可以修改口中的任意纪录,修改后单击“更新”进行数据库的更新。

删除功能:在一些情况中,有些车辆已经到了使用年限,所以要对其进行删除处理,在数据库中直接选中你要消除的车辆记录,单击删除即可。

更新数据库:更新数据库是对数据库的一个维护的过程。

一个数据库总是要添加,删除,修改记录。

只有及时地对数据库进行更新操作,你才能看到数据库中的最新资料,才便于管理。

3.1.4 信息查询模块在车辆库存查询中,可以根据车辆编号车辆名和所在系查询车辆信息,也可以查询全部车辆库存;在车辆管理查询中,可以根据车辆编号、车辆名和交易号,也可以查询全部管理信息;在退货查询中,可以查询出当天消退信息,并能打印报表。

3.1.5 业务管理模块业务管理主要就是一些业务上的订单结算。

它包括用车单位,订单号,结算日期,经手人,结算金额。

3.1.6客户管理模块客户管理及对用车客户的综合管理,它可以查看客户信息,包括(客户姓名,单位,用车时间,联系电话,其他联系方式。

)还可以对客户信息进行编辑,添加,删除,更新包括(客户姓名,单位,用车时间,联系电话,其他联系方式。

)。

3.1.7驾驶员管理模块驾驶员管理是对公司职工的一新自然情况的纪录,主要包括姓名,年龄,性别等情况。

3.1.8订单管理模块订单管理是车辆管理中重要的一个部分。

它主要实现根据用车单位的需要进行指派车辆,驾驶员,计算本次用车费用。

它包括(订单编号,车牌号,行程/km,单价/km,总费用,用车时间,客户姓名,地址,联系电话。

)。

3.1.9 系统信息模块在系统信息中包括了对本系统的一些简单的介绍,和如何使用,和版本,版权信息等等。

3.2 系统功能图3.3 数据流程图车辆管理管理系统的详细数据流图:系统,档案管理,车辆管理,驾驶员管理,车辆调度,用车单位,业务管理,系统信息。

1.系统2.3. 车辆管理4.驾驶员管理5.订单管理6.客户管理7.业务管理8.系统信息3.4 E-R图在车辆派遣过程是1对n 的关系。

3.5 数据表在数据库中建立数据表。

本系统共建立6个数据表:(驾驶员信息表),(车辆信息),(用车单位),(派遣单表),(结算表),(管理员密码表)。

1.驾驶员信息表2.车辆信息本表的主要作用是装载车辆的基本信息情况。

3.用车单位本表主要用于装载用车单位提出的用车信息。

4.派遣单表本表主要用于装载所有派工单的信息。

5.结算表本表主要用于装载车队所有的结算凭证。

结算凭证是车队与用车单位业务往来的重要依据。

6.管理员密码表本表主要用于装载所有可以访问本系统的管理员的用户名和密码由于系统管理员拥有是使用本系统所有功能的权利,因此只有在进入本系统后才可以注册新的系统管理员。

第4章具体功能实现首先,创建应用程序对象,然后,对数据库进行操作:创建数据库,创建数据源,定义数据库描述文件,连接数据库。

接着,描述菜单的建立,分别详细的描述主要功能(业务管理,车辆管理,驾驶员管理,订单管理)实现的过程。

最后,简单介绍录入、查询、结算和其他功能实现的过程。

并生成可执行文件。

4.1 应用程序对象应用对象是整个系统的入口点。

整个系统的开发第一步就是创建一个新的工作空间作为整个系统的根基。

创建工作空间的步骤如下:点击应用画板工具条上的new按钮,打开new对话框,打开workspace选项卡,选择workspace,单击OK按钮,即进入workspace保存对话框。

在里面输入工作空间的名字,单击保存按钮,这样就生成了一个工作空间。

工作空间生成后要建立一个应用对象。

单击工具栏上的new 按钮,弹出new 对话框。

选择targ 标签。

选择Applications 图标,单击OK 按钮。

出现的第一个向导画面中的Applications框中键入应用的名字(bookmanager)。

在Library框中输入应用使用的库或者单击右边的按钮进行选择,最后单击Finish按钮即可。

需要设置应用对象的属性:单击主窗口中工具栏的“Open”按钮,VB显示“Open”对话框。

选择“Object Type”下拉列表框中的“Applications”选项,在“Application Libraries”下拉列表框中选择应用对象(bookmanager),单击“OK”按钮,打开“Application”画板,在其中设置Properties:单击“General”选项卡中的“Additional Properties”(附加属性)按钮,VB显示“Application”对话框,打开“Icon”选项卡,设置图标,在“Icon Name”编辑框中输入图标的文件名,或者单击“Browse”按钮,打开“Select Drag Icon”对话框,选择图标文件所在的路径及文件名。

合集下载

车辆销售管理系统课程设计

车辆销售管理系统课程设计

车辆销售管理系统课程设计车辆销售管理系统课程设计随着汽车行业的不断发展,车辆销售管理系统也越来越成为汽车销售企业的重要组成部分。

本文将介绍一种基于Web的车辆销售管理系统的课程设计。

一、系统需求分析1.1 系统功能该系统主要包括以下功能:(1)车辆信息管理:包括车辆基本信息、车辆图片、车辆价格等。

(2)客户信息管理:包括客户基本信息、购车意向、购车时间等。

(3)订单管理:包括订单信息、订单状态、订单金额等。

(4)库存管理:包括车辆库存信息、车辆状态、车辆数量等。

(5)销售统计:包括销售额、销售量、销售排名等。

1.2 系统架构该系统采用B/S架构,即浏览器/服务器架构。

客户端采用浏览器作为用户界面,服务器端采用Java Web技术实现。

1.3 系统设计(1)数据库设计:采用MySQL数据库,设计车辆信息表、客户信息表、订单信息表、库存信息表等。

(2)界面设计:采用Bootstrap框架设计界面,实现响应式布局。

(3)业务逻辑设计:采用Spring MVC框架实现业务逻辑,包括车辆信息管理、客户信息管理、订单管理、库存管理、销售统计等。

二、系统实现2.1 系统环境(1)操作系统:Windows 10(2)开发工具:Eclipse、MySQL Workbench、Tomcat(3)技术框架:Spring MVC、Hibernate、Bootstrap、jQuery2.2 系统功能实现(1)车辆信息管理:实现车辆信息的添加、修改、删除、查询等功能。

(2)客户信息管理:实现客户信息的添加、修改、删除、查询等功能。

(3)订单管理:实现订单信息的添加、修改、删除、查询等功能。

(4)库存管理:实现车辆库存信息的添加、修改、删除、查询等功能。

(5)销售统计:实现销售额、销售量、销售排名等统计功能。

2.3 系统界面实现采用Bootstrap框架设计界面,实现响应式布局,适应不同屏幕大小的设备。

2.4 系统性能测试对系统进行性能测试,测试结果表明系统能够满足正常使用的需求。

课程设计:车辆出入库管理PLC系统设计

课程设计:车辆出入库管理PLC系统设计

目录目录......................... 错误! 未定义书签。

绪论 (2)1.1PLC 的特点 (3)1.2PLC 的基本结构 (4)1.3PLC 的软件系统 (5)1.4PLC 的工作原理 (5)14.1输入采样阶段 (6)1.4.2程序执行阶段 (6)1.4.3输出刷新阶段 (6)车辆出入库管理系统的构成 (8)2.1整体框架. (8)2.2传感器的布置 (8)2.3显示电路. (8)PLC的1/ O端口接线 (10)I/O 口地址分配. (12)硬件的选择 (14)5.1可控编程控制器的选择(PLC) (14)5.2压力传感器的选择 (15)5.3按钮开关的选择 (16)5.4信号灯的选取 (17)5.5导线选择. (17)5.6LED 显示屏的选择 (17)程序设计 (19)6.1课题内容. (19)6.2计数逻辑. (20)6.3程序流程图. (21)6.4梯形图. (23)总结 (28)元器件清单 (30)绪论随着生产力和科学技术的不断发展,人们的日常生活和生产活动大量的使用自动化控制,不仅节约了人力资源,而且很大程度的提高了生产效率,又进一步的促进了生产力快速发展,并不断的丰富着人们的生活。

早期的自动控制系统是依靠继电-接触器来实现的,其特点是:结构简单、价格低廉、抗干扰能力强,可以实现集中控制和远距离控制,但是其采用固定接线,通用性和灵活性差;又采用触点的开关动作,工作频率低,触点易损坏,可靠性差。

1969 年,出现了可编程逻辑控制器PLC( Programmable Logic Controller ) ,其特点是:具备逻辑控制、定时、计数等功能,编程语言采用直观的梯形图语言,软件更改方便,通用性和灵活性好。

目前,可编程控制器PLC 主要是朝着小型化、廉价化、标准化、高速化、智能化、大容量化、网络化的方向发展,与计算机技术相结合,形成工业控制机系统、分布式控制系统DCS(Distributed Control System) 、现场总线控制系统FCS(Field bus Control System) ,这将使PLC 的功能更强,可靠性更高,使用更方便,适用范围更广。

车辆管理课程设计

车辆管理课程设计

车辆管理课程设计一、课程目标知识目标:1. 学生能理解车辆管理的基本概念,掌握车辆分类、车辆登记及车牌发放的相关知识。

2. 学生能了解我国交通法规中关于车辆管理的规定,包括车辆年检、违章处理等内容。

3. 学生掌握车辆保险的种类、作用和办理流程。

技能目标:1. 学生能够运用所学知识,进行简单的车辆分类和登记操作。

2. 学生能够分析实际案例,判断车辆违章行为并给出合理的处理建议。

3. 学生能够为家庭车辆选择合适的保险种类,办理相关保险手续。

情感态度价值观目标:1. 培养学生遵守交通法规,关爱生命,尊重他人的良好道德品质。

2. 增强学生的安全意识,使其具备安全驾驶、文明出行的观念。

3. 激发学生对车辆管理工作的兴趣,培养其从事相关行业的职业素养。

课程性质:本课程属于实用性较强的学科,旨在让学生掌握车辆管理的基本知识和技能,提高其交通安全意识。

学生特点:六年级学生具有一定的认知能力和自主学习能力,对新鲜事物充满好奇,但注意力容易分散。

教学要求:结合学生特点,采用生动形象的教学方法,注重理论与实践相结合,提高学生的学习兴趣和参与度。

通过案例分析、小组讨论等形式,培养学生的实际操作能力和解决问题的能力。

在教学过程中,关注学生的情感态度价值观培养,使其形成正确的交通安全观念。

最终实现课程目标,为学生的未来发展奠定基础。

二、教学内容1. 车辆基本知识:车辆分类、车辆结构、车辆性能参数等,对应教材第一章内容。

2. 车辆登记与管理:车辆登记流程、车牌发放规定、车辆年检制度等,对应教材第二章内容。

3. 交通法规与违章处理:我国交通法规简介、常见违章行为及处理办法、交通安全教育等,对应教材第三章内容。

4. 车辆保险:车辆保险的种类、作用、办理流程及理赔知识,对应教材第四章内容。

5. 实践操作:组织学生进行车辆分类、登记操作练习,分析实际案例,办理车辆保险手续等,结合教材各章节内容进行。

教学大纲安排:第一周:车辆基本知识学习,进行课堂讲解和小组讨论。

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

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

一、问题定义 (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项目背景信息时代的到来意味着工作效率的日渐提高,同时也给车辆管理部门带来更大的压力,管理部门必须及时准确地提供各种参考材料,若无法作到这一点,将成为企业发展、机构运转的瓶颈。

基于这一原因,车辆管理工作无一例外受到领导的高度重视。

随着车辆资料价值的日渐提升,社会对车辆管理部门也提出了更高的要求,对车辆早已不限于“用好”,更多地要求“管好”,车辆资料管理已向前延伸到公文的管理,向后扩展到信息资源的整理、采编、发放。

就在车辆管理部门职能不断扩大、业务不断扩充的同时,机构改革、企业改制等等政策又要求车辆部门精兵简政,缩减日常经费开支,充分利用现有资源产生更多经济效益。

“向管理要效益”已成为车辆部门的运营之本,车辆部门必须提高其自身的管理水平。

“提升车辆管理档次,将车辆交给计算机管理”正在成为一种潮流。

同时,计算机管理突出优势也在影响车辆管理的机制。

以手工检索为目的的著录卡片、目录等,不仅在编制阶段大量占用车辆员的工作时间,检索利用也非常繁琐,缺少经验的车辆员甚至无法在别人编制的目录中查找车辆,更加难以保证“查全率”,使用计算机检索,将彻底解决这一问题;另外,为了保护车辆资料,大中型车辆馆都编制了“二套车辆”,造成保管费用高涨,复印机使车辆复制更加简便,却造成纸张消耗量的剧增,同时,大量复制文件的出现又给车辆管理带来新的安全问题,更与车辆管理的严肃性相抵触,使用计算机查询,将纸载车辆管理与电子车辆利用结合起来,可以完美解决这一难题,大幅度降低车辆管理费用。

c语言车辆管理系统课程设计

c语言车辆管理系统课程设计

#include<stdio.h> 【2 】#include<stdlib.h>#include<string.h>#define MAX 3 /*车库容量*/#define price 0.5 /*每车每分钟费用*/ typedef struct time{int hour;int min;}Time; /*时光结点*/typedef struct node{char num[10];Time reach;Time leave;}CarNode;/*车辆信息结点*/typedef struct NODE{CarNode *stack[MAX + 1];int top;}Moni_Cheku;typedef struct car{CarNode *data;struct car *next;}QueueNode;typedef struct Node{QueueNode *head;QueueNode *rear;}Moni_Biandao;void InitStack(Moni_Cheku *); /*初始化车库*/int InitQueue(Moni_Biandao *);/*初始化便道*/int Arrival(Moni_Cheku *, Moni_Biandao *); /*车辆到达*/ void Leave(Moni_Cheku *, Moni_Cheku *, Moni_Biandao *); /*车辆分开*/void List(Moni_Cheku, Moni_Biandao); /*显示车库和便道的存车信息*/int main(){Moni_Cheku Enter, Temp;Moni_Biandao Wait;int ch;InitStack(&Enter); /*初始化车站*/InitStack(&Temp); /*初始化让路的暂时链表*/InitQueue(&Wait); /*初始化便道*/printf("\n");printf(" ^_^迎接进入泊车场治理体系1!^_^\n");printf("\n");printf("提醒! (1).该车库的最大容量为:%d;\n", MAX); printf(" (2).该车库的收费标准为:%4.2f元/(辆*分钟).\n", price);while (1){system("CLS");printf("********************主菜单********************\n");printf("1.车辆到达");printf(" 2.车辆分开");printf(" 3.列表显示");printf(" 4.退出体系\n");printf("**********************************************\n"); printf("请选择(1-4):[ ]\b\b");while (1){scanf("%d",&ch);if (ch >= 1 && ch <= 4)break;else printf("错误!请重选(1-4):[ ]\b\b");}switch (ch){case 1:Arrival(&Enter, &Wait); break; /*车辆到达*/case 2:Leave(&Enter, &Temp, &Wait); break; /*车辆分开*/ case 3:List(Enter, Wait); break; /*打印列表信息*/case 4:exit(0); /*退出主程序*/default: break;}return 0;}void InitStack(Moni_Cheku *s) /*初始化车库*/{int i;s->top = 0;for (i = 0; i <= MAX; i++)s->stack[s->top] = NULL;}int InitQueue(Moni_Biandao *Q) /*初始化便道*/ {Q->head = (QueueNode *)malloc(sizeof(QueueNode)); if (Q->head != NULL){Q->head->next = NULL;Q->rear = Q->head;return(1);else return(-1);}void PRINT(CarNode *p, int room) /*输出出库车的信息*/{int A1, A2, B1, B2;{printf("请输入分开的时光:/**:**/");scanf("%d:%d", &(p->leave.hour), &(p->leave.min));printf("分开车辆的车商标为:");puts(p->num);printf("其到达时光为: %d:%d\n", p->reach.hour, p->reach.min);printf("分开时光为: %d:%d\n", p->leave.hour, p->leave.min); A1 = p->reach.hour;A2 = p->reach.min;B1 = p->leave.hour;B2 = p->leave.min;printf("应交费用为:%4.2f元", ((B1 - A1) * 60 + (B2 -A2))*price);free(p);}}int Arrival(Moni_Cheku *Enter, Moni_Biandao *W) /*车辆到达*/{CarNode *p;QueueNode *t;p = (CarNode *)malloc(sizeof(CarNode));fflush(stdin);printf("请输入车商标(例如:中CUG888):");scanf("%s",&(p->num));if (Enter->top < MAX) /*车库未满,车进车库*/{Enter->top++;printf("该车在车库地位%d.\n", Enter->top);printf("请输入到达时光(**:**):");scanf("%d:%d", &(p->reach.hour), &(p->reach.min));Enter->stack[Enter->top] = p;return(1);}else /*车库已满,车进便道*/{printf("该车须在便道等待!\n");t = (QueueNode *)malloc(sizeof(QueueNode));t->data = p;t->next = NULL;W->rear->next = t;W->rear = t;return(1);}}void Leave(Moni_Cheku *Enter, Moni_Cheku *Temp, Moni_Biandao *W) /*车辆分开*/{int i, room;CarNode *p, *t;QueueNode *q;/*断定车库内是否有车*/if (Enter->top > 0) /*有车*/{printf("请输入车在车库的地位(1--%d):", Enter->top);/*输入车辆分开的信息*/while (1){scanf("%d", &room);if (room >= 1 && room <= Enter->top) break;else printf("错误!请重选:");}while (Enter->top > room) /*车辆分开*/{Temp->top++;Temp->stack[Temp->top] = Enter->stack[Enter->top];Enter->stack[Enter->top] = NULL;Enter->top--;}p = Enter->stack[Enter->top];Enter->stack[Enter->top] = NULL;Enter->top--;while (Temp->top >= 1){Enter->top++;Enter->stack[Enter->top] = Temp->stack[Temp->top];Temp->stack[Temp->top] = NULL;Temp->top--;}PRINT(p, room); /*断定通道上是否有车及车库是否已满*/if ((W->head != W->rear) && Enter->top < MAX) /*便道的车辆进入车库*/{q = W->head->next;t = q->data;Enter->top++;printf("\n便道的%s号车进入车场第%d地位.", t->num, Enter->top);printf("\n请输入如今的时光(**:**):");scanf("%d:%d", &(t->reach.hour), &(t->reach.min)); W->head->next = q->next;if (q == W->rear) W->rear = W->head;Enter->stack[Enter->top] = t;free(q);}else printf("\n便道里没有车.\n");}else printf("车库里没有车!\n"); /*没车*/}void List1(Moni_Cheku *S) /*列表显示车库信息*/ {int i;if (S->top > 0) /*断定车库内是否有车*/{printf("车库号到达时光 \t车商标\n");for (i = 1; i <= S->top; i++){printf(" %d ", i);printf(" \t%d:%d", S->stack[i]->reach.hour, S->stack[i]->reach.min);printf("\t\t%s\n",S->stack[i]->num);}}else printf("车库里没有车\n");}void List2(Moni_Biandao *W) /*列表显示便道信息*/{QueueNode *p;p = W->head->next;if (W->head != W->rear) /*断定便道上是否有车*/{printf("在便道里等待的车辆的号码为:\n");while (p != NULL){puts(p->data->num);p = p->next;}else printf("便道里没有车.\n");}void List(Moni_Cheku S, Moni_Biandao W) {int flag, tag;flag = 1;while (flag){printf("**********查看**********\n"); printf("1.车库2.便道3.返回\n");printf("************************\n"); printf("请选择(1-3):[ ]\b\b");while (1){scanf("%d", &tag);if (tag >= 1 && tag <= 3) break;else printf("错误!请重选(1-3):[ ]\b\b");switch (tag){case 1:List1(&S);break;/*列表显示车库信息*/ case 2:List2(&W);break; /*列表显示便到信息*/ case 3:flag = 0;break;default:break;}}}。

C 课程设计之车辆管理系统

C 课程设计之车辆管理系统

C++面向对象程序设计课程设计报告课程名称 C++面向对象程序设计课题名称车辆管理系统专业班级学号姓名指导教师年月日(一)、课程设计题目:题目4 车辆管理系统(二)、目的与要求:1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

2、基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;(4)在系统的设计中,至少要用到面向对象的一种机制。

3、创新要求:在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。

(三)、设计方法和基本原理:功能要求:1)添加车辆程序主要完成车辆信息的添加,要求编号唯一。

如果添加了重复编号的物品时,则提示用户数据添加重复并取消添加;如果车辆信息库已满,则提示不能再添加新的车辆信息。

2)查询车辆可按照三种方式进行物品的查询。

·按车辆制造公司查询:·按编号查询:·按类别查询:如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

3)显示车辆信息库可显示当前车辆信息库中所有的车辆信息。

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

5)删除车辆对已添加的车辆信息进行删除。

如果当前车辆信息库为空,则提示“车辆信息库为空!”并返回操作;否则输入要删除的编号,根据编号删除该车辆信息,如果没有找到该车辆信息,则提示“该编号不存在”。

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

7)保存车辆将当前系统中车辆信息存入文件中。

8)读取车辆将保存在文件中的车辆信息读入到当前系统中,以供用户使用。

在完成以上基本功能的基础上,可自行进行扩展或完善。

c语言车辆管理系统课程设计

#include<stdio.h> 之阳早格格创做#include<stdlib.h>#include<string.h>#define MAX 3 /*车库容量*/#define price 0.5 /*每车每分钟费用*/ typedef struct time{int hour;int min;}Time; /*时间结面*/typedef struct node{char num[10];Time reach;Time leave;}CarNode;/*车辆疑息结面*/typedef struct NODE{CarNode *stack[MAX + 1];int top;}Moni_Cheku;typedef struct car{CarNode *data;struct car *next;}QueueNode;typedef struct Node{QueueNode *head;QueueNode *rear;}Moni_Biandao;void InitStack(Moni_Cheku *); /*初初化车库*/int InitQueue(Moni_Biandao *);/*初初化便讲*/int Arrival(Moni_Cheku *, Moni_Biandao *); /*车辆到达*/ void Leave(Moni_Cheku *, Moni_Cheku *, Moni_Biandao *); /*车辆离启*/void List(Moni_Cheku, Moni_Biandao); /*隐现车库战便讲的存车疑息*/int main(){Moni_Cheku Enter, Temp;Moni_Biandao Wait;int ch;InitStack(&Enter); /*初初化车站*/InitStack(&Temp); /*初初化让路的临时链表*/InitQueue(&Wait); /*初初化便讲*/printf("\n");printf(" ^_^欢迎加进停车场管制系统1!^_^\n");printf("\n");printf("提示! (1).该车库的最大容量为:%d;\n", MAX); printf("(2).该车库的支费尺度为:%4.2f元/(辆*分钟).\n", price); while (1){system("CLS");printf("********************主菜单********************\n");printf("1.车辆到达");printf(" 2.车辆离启");printf(" 3.列表隐现");printf(" 4.退出系统\n");printf("********************************************* *\n");printf("请采用(1-4):[ ]\b\b");while (1){scanf("%d",&ch);if (ch >= 1 && ch <= 4)break;else printf("过失!请沉选(1-4):[ ]\b\b");}switch (ch){case 1:Arrival(&Enter, &Wait); break; /*车辆到达*/case 2:Leave(&Enter, &Temp, &Wait); break; /*车辆离启*/ case 3:List(Enter, Wait); break; /*挨印列表疑息*/case 4:exit(0); /*退出主步调*/default: break;}}return 0;}void InitStack(Moni_Cheku *s) /*初初化车库*/{int i;s->top = 0;for (i = 0; i <= MAX; i++)s->stack[s->top] = NULL;}int InitQueue(Moni_Biandao *Q) /*初初化便讲*/{Q->head = (QueueNode *)malloc(sizeof(QueueNode));if (Q->head != NULL){Q->head->next = NULL;Q->rear = Q->head;return(1);}else return(-1);}void PRINT(CarNode *p, int room) /*输出出库车的疑息*/{int A1, A2, B1, B2;{printf("请输进离启的时间:/**:**/");scanf("%d:%d", &(p->leave.hour), &(p->leave.min));printf("离启车辆的车牌号为:");puts(p->num);printf("其到达时间为: %d:%d\n", p->reach.hour, p->reach.min);printf("离启时间为: %d:%d\n", p->leave.hour, p->leave.min);A1 = p->reach.hour;A2 = p->reach.min;B1 = p->leave.hour;B2 = p->leave.min;printf("应接费用为:%4.2f元", ((B1 - A1) * 60 + (B2 - A2))*price);free(p);}}int Arrival(Moni_Cheku *Enter, Moni_Biandao *W) /*车辆到达*/{CarNode *p;QueueNode *t;p = (CarNode *)malloc(sizeof(CarNode));fflush(stdin);printf("请输进车牌号(比方:中CUG888):");scanf("%s",&(p->num));if (Enter->top < MAX) /*车库已谦,车进车库*/{Enter->top++;printf("该车正在车库位子%d.\n", Enter->top);printf("请输进到达时间(**:**):");scanf("%d:%d", &(p->reach.hour), &(p->reach.min));Enter->stack[Enter->top] = p;return(1);}else /*车库已谦,车进便讲*/{printf("该车须正在便讲等待!\n");t = (QueueNode *)malloc(sizeof(QueueNode));t->data = p;t->next = NULL;W->rear->next = t;W->rear = t;return(1);}}void Leave(Moni_Cheku *Enter, Moni_Cheku *Temp, Moni_Biandao *W) /*车辆离启*/{int i, room;CarNode *p, *t;QueueNode *q;/*推断车库内是可有车*/if (Enter->top > 0) /*有车*/{printf("请输进车正在车库的位子(1--%d):", Enter->top);/*输进车辆离启的疑息*/while (1){scanf("%d", &room);if (room >= 1 && room <= Enter->top) break;else printf("过失!请沉选:");}while (Enter->top > room) /*车辆离启*/{Temp->top++;Temp->stack[Temp->top] = Enter->stack[Enter->top];Enter->stack[Enter->top] = NULL;Enter->top--;}p = Enter->stack[Enter->top];Enter->stack[Enter->top] = NULL;Enter->top--;while (Temp->top >= 1){Enter->top++;Enter->stack[Enter->top] = Temp->stack[Temp->top];Temp->stack[Temp->top] = NULL;Temp->top--;}PRINT(p, room); /*推断通讲上是可有车及车库是可已谦*/if ((W->head != W->rear) && Enter->top < MAX) /*便讲的车辆加进车库*/{q = W->head->next;t = q->data;Enter->top++;printf("\n便讲的%s号车加进车场第%d位子.", t->num, Enter->top);printf("\n请输进当前的时间(**:**):");scanf("%d:%d", &(t->reach.hour), &(t->reach.min));W->head->next = q->next;if (q == W->rear) W->rear = W->head;Enter->stack[Enter->top] = t;free(q);}else printf("\n便讲里不车.\n");}else printf("车库里不车!\n"); /*出车*/}void List1(Moni_Cheku *S) /*列表隐现车库疑息*/{int i;if (S->top > 0) /*推断车库内是可有车*/{printf("车库号到达时间 \t车牌号\n");for (i = 1; i <= S->top; i++){printf(" %d ", i);printf(" \t%d:%d", S->stack[i]->reach.hour, S->stack[i]->reach.min);printf("\t\t%s\n",S->stack[i]->num);}}else printf("车库里不车\n");}void List2(Moni_Biandao *W) /*列表隐现便讲疑息*/{QueueNode *p;p = W->head->next;if (W->head != W->rear) /*推断便讲上是可有车*/ {printf("正在便讲里等待的车辆的号码为:\n"); while (p != NULL){puts(p->data->num);p = p->next;}}else printf("便讲里不车.\n");}void List(Moni_Cheku S, Moni_Biandao W){int flag, tag;flag = 1;while (flag){printf("**********查看**********\n");printf("1.车库2.便讲3.返回\n");printf("************************\n");printf("请采用(1-3):[ ]\b\b");while (1){scanf("%d", &tag);if (tag >= 1 && tag <= 3) break;else printf("过失!请沉选(1-3):[ ]\b\b"); }switch (tag){case 1:List1(&S);break;/*列表隐现车库疑息*/case 2:List2(&W);break; /*列表隐现便到疑息*/case 3:flag = 0;break;default:break;}}}。

软件设计课程设计_车辆管理系统

车辆管理系统1.1、需求分析加强对本单位使用车辆的管理,有很多企、事业单位内部设置了专门的车辆管理部门,由专职的管理人员负责车辆的调度、日常保养,但是,随着购买和使用车辆的越来越多,基于目前日常事物管理的手工操作变的很不方便,给车辆管理工作照成困难,传统的管理方式逐渐不再满足现代企业快节奏、高效率的业务要求,如何优化企业车辆配置、提高车辆的使用率、降低维修、油料等费用,已成为现代企业实施车辆管理的难题。

1.2、车辆管理系统的职责:(1) 负责企业公务车的购置,拨入及各种手续的办理。

(2) 有计划合理安排公务车的使用,设专职人员作为公务车管理员负责公务车管理。

(3) 制订车辆年度经费使用计划,掌握车辆运行经费的使用。

(4) 负责车辆的维护、保养及年审、保险、路费的办理。

(5) 负责公务车专职驾驶员的管理。

1.3、车辆管理的基本需求:(1)建立车辆信息库,实现车辆基本情况和驾驶员基本信息的统一管理。

(2)针对每辆车的派车、用车情况进行记录,实现车辆自动调度。

(3)对每辆车的事故、违规情况进行记录。

(4)对每辆车的保险、保养、加油等日常费用情况进行记录。

(5)建立维修情况信息库,针对每辆车的维修情况进行记录。

围绕上述要求,以下介绍如何利用计算机管理信息系统,建立车辆、驾驶员档案,对车辆营运、维修以及燃料消耗进行记录,为专职管理人员对车辆的管理、跟踪车辆的相关信息资料提供极大的方便。

系统不仅合理记录了所有车辆的进出、加油、维修等,还可随时了解每部车的经费支出情况,以及为车辆是否需要大修理和报废提供依据,对有关数据(成本、效益、单车、车型、油耗等)可以进行综合统计分析,生成相关的报表。

2、概要设计:在明确了车辆管理的需求后,为了达到需求所提到的各种目的,首先要对车辆管理系统的数据流进行分析。

包括系统的数据流来源、处理业务处理、数据最终流向。

2.1 基础数据管理基础数据管理部分包括车辆基本信息管理、驾驶员信息管理、所属单位信息管理几部分。

c语言车辆管理系统课程设计

#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAX 3 /*车库容量*/#define price 0.5 /*每车每分钟费用*/ typedef struct time{int hour;int min;}Time; /*时间结点*/typedef struct node{char num[10];Time reach;Time leave;}CarNode;/*车辆信息结点*/typedef struct NODE{CarNode *stack[MAX + 1];int top;}Moni_Cheku;typedef struct car{CarNode *data;struct car *next;}QueueNode;typedef struct Node{QueueNode *head;QueueNode *rear;}Moni_Biandao;void InitStack(Moni_Cheku *); /*初始化车库*/int InitQueue(Moni_Biandao *);/*初始化便道*/int Arrival(Moni_Cheku *, Moni_Biandao *); /*车辆到达*/void Leave(Moni_Cheku *, Moni_Cheku *, Moni_Biandao *); /*车辆离开*/void List(Moni_Cheku, Moni_Biandao); /*显示车库和便道的存车信息*/int main(){Moni_Cheku Enter, Temp;Moni_Biandao Wait;int ch;InitStack(&Enter); /*初始化车站*/InitStack(&Temp); /*初始化让路的临时链表*/InitQueue(&Wait); /*初始化便道*/printf("\n");printf(" ^_^欢迎进入停车场管理系统1!^_^\n");printf("\n");printf("提示! (1).该车库的最大容量为:%d;\n", MAX); printf(" (2).该车库的收费标准为:%4.2f元/(辆*分钟).\n", price);while (1){system("CLS");printf("********************主菜单********************\n");printf("1.车辆到达");printf(" 2.车辆离开");printf(" 3.列表显示");printf(" 4.退出系统\n");printf("**********************************************\n");printf("请选择(1-4):[ ]\b\b");while (1){scanf("%d",&ch);if (ch >= 1 && ch <= 4)break;else printf("错误!请重选(1-4):[ ]\b\b");}switch (ch){case 1:Arrival(&Enter, &Wait); break; /*车辆到达*/case 2:Leave(&Enter, &Temp, &Wait); break; /*车辆离开*/case 3:List(Enter, Wait); break; /*打印列表信息*/case 4:exit(0); /*退出主程序*/default: break;}}return 0;}void InitStack(Moni_Cheku *s) /*初始化车库*/{int i;s->top = 0;for (i = 0; i <= MAX; i++)s->stack[s->top] = NULL;}int InitQueue(Moni_Biandao *Q) /*初始化便道*/{Q->head = (QueueNode *)malloc(sizeof(QueueNode));if (Q->head != NULL){Q->head->next = NULL;Q->rear = Q->head;return(1);}else return(-1);}void PRINT(CarNode *p, int room) /*输出出库车的信息*/ {int A1, A2, B1, B2;{printf("请输入离开的时间:/**:**/");scanf("%d:%d", &(p->leave.hour), &(p->leave.min));printf("离开车辆的车牌号为:");puts(p->num);printf("其到达时间为: %d:%d\n", p->reach.hour, p->reach.min);printf("离开时间为: %d:%d\n", p->leave.hour, p->leave.min);A1 = p->reach.hour;A2 = p->reach.min;B1 = p->leave.hour;B2 = p->leave.min;printf("应交费用为:%4.2f元", ((B1 - A1) * 60 + (B2 - A2))*price);free(p);}}int Arrival(Moni_Cheku *Enter, Moni_Biandao *W) /*车辆到达*/{CarNode *p;QueueNode *t;p = (CarNode *)malloc(sizeof(CarNode));fflush(stdin);printf("请输入车牌号(例如:中CUG888):");scanf("%s",&(p->num));if (Enter->top < MAX) /*车库未满,车进车库*/{Enter->top++;printf("该车在车库位置%d.\n", Enter->top);printf("请输入到达时间(**:**):");scanf("%d:%d", &(p->reach.hour), &(p->reach.min));Enter->stack[Enter->top] = p;return(1);}else /*车库已满,车进便道*/{printf("该车须在便道等待!\n");t = (QueueNode *)malloc(sizeof(QueueNode));t->data = p;t->next = NULL;W->rear->next = t;W->rear = t;return(1);}}void Leave(Moni_Cheku *Enter, Moni_Cheku *Temp, Moni_Biandao *W) /*车辆离开*/{int i, room;CarNode *p, *t;QueueNode *q;/*判断车库内是否有车*/if (Enter->top > 0) /*有车*/{printf("请输入车在车库的位置(1--%d):", Enter->top);/*输入车辆离开的信息*/while (1){scanf("%d", &room);if (room >= 1 && room <= Enter->top) break;else printf("错误!请重选:");}while (Enter->top > room) /*车辆离开*/{Temp->top++;Temp->stack[Temp->top] = Enter->stack[Enter->top];Enter->stack[Enter->top] = NULL;Enter->top--;}p = Enter->stack[Enter->top];Enter->stack[Enter->top] = NULL;Enter->top--;while (Temp->top >= 1){Enter->top++;Enter->stack[Enter->top] = Temp->stack[Temp->top];Temp->stack[Temp->top] = NULL;Temp->top--;}PRINT(p, room); /*判断通道上是否有车及车库是否已满*/if ((W->head != W->rear) && Enter->top < MAX) /*便道的车辆进入车库*/{q = W->head->next;t = q->data;Enter->top++;printf("\n便道的%s号车进入车场第%d位置.", t->num, Enter->top);printf("\n请输入现在的时间(**:**):");scanf("%d:%d", &(t->reach.hour), &(t->reach.min));W->head->next = q->next;if (q == W->rear) W->rear = W->head;Enter->stack[Enter->top] = t;free(q);}else printf("\n便道里没有车.\n");}else printf("车库里没有车!\n"); /*没车*/}void List1(Moni_Cheku *S) /*列表显示车库信息*/{int i;if (S->top > 0) /*判断车库内是否有车*/{printf("车库号到达时间\t车牌号\n");for (i = 1; i <= S->top; i++){printf(" %d ", i);printf(" \t%d:%d", S->stack[i]->reach.hour, S->stack[i]->reach.min);printf("\t\t%s\n",S->stack[i]->num);}}else printf("车库里没有车\n");}void List2(Moni_Biandao *W) /*列表显示便道信息*/ {QueueNode *p;p = W->head->next;if (W->head != W->rear) /*判断便道上是否有车*/ {printf("在便道里等待的车辆的号码为:\n");while (p != NULL){puts(p->data->num);p = p->next;}}else printf("便道里没有车.\n");}void List(Moni_Cheku S, Moni_Biandao W){int flag, tag;flag = 1;while (flag){printf("**********查看**********\n");printf("1.车库2.便道3.返回\n");printf("************************\n");printf("请选择(1-3):[ ]\b\b");while (1){scanf("%d", &tag);if (tag >= 1 && tag <= 3) break;else printf("错误!请重选(1-3):[ ]\b\b");}switch (tag){case 1:List1(&S);break;/*列表显示车库信息*/case 2:List2(&W);break; /*列表显示便到信息*/ case 3:flag = 0;break;default:break;}}}。

长途汽车管理系统数据库课程设计

长途汽车管理系统数据库课程设计一、项目简介长途汽车运输行业一直是一个复杂而庞大的系统,为了更好地管理这个行业中的各种信息和数据,一个高效的长途汽车管理系统数据库是必不可少的。

本课程设计主要围绕着设计一个功能完善、高效可靠的长途汽车管理系统数据库展开,以满足行业需求。

二、数据库设计1. 实体关系模型•车辆信息–车辆ID–车牌号–型号–座位数–车辆状态•司机信息–司机ID–姓名–驾驶证号–联系方式•路线信息–路线ID–起点–终点–里程–途经站点•订单信息–订单ID–乘客姓名–出发时间–到达时间–订单状态2. 数据库表结构设计•车辆表(Vehicles)–车辆ID–车牌号–型号–座位数–车辆状态•司机表(Drivers)–司机ID–姓名–驾驶证号–联系方式•路线表(Routes)–路线ID–起点–终点–里程–途经站点•订单表(Orders)–订单ID–乘客姓名–出发时间–到达时间–订单状态三、数据库功能设计1.查询功能:能够根据各种条件查询车辆、司机、路线以及订单信息。

2.添加功能:能够添加新的车辆、司机、路线和订单信息到数据库中。

3.修改功能:能够修改数据库中的车辆、司机、路线和订单信息。

4.删除功能:能够删除数据库中的车辆、司机、路线和订单信息。

四、数据库操作1.查询所有车辆信息:SELECT*FROM Vehicles;2.查询所有订单信息:SELECT*FROM Orders;3.添加新的路线信息:INSERT INTO Routes (路线ID, 起点, 终点, 里程, 途经站点) VALUES (1, '上海', '北京', 1200, '南京, 郑州');4.修改特定订单的状态:UPDATE Orders SET订单状态='已完成'WHERE订单ID =1;五、总结通过本课程设计,我们设计了一个基于数据库的长途汽车管理系统,包括车辆信息、司机信息、路线信息和订单信息等,实现了查询、添加、修改和删除等功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档