车辆管理系统课程设计报告(C++)

合集下载

车辆管理系统课程设计报告(总21页)

车辆管理系统课程设计报告(总21页)

车辆管理系统课程设计报告(总21页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除一、问题定义 (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课程设计之车辆管理系统

c 课程设计之车辆管理系统一、教学目标本课程的学习目标主要包括知识目标、技能目标和情感态度价值观目标。

通过本课程的学习,学生需要掌握车辆管理系统的相关知识,包括车辆管理的基本概念、车辆管理的流程和方法等。

同时,学生需要具备一定的实际操作能力,能够运用所学知识对车辆进行有效管理。

此外,学生应该树立正确的车辆管理意识,具备良好的道德品质和社会责任感。

二、教学内容本课程的教学内容主要包括车辆管理的基本概念、车辆管理的流程和方法。

具体包括以下几个方面:1. 车辆管理的基本概念:车辆管理的定义、特点和作用;2. 车辆管理的流程:车辆的采购、使用、维护和报废等环节的管理;3. 车辆管理的方法:车辆管理的常用方法和技术,如车辆识别码系统、车辆定位系统等。

三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

1. 讲授法:通过教师的讲解,使学生掌握车辆管理的基本概念和方法;2. 讨论法:通过分组讨论,培养学生的思考能力和团队协作能力;3. 案例分析法:通过分析实际案例,使学生了解车辆管理的具体操作过程;4. 实验法:通过实际操作,锻炼学生的动手能力和实际应用能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备适当的教学资源。

教学资源包括教材、参考书、多媒体资料和实验设备等。

1. 教材:选择权威、实用的教材,为学生提供全面、系统的学习资源;2. 参考书:推荐一些相关领域的参考书,帮助学生拓展知识面;3. 多媒体资料:制作精美的PPT、视频等多媒体资料,提高学生的学习兴趣;4. 实验设备:准备必要的实验设备,为学生提供实践操作的机会。

五、教学评估本课程的教学评估将采用多元化的方式,以全面、客观、公正地评估学生的学习成果。

评估方式包括但不限于以下几个方面:1. 平时表现:通过观察学生在课堂上的参与程度、提问回答等,了解学生的学习态度和理解程度;2. 作业:布置适量的作业,要求学生在规定时间内完成,以检验学生对知识的掌握情况;3. 考试:定期进行考试,以评估学生对课程知识的全面理解和运用能力。

C++程序设计车辆管理系统实验报告

C++程序设计车辆管理系统实验报告

C++程序设计车辆管理系统实验报告附源代码1.实习题目车辆管理系统2.原理概述某运送公司,需要对其下所有旳多种车辆进行管理,拟建立一种车辆管理系统进行管理,该系统可以实现如下功能:(1)运用类、继承旳有关理论知识,建立合理旳类,可以管理至少5种车型,多种车型旳有关数据,根据需要自行设定(1)可以记录出该公司,所有车辆旳累积行驶里程(2)可以分类记录出每一类车辆旳累积行驶里程、资产总额、驾驶员数量等有关信息(3)可以根据驾驶员信息查找该驾驶员驾驶旳车辆旳具体信息(4)可以记录出该公司车辆旳总数额以及每类车辆旳数量(5)可以实现某个类型车辆旳添加和删除(6)其她功能可根据需要自行扩大,并请在课程设计报告中具体阐明!3.设计方案3.1 编程语言C++语言3.2数据构造3.3.系统构造图3.4技术方案先定义构造体类,再将其继承,分别记录车辆信息和车辆编号函数;类旳定义和使用;While函数for循环if判断语句switch循环;文献旳打开与关闭,输入和输出。

3.4流程图车辆信息添加车辆信息查询车辆信息显示车辆信息删除车辆信息记录车辆信息保存车辆信息读取车辆信息打印4.程序编写#include<iostream>#include<fstream>#include<string>using namespace std;#define N 25//车辆极限存储量struct Manager {int num;//车辆编号int pnum;//车牌号string made;//生产厂家string name;//名字int time;//日期double distance;//里程double price;//价格string driver;//驾驶员long long cellphone;//手机号int type;//车型};class Car {private:Manager car[N];int top;//目前车旳数量。

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

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

c语言车辆管理系统课程设计一、课程目标知识目标:1. 学生能掌握C语言基础,包括数据类型、运算符、控制结构等,并运用到车辆管理系统的设计与实现中。

2. 学生能理解并运用数组、结构体等数据结构进行车辆信息的存储与管理。

3. 学生能运用文件操作实现对车辆信息数据的持久化存储。

技能目标:1. 学生能运用C语言编写出功能完整的车辆管理系统,包括车辆信息的添加、删除、查询和修改。

2. 学生通过课程学习,培养编程思维和解决问题的能力,具备一定的系统分析和设计能力。

情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣,形成积极的学习态度和自主探究的精神。

2. 学生通过团队协作完成项目,培养沟通协作能力和集体荣誉感。

3. 学生在课程实践中,体会科技对生活的改变,增强对社会主义核心价值观的认同。

分析课程性质、学生特点和教学要求,将课程目标分解为以下具体学习成果:1. 掌握C语言基础知识,能独立完成车辆管理系统的基础功能编写。

2. 学会使用数据结构进行信息管理,提高代码的可读性和可维护性。

3. 通过项目实践,培养团队协作能力和解决问题的实际操作能力。

二、教学内容1. C语言基础:变量、数据类型、运算符、表达式、控制结构(顺序、选择、循环)。

相关教材章节:第一章至第四章。

2. 函数:函数定义、调用、参数传递、返回值。

相关教材章节:第五章。

3. 数组:一维数组、二维数组、数组操作。

相关教材章节:第六章。

4. 指针:指针的概念、指针操作、指针与数组、指针与函数。

相关教材章节:第七章。

5. 结构体:结构体定义、结构体变量操作、结构体数组、结构体指针。

相关教材章节:第八章。

6. 文件操作:文件打开、关闭、读写、定位。

相关教材章节:第十章。

7. 车辆管理系统设计与实现:系统需求分析、模块划分、功能实现、测试与调试。

教学内容安排:- 系统需求分析与设计:1课时- 车辆信息管理模块实现:2课时- 车辆信息查询模块实现:2课时- 车辆信息添加、删除、修改模块实现:2课时- 系统测试与调试:1课时教学内容确保科学性和系统性,以教材为基础,结合实际案例,使学生能够将所学知识应用于车辆管理系统的设计与实现中。

c课程设计车辆管理系统

c课程设计车辆管理系统

c 课程设计车辆管理系统一、教学目标本课程旨在通过学习车辆管理系统,使学生掌握C语言编程的基本概念和方法,培养学生解决实际问题的能力。

具体目标如下:1.理解C语言的基本语法和数据类型。

2.掌握函数的定义和调用。

3.了解指针的概念和应用。

4.熟悉结构体的定义和使用。

5.掌握文件操作的基本方法。

6.能够使用C语言编写简单的程序。

7.能够运用结构体和指针处理复杂的数据结构。

8.能够使用文件操作实现数据的持久化存储。

9.能够独立分析和解决实际问题,编写相应的车辆管理系统程序。

情感态度价值观目标:1.培养学生的编程兴趣,提高自主学习的积极性。

2.培养学生的团队合作意识,学会与他人分享和交流。

3.培养学生的创新精神,鼓励学生大胆尝试和发现问题。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、函数、指针、结构体和文件操作等。

具体安排如下:1.C语言的基本语法和数据类型:介绍C语言的基本结构和数据类型,包括整型、浮点型、字符型等。

2.函数的定义和调用:讲解函数的声明、定义和调用,包括递归函数和外部函数。

3.指针的概念和应用:介绍指针的基本概念和运算,包括指针的声明、指针的赋值和指针的解引用等。

4.结构体的定义和使用:讲解结构体的定义和使用,包括结构体的声明、结构体的成员访问和结构体的指针等。

5.文件操作的基本方法:介绍文件的打开、关闭、读写等基本操作,包括文本文件和二进制文件的读写。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。

具体方法如下:1.讲授法:通过讲解和示范,使学生掌握C语言的基本概念和方法。

2.讨论法:学生进行小组讨论,培养学生的团队合作意识和问题解决能力。

3.案例分析法:通过分析实际案例,使学生了解C语言在车辆管理系统中的应用。

4.实验法:安排实验室实践,让学生亲自动手编写程序,巩固所学知识。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。

c课程设计车辆管理系统

c课程设计车辆管理系统

c课程设计车辆管理系统一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握车辆管理系统的基本概念、原理和架构;技能目标要求学生能够运用所学知识设计并实现一个简单的车辆管理系统;情感态度价值观目标要求学生培养对车辆管理系统的兴趣,提高解决问题的能力。

二、教学内容本课程的教学内容主要包括车辆管理系统的基本概念、原理和架构,以及设计实现一个简单车辆管理系统的过程。

具体包括以下几个部分:1.车辆管理系统的基本概念:介绍车辆管理系统的定义、功能和应用场景。

2.车辆管理系统的原理:讲解车辆管理系统的运行原理和工作流程。

3.车辆管理系统的架构:介绍车辆管理系统的组成部分及其相互关系。

4.设计实现简单车辆管理系统:引导学生运用所学知识,分组完成一个简单车辆管理系统的设计、编码、测试和调试。

三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法。

讲授法用于讲解基本概念、原理和架构;讨论法用于引导学生深入思考和探讨问题;案例分析法用于分析实际案例,帮助学生理解车辆管理系统的工作原理;实验法用于让学生动手实践,培养实际操作能力。

四、教学资源本课程所需教学资源包括教材、参考书、多媒体资料和实验设备。

教材和参考书用于为学生提供理论知识的支撑;多媒体资料用于辅助教学,提高学生的学习兴趣;实验设备用于开展实验教学,让学生动手实践,培养实际操作能力。

五、教学评估本课程的教学评估采用多元化的方式,包括平时表现、作业、考试等。

平时表现主要评估学生的课堂参与度、提问回答等情况;作业分为平时练习和项目实践,评估学生对知识的理解和应用能力;考试分为期中考试和期末考试,全面测试学生的知识掌握和运用情况。

评估方式应客观、公正,能够全面反映学生的学习成果。

六、教学安排本课程的教学安排如下:共计32课时,每周2课时,共16周完成。

教学地点安排在教室和实验室,以便于学生进行理论学习和实践操作。

车辆管理系统课程设计CSDN

车辆管理系统课程设计CSDN

车辆管理系统课程设计CSDN一、课程目标知识目标:1. 让学生理解车辆管理系统的基本概念,掌握其关键技术与功能模块;2. 使学生掌握数据库管理的基本原理,能运用SQL语句进行数据查询与操作;3. 引导学生了解计算机网络通信技术在车辆管理系统中的应用。

技能目标:1. 培养学生运用编程语言(如Python、Java等)设计并实现车辆管理系统的功能模块;2. 培养学生运用数据库技术进行数据存储、查询、更新与删除等操作;3. 提高学生团队协作能力,能与他人共同完成车辆管理系统的设计与开发。

情感态度价值观目标:1. 激发学生对计算机科学技术的兴趣,培养其探索精神和创新意识;2. 引导学生关注车辆管理系统在实际生活中的应用,提高其社会责任感;3. 培养学生严谨、勤奋的学习态度,使其具备良好的学习习惯。

本课程针对高年级学生,已具备一定的编程基础和数据库知识。

课程性质为理论与实践相结合,注重培养学生的实际操作能力和团队协作能力。

在教学过程中,教师需关注学生的个体差异,提供针对性的指导与帮助,确保学生能够达到预设的课程目标,为后续深入学习计算机科学技术打下坚实基础。

二、教学内容本课程教学内容主要包括以下三个方面:1. 车辆管理系统概述- 了解车辆管理系统的基本概念、发展历程和应用领域;- 学习车辆管理系统的功能模块,如车辆信息管理、驾驶员管理、违章处理等;- 掌握车辆管理系统的关键技术,如GPS定位、GIS地图、数据通信等。

2. 数据库技术与应用- 学习数据库的基本原理,如关系型数据库、SQL语言等;- 掌握数据库设计方法,能根据实际需求设计合理的数据库表结构;- 学习数据库操作,包括数据的增、删、改、查等。

3. 车辆管理系统的设计与实现- 学习编程语言(如Python、Java等)在车辆管理系统中的应用;- 掌握车辆管理系统的开发流程,如需求分析、系统设计、编码实现、测试等;- 学习团队协作开发,提高项目管理和沟通能力。

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

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

c语言课程设计车辆管理系统一、教学目标本课程的目标是让学生掌握C语言的基本语法,能够运用C语言设计一个简单的车辆管理系统。

具体分为以下三个部分:1.知识目标:学生需要掌握C语言的基本语法,理解变量、数据类型、运算符、控制结构等基本概念。

2.技能目标:学生能够运用C语言编写程序,实现对车辆信息的增删改查功能。

3.情感态度价值观目标:培养学生对编程的兴趣,提高学生解决问题的能力,培养学生的团队合作精神。

二、教学内容本课程的教学内容主要包括C语言的基本语法、变量、数据类型、运算符、控制结构等。

具体安排如下:1.第一章:C语言概述,介绍C语言的基本语法和编程环境。

2.第二章:数据类型和变量,讲解整型、浮点型、字符型等数据类型以及变量的使用。

3.第三章:运算符和表达式,介绍算术运算符、关系运算符、逻辑运算符等。

4.第四章:控制结构,讲解顺序结构、选择结构、循环结构等。

5.第五章:函数,介绍函数的定义、声明和调用,以及常用的库函数。

6.第六章:指针,讲解指针的概念和运用,以及指针数组和指向指针的指针。

7.第七章:车辆管理系统,运用所学知识设计一个简单的车辆管理系统。

三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。

1.讲授法:通过讲解C语言的基本语法、数据类型、运算符等概念,使学生掌握基础知识。

2.案例分析法:通过分析实际案例,让学生理解控制结构、函数、指针等知识点在实际编程中的应用。

3.实验法:安排实验课程,让学生动手编写程序,培养实际编程能力。

四、教学资源1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C语言编程思想》3.多媒体资料:PPT课件、教学视频4.实验设备:计算机、编程环境五、教学评估本课程的评估方式包括平时表现、作业、考试等。

具体评估标准如下:1.平时表现:占课程总评的30%,包括课堂参与度、提问回答、小组讨论等。

2.作业:占课程总评的30%,包括课后练习、编程任务等。

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

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

车辆管理系统课程设计报告一、课程目标知识目标:1. 学生能理解车辆管理系统的基本概念,掌握车辆识别、停车计费、车辆导航等核心功能;2. 学生能了解车辆管理系统的应用场景,如停车场、交通管理、物流配送等;3. 学生掌握数据库基础知识,能运用SQL语句进行车辆数据的增删改查操作。

技能目标:1. 学生能运用编程语言(如Python)实现车辆管理系统的基本功能,具备初步的编程实践能力;2. 学生具备分析实际车辆管理问题,提出解决方案并进行系统设计的能力;3. 学生能运用所学知识,完成车辆管理系统的单元测试和集成测试。

情感态度价值观目标:1. 学生培养对车辆管理系统及智能交通领域的好奇心和探索精神,激发学习兴趣;2. 学生通过团队协作完成项目任务,培养沟通与协作能力,增强团队意识;3. 学生了解车辆管理系统在节能减排、缓解交通拥堵等方面的作用,提高社会责任感和使命感。

课程性质:本课程为信息技术与学科融合课程,以项目为导向,注重实践操作和团队合作。

学生特点:八年级学生已具备一定的信息技术基础,对新鲜事物充满好奇,具备初步的编程能力和问题解决能力。

教学要求:结合学生特点,注重理论与实践相结合,以任务驱动的方式引导学生主动探究,培养其创新精神和实践能力。

通过课程学习,使学生在知识、技能和情感态度价值观方面均取得明显成果,为后续学习奠定基础。

二、教学内容1. 车辆管理系统概述:介绍车辆管理系统的定义、发展历程、应用场景及发展趋势,使学生对该领域有整体的认识。

教材章节:《信息技术》第八章第三节2. 车辆管理系统核心技术:讲解车辆识别、停车计费、车辆导航等核心功能的原理及实现方法。

教材章节:《信息技术》第八章第四节3. 数据库基础知识:介绍数据库的基本概念、数据表的设计与创建、SQL语句的编写与执行。

教材章节:《信息技术》第七章4. 编程实践:运用Python编程语言,实现车辆管理系统的基本功能,如车辆信息录入、查询、计费等。

c车辆管理课程设计

c车辆管理课程设计

c 车辆管理课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握车辆管理的基本概念、法规政策和车辆管理流程。

技能目标要求学生能够运用所学知识进行车辆管理的实际操作,如车辆登记、车辆检验、车辆保险等。

情感态度价值观目标要求学生树立正确的车辆管理意识,遵守交通法规,注重车辆安全,培养良好的驾驶习惯。

通过分析课程性质、学生特点和教学要求,明确课程目标,将目标分解为具体的学习成果,以便后续的教学设计和评估。

二、教学内容根据课程目标,选择和教学内容,确保内容的科学性和系统性。

教学大纲如下:1.车辆管理基本概念:介绍车辆管理的定义、作用和重要性。

2.车辆管理法规政策:讲解车辆管理的法律法规,包括《道路交通安全法》、《车辆登记规定》等。

3.车辆管理流程:讲解车辆登记、车辆检验、车辆保险等流程。

4.车辆安全管理:介绍车辆安全管理的知识,包括车辆维护、安全驾驶技巧等。

5.车辆环保管理:介绍车辆环保管理的要求和措施,如排放标准、环保检查等。

教学内容与课本紧密相关,符合教学实际。

三、教学方法选择合适的教学方法,如讲授法、讨论法、案例分析法、实验法等,以激发学生的学习兴趣和主动性。

1.讲授法:用于讲解车辆管理的基本概念、法规政策和车辆管理流程。

2.讨论法:用于讨论车辆管理的相关问题,促进学生思考和交流。

3.案例分析法:分析车辆管理的实际案例,培养学生解决实际问题的能力。

4.实验法:进行车辆管理的实际操作,如车辆登记、车辆检验等,提高学生的实践能力。

教学方法多样化,能够有效激发学生的学习兴趣和主动性。

四、教学资源选择和准备适当的教学资源,包括教材、参考书、多媒体资料、实验设备等。

教学资源应该能够支持教学内容和教学方法的实施,丰富学生的学习体验。

1.教材:选用权威、实用的车辆管理教材,如《车辆管理教程》。

2.参考书:提供相关的参考书籍,如《道路交通安全法》释义、《车辆登记规定》解读等。

C语言课程设计——简易公交车管理系统(数组实现)

C语言课程设计——简易公交车管理系统(数组实现)

/************************** 头文件声明************************************/#include "stdio.h"#include "stdlib.h"#include "string.h"#include "conio.h"/************************** 函数声明************************************/void init(); // 初始化函数void add(); // 信息录入函数void view(); // 信息显示函数void mod(); // 信息修改函数void modmeun(); // 修改菜单void modnavimeun(); // 路线修改菜单void del(); // 信息删除函数void find(); // 信息查询函数void findmeun(); // 查询菜单void findnavi(); // 路线导航查询函数void findnum(); // 路线编号查询函数void findstameun(); // 站台信息查询菜单void findsta(); // 站台信息查询函数void save(); // 信息保存函数void mainmeun(); // 主菜单char Test(char a,char b,char c); // 菜单输入检测函数/************************** 宏定义声明************************************/ #define N 100 // 公交车数量/************************** 结构体定义************************************/ struct station // 途径站点信息{char c[20]; // 站点名称};struct bus // 公交车信息{char num[20]; // 公交车路线编号char name[20]; // 司机姓名int n; // 站台数目struct station b[12]; // 站台名称char topen[20]; // 起始时间char tclose[20]; // 终止时间int money; // 票价}a[N];/************************** 函数定义************************************/int main(){char a;init();printf("\n\t\t 目前所能录入的公交车数量上限为%d 辆\n\n",N);printf("\n\t\t 输入回车键继续\n");fflush(stdin); // 清除键盘缓冲区while(1){system("cls");mainmeun();a=Test(getchar(),'1','6'); // 菜单检测输入函数switch(a){case '1': system("cls"); add(); break;case '2': system("cls"); view(); break;case '3': system("cls"); mod(); break;case '4': system("cls"); del(); break;case '5': system("cls"); find(); break;case '6': return 0;}}return 0;}void init() // 初始化函数{FILE *fp; // 文件指针int i;if((fp=fopen("bus.txt","r+"))==NULL) // 初次尝试打开"bus.txt" 文本文件{printf("\n\t\t 文件打开失败\n\n\t\t 正在尝试创建新文件...\n");fp=fopen("bus.txt","w"); // 创建"bus.txt" 文本文件if((fp=fopen("bus.txt","r+"))==NULL) // 再次判断是否打开成功{printf("\t\t 文件创建失败!!!\n");return;}}fp=fopen("bus.txt","r+");for(i=0;i<N;i++) // 将磁盘中的信息输出到内存中if(fread(&a[i],sizeof(struct bus),1,fp)!=1)break;fclose(fp);printf("\n\t\t 初始化完成!!!\n\n");return;}void add() // 信息录入函数{FILE *fp=NULL; // 文件指针int i,j;char cc[20];for(i=0;i<N;i++){if(*a[i].num!='\0')continue;else{printf("\n 添加第%d辆公交车路线记录:\n",i+1);printf("\n 请输入路线编码(3 位编码,第一位为大写字母,后两位为数字):\n"); // 路线编码scanf("%s",cc);for(j=0;j<N;j++)// 检验是否重复if(strcmp(a[j].num,cc)==0){printf("\n 与已有路线编码重复,按回车键返回!!!\n");fflush(stdin); // 清除键盘缓冲区getchar();system("cls");return;}strcpy(a[i].num,cc);printf("\n 请输入司机姓名: ");// 司机姓名scanf("%s",a[i].name);printf("\n 请输入途径站台总数(>=2): ");// 站台总数scanf("%d",&a[i].n);printf("\n");if(a[i].n<2||a[i].n>12){while(a[i].n<2||a[i].n>12){printf("\n 站台总数应满足(2<=n<=12) ,请重新输入: ");scanf("%d",&a[i].n);printf("\n");}}for(j=0;j<a[i].n;j++){printf(" 请输入第%d个站台名称: ",j+1); // 站台名称scanf("%s",a[i].b[j].c);}printf("\n 自动生成公交路线:(1) %s",a[i].b[0].c);for(j=1;j<a[i].n;j++){printf(" ----> (%d) %s",j+1,a[i].b[j].c);}printf("\n\n 请输入公交车的起始时间( 格式为:时: 分): "); // 起始时间scanf("%s",a[i].topen);printf(" 请输入公交车的终止时间( 格式为:时: 分): "); // 终止时间scanf("%s",a[i].tclose);printf("\n 请输入公交车的票价: "); // 票价scanf("%d",&a[i].money);printf("\n 第%d辆公交车路线记录创建成功!!!\n",i+1);save();printf("\n\t 按回车键返回!!!\n");fflush(stdin); // 清除键盘缓冲区getchar();system("cls");return;}}if(i==N)printf("\n\n\n\t 空间已满,不能录入!!!\n");printf("\n\t 按回车键返回!!!\n");fflush(stdin); // 清除键盘缓冲区getchar();system("cls");return;}void view() // 信息显示函数{int i,j,min;struct bus t;for(i=0;*a[i].num!='\0'&&i<N;i++) // 按“路线编号”用选择法排序{min=i;for(j=i+1;*a[j].num!='\0'&&j<N;j++)if(strcmp(a[i].num,a[j].num)>0)min=j;t=a[i];a[i]=a[min];a[min]=t;}printf("\n\n 公交车信息库");printf("\n********************************************************************************\n");for(i=0;*a[i].num!='\0'&&i<N;i++){printf("\t 路线编号: %-6s\t 单程票价: %d 元\t\t 司机姓名: %s\n",a[i].num,a[i].money,a[i].name);printf("\t 起始时间: %-6s\t 终止时间: %-6s\t 站台总数: %d\n",a[i].topen,a[i].tclose,a[i].n);printf("\t 公交路线:(1) %s",a[i].b[0].c);for(j=1;j<a[i].n;j++)printf(" ---->(%d) %s",j+1,a[i].b[j].c);printf("\n\n");}printf("\n********************************************************************************\n");printf("\n\t\t 公交车信息显示完毕!!!\n");printf("\n\t\t 输入回车键返回主菜单:");fflush(stdin); // 清除键盘缓冲区getchar();system("cls");return;}void mod() // 信息修改函数{int i,j,m=0;char t,cc[20],mod[20];printf(" 请输入要修改信息的公交车路线编号:\n");scanf("%s",cc);for(i=0;*a[i].num!='\0'&&i<N;i++) // 查找所输入的公交车{if(strcmp(a[i].num,cc)==0){m=1;printf("\n\n\t\t 已找到!!!\n");while(1){system("cls");printf("\n\n 正在修改的公交车信息\n");printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - \n");printf("\t 路线编号: %-6s\t 单程票价: %d 元\t\t 司机姓名: %s\n",a[i].num,a[i].money,a[i].name);printf("\t 起始时间: %-6s\t 终止时间: %-6s\t 站台总数: %d\n",a[i].topen,a[i].tclose,a[i].n);printf("\t 公交路线:(1) %s",a[i].b[0].c);for(j=1;j<a[i].n;j++)printf(" ---->(%d) %s",j+1,a[i].b[j].c);printf("\n\n");printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - \n\n");modmeun();fflush(stdin); // 清除键盘缓冲区t=Test(getchar(),'1','5'); // 菜单检测输入函数system("cls");switch(t){case '1': // 修改路线编号{int k;printf("\n 请输入新的公交车编号:");scanf("%s",mod);for(k=0;*a[k].num!='\0'&&k<N;k++){if(strcmp(a[k].num,mod)==0){printf(" 与已有编号重复, 按回车键返回主菜单\n");fflush(stdin); // 清除键盘缓冲区getchar();system("cls");return;}}strcpy(a[i].num,mod);save();break;}case '2': // 修改车辆信息{printf("\n 请输入新的司机姓名:");scanf("%s",a[i].name);printf("\n 请输入新的公交车票价:");scanf("%d",&a[i].money);save();break;}case '3': // 修改行车路线{void modnavimeun(); // 路线修改菜单int k;char z;while(1){system("cls");modnavimeun();fflush(stdin); // 清除键盘缓冲区z=Test(getchar(),'1','5'); // 菜单检测输入函数system("cls");switch(z){case '1': // 添加站点{if(a[i].n+1>12) // 判断是否满足条件{printf("\n 站台总数达到12个,无法添加新站点\n\n 按回车键返回\n");fflush(stdin);// 清除键盘缓冲区getchar();system("cls");return;}printf("\n 请输入需要添加第几个站点:");scanf("%d",&k);while(a[i].n+1<k){printf(" 目前共%d个站点,无法添加第%d个站点\n 请重新输入:",a[i].n,k);scanf("%d",&k);printf("\n");}a[i].n=a[i].n+1;for(j=a[i].n;j>k-1;j--){a[i].b[j]=a[i].b[j-1];}printf("\n 请输入新添加的站点名称:");scanf("%s",a[i].b[k-1].c);save();break;}case '2': // 修改站点{printf("\n 请输入需要修改第几个站点:");scanf("%d",&k);printf("\n 请输入新的站点名称:");scanf("%s",a[i].b[k-1].c);save();break;}case '3': // 删除站点{printf("\n 请输入需要删除第几个站点:");scanf("%d",&k);for(j=k-1;j<a[i].n;j++){a[i].b[j]=a[i].b[j+1];}a[i].n=a[i].n-1;save();break;}case '4': // 重置路线{printf("\n 请输入新的途径站台总数(2<=n<=12): ");scanf("%d",&a[i].n);printf("\n");while(a[i].n<2||a[i].n>12) // 判断是否满足条件{printf("\n 站台总数应满足(2<=n<=12) ,请重新输入: ");scanf("%d",&a[i].n);printf("\n");}for(j=0;j<a[i].n;j++){printf(" 请输入新的第%d个站台名称:",j+1);scanf("%s",a[i].b[j].c);}printf("\t 公交路线:(1) %s",a[i].b[0].c);for(j=1;j<a[i].n;j++)printf(" ---->(%d) %s",j+1,a[i].b[j].c);printf("\n\n");save();break;}case '5': // 返回菜单{printf("\n\t\t 按回车键返回菜单\n");fflush(stdin); //清除键盘缓冲区getchar();system("cls");return; // 返回主菜单}}}}case '4': // 修改行车时间{printf("\n\n 请输入公交车的起始时间( 格式为:时: 分): ");scanf("%s",a[i].topen);printf(" 请输入公交车的终止时间( 格式为:时: 分): ");scanf("%s",a[i].tclose);save();break;}case '5':{printf("\n\t\t 按回车键返回主菜单\n");fflush(stdin); // 清除键盘缓冲区getchar();system("cls");return; // 返回主菜单}}}}}if(m==0)printf("\n\n\t\t 无此公交车信息!!!\n");printf("\n\t\t 按回车键返回\n");fflush(stdin); // 清除键盘缓冲区getchar();system("cls");return;}void modmeun() // 修改菜单{printf("\n\t\t 修改菜单");printf("\n\t\t********************************************");printf("\n\t\t* 1 、修改路线编号*");printf("\n\t\t* 2 、修改车辆信息*");printf("\n\t\t* 3 、修改行车路线*");printf("\n\t\t* 4 、修改行车时间*");printf("\n\t\t* 5 、返回到主菜单*");printf("\n\t\t********************************************");printf("\n\n\t\t 请输入您的选择:");}void modnavimeun() // 路线修改菜单{printf("\n\t\t 路线修改菜单");printf("\n\t\t********************************************");printf("\n\t\t* 1 、站点添加*");printf("\n\t\t* 2 、站点修改*");printf("\n\t\t* 3 、站点删除*");printf("\n\t\t* 4 、路线重置*");printf("\n\t\t* 5 、返回菜单*");printf("\n\t\t********************************************");printf("\n\n\t\t 请输入您的选择:");}void del() // 信息删除函数{int i,j,t,m=0;char cc[20];printf("\n 请输入要删改信息的公交车路线编号:\n");scanf("%s",cc);for(i=0;*a[i].num!='\0'&&i<N;i++) // 查找所输入的公交车{if(strcmp(a[i].num,cc)==0){m=1;printf("\n 已找到:\n");printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - \n");printf("\t 路线编号: %-6s\t 单程票价: %d 元\t\t 司机姓名: %s\n",a[i].num,a[i].money,a[i].name);printf("\t 起始时间: %-6s\t 终止时间: %-6s\t 站台总数: %d\n",a[i].topen,a[i].tclose,a[i].n);printf("\t 公交路线:(1) %s",a[i].b[0].c);for(j=1;j<a[i].n;j++)printf(" ---->(%d) %s",j+1,a[i].b[j].c);printf("\n\n");printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - \n\n");printf(" 即将删除该公交车信息!!!\n 确定请按1:");scanf("%d",&t);if(t==1){if(i+1==N)memset(&a[i],'\0',sizeof(struct bus)); // 最后一辆直接进行清空elsefor(j=i;*a[j].num!='\0'&&j+1<N;j++) // 后面的公交车信息补上删去的公家车信息a[j]=a[j+1];printf(" 编号为%s的公交车信息删除完毕!\n",cc);save();break;}}}if(m==0)printf("\n\n\t\t 无此公交车信息!!!\n");printf("\n\n\t 输入回车键返回主菜单:");fflush(stdin); // 清除键盘缓冲区getchar();system("cls");return;}void find() // 信息查询函数{char t;while(1){findmeun();fflush(stdin); // 清除键盘缓冲区t=Test(getchar(),'1','4'); // 菜单检测输入函数switch(t){case '1': system("cls"); findnavi();break; // 路线导航查询case '2': system("cls"); findnum();break; // 路线编号查询函数case '3': system("cls"); findsta();break; // 站台信息查询函数case '4': system("cls"); return; // 返回主菜单}}return;}void findmeun() // 查询菜单{printf("\n\t\t 查询菜单");printf("\n\t\t********************************************");printf("\n\t\t* 1 、路线导航查询*");printf("\n\t\t* 2 、路线编号查询*");printf("\n\t\t* 3 、站台信息查询*");printf("\n\t\t* 4 、返回到主菜单*");printf("\n\t\t********************************************");printf("\n\n\t\t 请输入您的选择:");}void findnavi() // 路线导航查询函数{int i,j,k,m=0;char c1[20],c2[20];printf(" 请输入您目前所在的站点:\n\t\t");scanf("%s",c1);printf(" 请输入您想要前往的站点:\n\t\t");scanf("%s",c2);printf("\n\n 您可选择的公交车信息如下\n");printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - \n");for(i=0;*a[i].num!='\0'&&i<N;i++){for(j=0;j<a[i].n;j++)for(k=j+1;k<a[i].n;k++)if(strcmp(a[i].b[j].c,c1)==0&&strcmp(a[i].b[k].c,c2)==0){m=1;printf("\n");printf("\t 路线编号: %-6s\t 单程票价: %d 元\t\t 司机姓名: %s\n",a[i].num,a[i].money,a[i].name);printf("\t 起始时间: %-6s\t 终止时间: %-6s\t 站台总数: %d\n",a[i].topen,a[i].tclose,a[i].n);printf("\t 公交路线:(1) %s",a[i].b[0].c);for(j=1;j<a[i].n;j++)printf(" ---->(%d) %s",j+1,a[i].b[j].c);printf("\n\n");}}printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - \n\n");printf("\t\t\t\t 显示完毕\n");if(m==0)printf("\n\n\t\t\t\t 抱歉, 无途径此路线的公交车\n");printf("\n\t\t\t\t 输入回车键返回查询菜单:");fflush(stdin); // 清除键盘缓冲区getchar();system("cls");return;}void findnum() // 路线编号查询函数{int i,j,m=0;char cc[20];printf(" 请输入您想要查找的公交路线编号:\n");scanf("%s",cc);for(i=0;*a[i].num!='\0'&&i<N;i++){if(strcmp(a[i].num,cc)==0){m=1;printf("\n 已找到:\n");printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - \n");printf("\t 路线编号: %-6s\t 单程票价: %d 元\t\t 司机姓名: %s\n",a[i].num,a[i].money,a[i].name);printf("\t 起始时间: %-6s\t 终止时间: %-6s\t 站台总数: %d\n",a[i].topen,a[i].tclose,a[i].n);printf("\t 公交路线:(1) %s",a[i].b[0].c);for(j=1;j<a[i].n;j++)printf(" ---->(%d) %s",j+1,a[i].b[j].c);printf("\n\n");printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - \n\n");break;}}if(m==0)printf("\n\t\t 无此公交车信息\n");printf("\n\t\t 输入回车键返回查询菜单:");fflush(stdin); // 清除键盘缓冲区getchar();system("cls");return;}void findstameun() // 站台信息查询菜单{printf("\n\t\t 站台信息查询菜单");printf("\n\t\t********************************************");printf("\n\t\t* 1 、起始站台查询*");printf("\n\t\t* 2 、终止站台查询*");printf("\n\t\t* 3 、途径站台查询*");printf("\n\t\t* 4 、返回查询菜单*");printf("\n\t\t********************************************");printf("\n\n\t\t 请输入您的选择:");}void findsta() // 站台信息查询函数{int i,j,k;char t;char cc[20];while(1){int m=0;findstameun();fflush(stdin); // 清除键盘缓冲区t=Test(getchar(),'1','4'); // 菜单检测输入函数system("cls");switch(t){case '1':{printf(" 请输入您所要查询的起始站台名称:\n");scanf("%s",cc);printf("\n 以%s为起始站台的公交车如下:\n",cc);printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - \n");for(i=0;*a[i].num!='\0'&&i<N;i++){if(strcmp(a[i].b[0].c,cc)==0){m=1;printf("\n");printf("\t 路线编号: %-6s\t 单程票价: %d 元\t\t 司机姓名: %s\n",a[i].num,a[i].money,a[i].name);printf("\t 起始时间: %-6s\t 终止时间: %-6s\t 站台总数: %d\n",a[i].topen,a[i].tclose,a[i].n);printf("\t 公交路线:(1) %s",a[i].b[0].c);for(j=1;j<a[i].n;j++)printf(" ---->(%d) %s",j+1,a[i].b[j].c);printf("\n\n");}}printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - \n\n");printf("\t 已全部显示完毕!!!\n");if(m==0)printf("\n\t 没有公交车以该站点为起始站台\n");break;}case '2':{printf(" 请输入您所要查询的终止站台名称:\n");scanf("%s",cc);printf("\n 以%s为终止站台的公交车如下:\n",cc);printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - \n");for(i=0;*a[i].num!='\0'&&i<N;i++){k=a[i].n;if(strcmp(a[i].b[k-1].c,cc)==0){m=1;printf("\n");printf("\t 路线编号: %-6s\t 单程票价: %d 元\t\t 司机姓名: %s\n",a[i].num,a[i].money,a[i].name);printf("\t 起始时间: %-6s\t 终止时间: %-6s\t 站台总数: %d\n",a[i].topen,a[i].tclose,a[i].n);printf("\t 公交路线:(1) %s",a[i].b[0].c);for(j=1;j<a[i].n;j++)printf(" ---->(%d) %s",j+1,a[i].b[j].c);printf("\n\n");}}printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - \n\n");printf("\t 已全部显示完毕!!!\n");if(m==0)printf("\n\t 没有公交车以该站点为起始站台\n");break;}case '3':{printf(" 请输入您所要查询的途径站台名称:\n");scanf("%s",cc);printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - \n");for(i=0;*a[i].num!='\0'&&i<N;i++)for(k=1;k<a[i].n-1;k++)if(strcmp(a[i].b[k].c,cc)==0){m=1;printf("\n");printf("\t 路线编号: %-6s\t 单程票价: %d 元\t\t 司机姓名: %s\n",a[i].num,a[i].money,a[i].name);printf("\t 起始时间: %-6s\t 终止时间: %-6s\t 站台总数: %d\n",a[i].topen,a[i].tclose,a[i].n);printf("\t 公交路线:(1) %s",a[i].b[0].c);for(j=1;j<a[i].n;j++)printf(" ---->(%d) %s",j+1,a[i].b[j].c);printf("\n\n");}printf("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - \n\n");printf("\t 已全部显示完毕!!!\n");if(m==0)printf("\n\t 没有公交车以该站点为途径站台\n");break;}case '4':{printf("\n\t\t 按回车键返回查询菜单\n");fflush(stdin); // 清除键盘缓冲区getchar();system("cls");return; // 返回主菜单}fflush(stdin); // 清除键盘缓冲区getchar();system("cls");}}return;}void save() // 信息保存函数{FILE *fp=NULL;int i;if((fp=fopen("bus.txt","w+"))==NULL) // 以读写的方式打开名称为"bus" 的文本文件{printf(" 文件打开错误!!!\n");return;}fp=fopen("bus.txt","w+");for(i=0;*a[i].num!='\0'&&i<N;i++) // 将内存中的数据输出到磁盘中if(fwrite(&a[i],sizeof(struct bus),1,fp)!=1)break;printf("\n\t 保存成功!!!\n");fclose(fp);return;}void mainmeun() // 主菜单{printf("\n\t\t 主菜单");printf("\n\t\t****************************************");printf("\n\t\t* 1 、信息录入*");printf("\n\t\t* 2 、信息显示*");printf("\n\t\t* 3 、信息修改*");printf("\n\t\t* 4 、信息删除*");printf("\n\t\t* 5 、信息查询*");printf("\n\t\t* 6 、退出系统*");printf("\n\t\t****************************************");printf("\n\n\t\t\t 请输入您的选择:");}// 菜单输入检测函数char Test(char a,char b,char c){while(a<b||a>c){printf("\n\t\t\t 输入错误,请重新输入: ");fflush(stdin); // 清除键盘缓冲区a=getchar();}return a;}。

车辆管理系统c课程设计

车辆管理系统c课程设计

车辆管理系统c 课程设计一、课程目标知识目标:1. 理解车辆管理系统的基本概念、功能及作用;2. 掌握车辆管理系统中数据库的建立、查询及更新方法;3. 学会分析并解决车辆管理系统中存在的问题。

技能目标:1. 能够运用C语言编写简单的车辆管理系统功能模块;2. 能够利用数据库技术对车辆信息进行有效管理;3. 能够通过实际操作,熟练使用车辆管理系统进行日常业务处理。

情感态度价值观目标:1. 培养学生对车辆管理系统及其实际应用的兴趣,提高学习积极性;2. 培养学生团队协作意识,学会与他人共同解决问题;3. 培养学生具备良好的信息素养,认识到信息技术在现实生活中的重要作用。

课程性质:本课程为信息技术学科,旨在让学生通过学习车辆管理系统,掌握数据库应用和C语言编程技能。

学生特点:学生处于高年级阶段,具备一定的信息技术基础,具有较强的逻辑思维能力和自主学习能力。

教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的主观能动性,提高学生的实践操作能力和创新意识。

通过分解课程目标为具体学习成果,使学生在课程学习过程中不断提升自身能力,为后续教学设计和评估提供有力依据。

二、教学内容1. 车辆管理系统的基本概念与功能- 系统介绍:理解车辆管理系统的定义、分类及应用场景;- 功能模块:掌握车辆管理系统的主要功能模块及其相互关系。

2. 数据库技术在车辆管理系统中的应用- 数据库设计:学习如何建立车辆信息数据库,包括表结构设计、关系定义等;- 数据操作:掌握数据库的基本查询、更新、删除等操作。

3. C语言编程在车辆管理系统中的应用- 编程基础:回顾C语言基本语法和编程技巧;- 功能实现:学习使用C语言编写车辆管理系统中的功能模块。

4. 车辆管理系统的实践操作- 案例分析:分析实际车辆管理系统案例,了解系统在实际中的应用;- 实操演练:通过实际操作,学会使用车辆管理系统进行业务处理。

5. 教学内容的安排与进度- 第一周:车辆管理系统基本概念与功能模块介绍;- 第二周:数据库设计与数据操作;- 第三周:C语言编程基础及功能实现;- 第四周:实践操作及案例分析。

车辆管理系统报告

车辆管理系统报告

车辆管理系统报告1. 引言车辆管理是现代社会中一个重要的组成部分,对于许多企业和组织来说,有效地管理车辆是确保顺利运营的关键。

为了提高车辆管理的效率和准确性,许多企业开始采用车辆管理系统来进行车辆信息的记录和管理。

本报告旨在介绍车辆管理系统的功能和优势,并分析其在提高车辆管理效率方面的贡献。

2. 车辆管理系统的功能2.1 车辆信息管理车辆管理系统可以帮助用户录入和管理车辆的基本信息,包括车牌号码、车辆型号、颜色等。

通过系统的数据库,用户可以方便地查询和更新车辆信息。

2.2 车辆维修记录车辆管理系统还可以记录和管理车辆的维修记录。

当车辆需要维修时,用户可以在系统中创建维修记录,并记录维修的时间、费用和维修内容。

这样一来,用户可以轻松地跟踪和分析车辆维修情况,以及统计维修费用。

2.3 车辆预订和调度车辆管理系统还可以实现车辆的预订和调度功能。

用户可以在系统中预订需要使用的车辆,并安排具体的使用时间和地点。

当其他用户需要使用同一辆车时,系统可以自动进行调度,确保车辆的合理利用和高效分配。

2.4 车辆使用统计车辆管理系统可以对车辆的使用情况进行统计和分析。

用户可以通过系统生成的报表和图表,了解每辆车的使用频率、使用时长和行驶里程等信息。

这些统计数据可以帮助用户评估车辆的使用效果,优化车辆调度策略,降低成本和提高效益。

3. 车辆管理系统的优势3.1 提高管理效率车辆管理系统可以极大地提高车辆管理的效率。

通过自动化的数据录入和查询功能,用户可以大大减少手动操作和信息搜索的时间。

此外,系统还可以自动生成报表和统计分析,减轻用户的工作负担,并提供全面的数据支持。

3.2 简化流程借助车辆管理系统,用户可以简化车辆管理流程。

传统的车辆管理可能需要大量的纸质记录和手动操作,容易出现信息遗漏和错误。

而车辆管理系统可以帮助用户实现信息的集中管理,减少重复劳动,并保证数据的准确性和完整性。

3.3 提升安全性车辆管理系统还可以提升车辆使用的安全性。

C#和sql设计的 车辆管理系统 课程设计报告,附带代码

C#和sql设计的 车辆管理系统 课程设计报告,附带代码

课程设计课程设计名称:车辆系统的管理与调度专业班级:计科0802班****:**学号: ****************:***课程设计时间:2011年06月30日计算机科学与技术专业课程设计任务书说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页1 需求分析本课程设计要求了解车辆管理系统的过程,要求对车辆的管理有一定的理解,并进一步加深对车辆运作的实现和理解。

要求用C#语言和SQL SERVER 2000实现车辆相关信息记录和调度。

要求建立一个数据库,然后用C#编程序,编号后要求把数据库与程序连接起来,组成一个大模块。

车辆管理过程中涉及车辆的添加、删除、修改,驾驶员的添加、删除、修改,车场的添加、删除、修改,其中当实现车辆调度时能顺利完成要求,另外系统还可以实现修改用户,修改密码等功能。

2 概要设计本系统要求建立六个表,分别包括用户信息,车辆信息,驾驶员信息,车辆调度信息,车辆预约信息,车辆库存信息。

在设计程序的时候要求完成的模块有(1)设计车辆信息,包括车辆信息维护和查询;(2)设计驾驶员信息,包括驾驶员信息维护和查询;(3)设计车场信息,包括车场信息维护和查询;(4)设计车辆调度;(5)实现系统界面,包括用户管理,修改密码,退出。

在实现功能的时候要连接数据库,充分利用数据库中的数据。

3 运行环境Windous XP系统4 开发工具和编程语言Microsoft Visaul Stadio 2008Microsoft Sql Server 20005 详细设计(!)首先建立一个数据库,在数据库中建立所需要的表,建立过程大概如下:CREATE TABLE [dbo].[UserInfo] ([UserID] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,[UserName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,[passwod] [varchar] (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,[UserLevel] [char] (1) COLLATE Chinese_PRC_CI_AS NULL) ON [PRIMARY]CREATE TABLE [dbo].[CarInfo] ([CarID] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,[CarType] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [CarDriver] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL , [CarColor] [char] (5) COLLATE Chinese_PRC_CI_AS NULL ,[Carbuytime] [datetime] NULL ,[CarLoad] [int] NULL) ON [PRIMARY]CREATE TABLE [dbo].[CarOut] ([OutID] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,[OutCarID] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,[CarOutTime] [datetime] NOT NULL ,[CarInTime] [datetime] NOT NULL ,[Outfee] [money] NOT NULL) ON [PRIMARY]CREATE TABLE [dbo].[Driver] ([DriverID] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,[DriverName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [DriverSex] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL , [DriverLevel] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,[DriverAddress] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [DriverPhone] [char] (11) COLLATE Chinese_PRC_CI_AS NULL ,[worktime] [datetime] NULL) ON [PRIMARY]CREATE TABLE [dbo].[OrderInfo] ([OrderID] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,[OrderCarID] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,[OrderPersonName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,[OrderTime] [datetime] NOT NULL ,[OrderReason] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]CREATE TABLE [dbo].[StopPlace] ([SpID] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,[SpName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,[SpLocation] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,[bigcarnum] [int] NOT NULL ,[mediumcarnum] [int] NOT NULL ,[smallcarnum] [int] NOT NULL) ON [PRIMARY](2)程序中各模块如下:1. namespace DA模块public DataTable CarInfoSelectAll(){ using (SqlConnection conn = DABase.CreateConnection()){ if (ConnectionState.Closed == conn.State){ conn.Open();}using (SqlCommand cmd = conn.CreateCommand()){ mandType = CommandType.StoredProcedure; mandText = "CarInfoSelectAll";try{ SqlDataAdapter Adapter = new SqlDataAdapter(cmd); DataSet ds = new DataSet();Adapter.Fill(ds);conn.Close();return ds.Tables[0];}catch (SqlException sqlEx){ throw sqlEx;}}}}public CarInfoModule CarInfoSelectOne(String CarID){ using (SqlConnection conn = DABase.CreateConnection()){ if (ConnectionState.Closed == conn.State){ conn.Open();}using (SqlCommand cmd = conn.CreateCommand()){ mandType = CommandType.StoredProcedure;mandText = "CarInfoSelectOne";#region 添加存储过程参数cmd.Parameters.AddWithValue("@CarID", CarID);//车辆标号#endregion try{ SqlDataReader dr = cmd.ExecuteReader();if (dr.HasRows == false){ dr.Close();return null;}CarInfoModule CarMod = new CarInfoModule();dr.Read();#region 读取字段值CarMod.CarID = CommonSqlValue.GetString(0, dr);CarMod.CarType = CommonSqlValue.GetString(1, dr);CarMod.CarDriver = CommonSqlValue.GetString(2, dr);CarMod.CarColor = CommonSqlValue.GetString(3, dr);CarMod.Carbuytime = CommonSqlValue.GetDateTime(4, dr);CarMod.CarLoad = CommonSqlValue.GetInt32(5, dr);#endregiondr.Close();conn.Close();return CarMod;}catch (SqlException sqlEx){ throw sqlEx;}}}}public void CarInfoDeleteOne(String CarID){ using (SqlConnection conn = DABase.CreateConnection()) { if (ConnectionState.Closed == conn.State){ conn.Open();}using (SqlCommand cmd = conn.CreateCommand()){mandType = CommandType.StoredProcedure;mandText = "CarInfoDeleteOne";#region 添加存储过程参数cmd.Parameters.AddWithValue("@CarID", CarID);//记录序列号#endregiontry{ cmd.ExecuteNonQuery();conn.Close();}catch (SqlException sqlEx){ throw sqlEx;}}}}public void CarInfoUpdateOne(CarInfoModule CarMod){ using (SqlConnection conn = DABase.CreateConnection()){ if (ConnectionState.Closed == conn.State){ conn.Open();}using (SqlCommand cmd = conn.CreateCommand()){ mandType = CommandType.StoredProcedure; mandText = "CarInfoUpdateOne";#region 添加存储过程参数cmd.Parameters.AddWithValue("@CarID", CarMod.CarID);cmd.Parameters.AddWithValue("@CarType", CarMod.CarType);cmd.Parameters.AddWithValue("@CarDriver", CarMod.CarDriver);cmd.Parameters.AddWithValue("@CarColor", CarMod.CarColor);cmd.Parameters.AddWithValue("@Carbuytime", CarMod.Carbuytime);cmd.Parameters.AddWithValue("@CarLoad", CarMod.CarLoad);#endregiontry{ cmd.ExecuteNonQuery();conn.Close();}catch (SqlException sqlEx){switch (sqlEx.Number){ case 2601:case 2627:throw new Exception("修改记录失败!插入的键值已经存在,请确认后重试。

c课程设计车辆管理系统

c课程设计车辆管理系统

c课程设计车辆管理系统一、课程目标知识目标:1. 让学生理解车辆管理系统的基本概念,掌握系统的组成与功能。

2. 使学生掌握车辆管理系统中车辆信息管理、车辆调度管理、车位管理等方面的基本知识。

3. 帮助学生了解数据库在车辆管理系统中的应用,并掌握基本的数据库操作。

技能目标:1. 培养学生运用所学知识设计简单的车辆管理系统的能力。

2. 提高学生分析实际车辆管理问题,提出解决方案并进行优化的能力。

3. 培养学生通过小组合作,进行项目实践和沟通协调的能力。

情感态度价值观目标:1. 培养学生对车辆管理系统及相关技术领域的兴趣,激发他们的探究欲望。

2. 培养学生具备良好的团队协作精神,学会尊重他人意见,善于倾听。

3. 增强学生的社会责任感,使他们认识到车辆管理系统对城市交通、环境保护等方面的重要意义。

分析课程性质、学生特点和教学要求:本课程为信息技术课程,旨在让学生结合实际生活,运用所学知识设计车辆管理系统。

学生为初中生,具有一定的信息技术基础,对新鲜事物充满好奇。

教学要求注重实践操作,引导学生主动探究,培养解决问题的能力。

课程目标分解:1. 知识目标:通过本课程学习,学生能掌握车辆管理系统的基础知识,了解系统的各个模块及其功能。

2. 技能目标:学生能运用所学知识,设计并实现一个简单的车辆管理系统,具备一定的项目实践能力。

3. 情感态度价值观目标:学生在课程学习过程中,能够积极参与小组合作,尊重他人,关注社会问题,提高自身的社会责任感。

二、教学内容1. 车辆管理系统概述- 了解车辆管理系统的定义、作用及发展历程。

- 学习车辆管理系统的基本组成和功能模块。

2. 车辆信息管理- 掌握车辆基本信息的数据结构。

- 学习车辆信息录入、查询、修改和删除等操作。

3. 车辆调度管理- 了解车辆调度原则和方法。

- 学习车辆调度算法及其在实际中的应用。

4. 车位管理- 学习车位分配策略和车位查找算法。

- 掌握车位信息管理的基本操作。

车辆信息管理系统-报告(数据库、C)

车辆信息管理系统-报告(数据库、C)

数据库原理及应用课程设计设计题目:公司车队/辆信息管理系统班级: ************* 姓名: ******* 学号: ********** 指导教师: ********* 成绩:2014年5月目录一、摘要 (2)二、需求分析 (2)1、课程设计任务 (2)2、功能描述 (3)三、概要设计 (3)1、功能模块图 (4)2、实体图 (5)3、数据项 (6)4、系统用户管理图 (7)5、数据流图 (8)四、调试测试 (9)1、数据库演示 (9)2、程序各功能演示 (10)五、代码(重要部分) (14)1、登录 (15)2、车辆查询 (16)3、车辆信息管理 (17)4、删除用户 (18)5、添加用户 (20)一、摘要本次课程设计报告主要论述了公司车队信息管理系统的分析、设计与开发,并在此基础上对其在Windows平台上的实现做了一定程度的研究。

公司车队信息管理系统是运用在公司部门的系统工具,方便公司车队管理部门工作人员的工作,该系统主要根据公司车队的特点建立的,主要是记录和查询驾驶员信息、机动车信息。

本次课程设计报告结合工程项目,具体论述了机动车驾驶员管理系统、机动车登记系统的需求分析,其中包括实体关系图、功能结构图以及数据流程图的分析和描述。

然后,报告着重讨论了车队驾驶员管理系统、车辆登记系统的数据库设计,文中详细论述了驾驶证管理系统数据库实现的各个步骤。

并讨论了车辆/驾驶员信息管理系统在J2EE平台上的具体实现及其部署。

最后,此报告对本次系统开发中遇到的几个关键问题进行了详细的阐述。

包括驾驶证管理系统和机动车登记系统与其他系统的接口设计,IBM Websphere应用服务器的安全策略及系统访问控制方法的实现,以及基于PC服务器平台windows操作系统上Access数据库的性能优化问题。

关键词:公司车队信息管理系统、Access数据库、Java二、需求分析1、课程设计任务出于经济方面的考虑,很多公司都会选择拥有自己的车队而不是租赁车辆。

车辆管理系统【附源代码】C++课程设计报告-

车辆管理系统【附源代码】C++课程设计报告-

北华航天工业学院《基于C++的面向对象程序设计实例》实践报告报告题目:车辆管理系统设计作者所在系部:计算机科学与工程系作者所在专业:网络工程作者所在班级:B12522作者学号:作者姓名:妖YYYao指导教师姓名:李瑛完成时间:2013年6月北华航天工业学院教务处制北华航天工业学院实践报告摘要在当前的市场经济体制下,企业要想提高市场的竞争力,取得好的经济效益,不但要有好的产品,同时也要有好的管理方式,所以必须拥有一套完善的并且适合自身特点的信息化管理系统,以实现企业降低成本、及时反馈市场信息、完善服务质量、提高经济效益、分析市场需求、制定销售计划和目标等管理目的。

本文利用Visual C++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)3.1 数据设计 (4)3.1.1 类设计 (4)3.1.2 类之间的关系 (4)3.1.3 函数设计 (4)3.2 结构设计 (5)3.2.1 系统流程图 (5)3.2.2 界面设计 (6)第4章系统实现 (8)4.1 类实现 (8)4.2 函数实现 (10)4.3 主函数实现 (14)第5章系统测试 (16)5.1 模块测试 (16)5.2 课程设计过程中遇到的问题 (18)总结 (19)致谢 (20)参考文献 (21)第一章绪论1.1 课程设计的目的(1)要求学生能够熟练掌握C++语言的基本知识和技能。

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)读取车辆将保存在文件中的车辆信息读入到当前系统中,以供用户使用;在完成以上基本功能的基础上,可自行进行扩展或完善;3、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:1应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;2分析系统中的各个实体以及它们之间的关系;3根据问题描述,设计系统的类层次;4完成类层次中各个类的描述;5完成类中各个成员函数的定义;6完成系统的应用模块;7功能调试;8完成系统总结报告;目录系统需求分析系统设计的目的与意义:随着社会的进步和人们生活水平的提高,车辆作为交通工具,已经成为人们日常生活中不可缺少的一部分.大大增加了交通压力,同时,也对车辆里的管理有了一个更高的要求.因此,需要一个车辆管理系统来对各种车辆的各种信息进行统一管理.系统功能需求:本系统有三个类:Car类、Truck类、Bus类,存储小轿车信息、卡车信息、大客车信息;1添加车辆程序主要完成车辆信息的添加,要求编号唯一;如果添加了重复编号的物品时,则提示用户数据添加重复并取消添加;如果车辆信息库已满,则提示不能再添加新的车辆信息;2查询车辆可按照三种方式进行物品的查询;·按车辆制造公司查询:·按编号查询:·按类别查询:如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;3显示车辆信息库可显示当前车辆信息库中所有的车辆信息;4修改车辆可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性;5删除车辆对已添加的车辆信息进行删除;如果当前车辆信息库为空,则提示“车辆信息库为空”并返回操作;否则输入要删除的编号,根据编号删除该车辆信息,如果没有找到该车辆信息,则提示“该编号不存在”;6统计功能输出当前车辆信息库中总车辆数,以及按车辆类别,统计出当前车辆信息库中各类别的车辆数并显示;7保存车辆将当前系统中车辆信息存入文件中;8读取车辆将保存在文件中的车辆信息读入到当前系统中,以供用户使用;总体设计系统功能分析:系统通过调用函数来实现信息录入、信息修改、信息删除、信息查询以及数据保存文件等功能;add函数用于录入信息;modify函数用来修改信息;del函数用来修改信息;search 函数用来查询车辆信息;read函数用于将文件中的数据读取到内存中;save函数用于将内存中的信息存入文件内;主函数main用于调用这些函数;系统功能模块划分与设计:系统定义了Car类、Truck类、Bus类这三个类,定义了add、modify、del、read、save、search等函数来实现系统所需功能;系统功能模块图:类的设计1Base类抽象类的设计:2小轿车类的设计3卡车类的设计:4大客车类的设计:详细设计及实现Baseclass Base{public:virtual void delint=0;virtual void save=0;virtual void search=0;};小轿车类的实现class Car:public Base{public:double carFee;char carID20;char carName20;void read;void add;void modifyint;void delint;void save;void search;};void Car::read{ifstream carfile;"轿车信息.txt";carfile>>carcount_car.carID>>carcount_car.carName>>carcount_car.carFee;while{count_car++;carfile>>carcount_car.carID>>carcount_car.carName>>carcount_car.carFee;};}void Car::add{arID,carID;strcpycarcount_car.carName,carName;carcount_car.carFee=carFee;count_car++;}void Car::modifyint index{strcpycarindex-1.carID,carID;strcpycarindex-1.carName,carName;carindex-1.carFee=carFee;}void Car::delint index{arID,cari.carID;strcpycari-1.carName,cari.carName;cari-1.carFee=cari.carFee;}count_car--;}void Car::search{forint i=0;i<count_car-1;i++{ifstrcmpcari.carID,carID==0||strcmpcari.carName,carName==0{cout<<"轿车车牌号 "<<"轿车品牌 "<<"轿车油耗费用"<<endl;cout<<cari.carID<<" "<<cari.carName<<" "<<cari.carFee<<endl;break;}elsecout<<"无此轿车数据"<<endl;break;}}void Car::save{ofstream carfile;"轿车信息.txt";forint i=0;i<=count_car-1;i++carfile<<cari.carID<<" "<<cari.carName<<" "<<cari.carFee<<endl;;}卡车类的实现class Truck:public Base{public:char truckID20;char truckName20;int truckNum;void read;void add;void modifyint;void delint;void save;void search;};void Truck::read{ifstream truckfile;"卡车信息.txt";truckfile>>truckcount_truck.truckID>>truckcount_truck.truckName>>t ruckcount_truck.truckNum;while{count_truck++;truckfile>>truckcount_truck.truckID>>truckcount_truck.truckName >>truckcount_truck.truckNum;};}void Truck::add{ruckName,truckName;strcpytruckcount_truck.truckID,truckID;truckcount_truck.truckNum=truckNum;count_truck++;}void Truck::modifyint index{strcpytruckindex-1.truckID,truckID;strcpytruckindex-1.truckName,truckName;truckindex-1.truckNum=truckNum;}void Truck::delint index{ruckID,truckID;strcpytrucki-1.truckName,truckName;trucki-1.truckNum=truckNum;}count_truck--;}void Truck::search{forint i=0;i<count_truck-1;i++{ifstrcmptrucki.truckID,truckID==0{cout<<"卡车车牌号 "<<"卡车品牌"<<"卡车载重数吨"<<endl;cout<<trucki.truckID<<" "<<trucki.truckName<<""<<trucki.truckNum<<endl;break;}elsecout<<"无此卡车数据"<<endl;break;}}void Truck::save{ofstream truckfile;"卡车信息.txt";forint i=0;i<=count_truck-1;i++truckfile<<trucki.truckID<<" "<<trucki.truckName<<""<<trucki.truckNum;;}大客车类的实现class Bus:public Base{public:char busName20;char busID20;int busNum;void read;void add;void modifyint;void delint;void save;void search;};void Bus::read{fstream busfile"客车信息.txt",ios::in|ios::out;busfile>>buscount_bus.busID>>buscount_bus.busName>>buscount_bus.busNum;while{count_bus++;busfile>>buscount_bus.busID>>buscount_bus.busName>>buscount_bus.busNum;};}void Bus::add{usID,busID;strcpybuscount_bus.busName,busName;buscount_bus.busNum=busNum;count_bus++;}void Bus::modifyint index{strcpybusindex-1.busID,busID;strcpybusindex-1.busName,busName;busindex-1.busNum=busNum;}void Bus::delint index{usID,busi.busID;strcpybusi-1.busName,busi.busName;busi-1.busNum=busi.busNum;}count_bus--;}void Bus::search{forint i=0;i<count_bus-1;i++{ifstrcmpbusi.busID,busID==0{cout<<"客车车牌号 "<<"客车品牌 "<<"客车最大载客数人"<<endl;cout<<busi.busID<<" "<<busi.busName<<" "<<busi.busNum<<endl;break;}elsecout<<"无此客车数据"<<endl;break;}}void Bus::save{ofstream busfile;"客车信息.txt";forint i=0;i<=count_bus-1;i++busfile<<busi.busID<<" "<<busi.busName<<" "<<busi.busNum<<endl; ;}include <>include<>include <>include <>include <>Car carMAXcar;Truck truckMAXtruck;Bus busMAXbus;int count_car=0;int count_truck=0;int count_bus=0;Base p=NULL;char c;加轿车信息"<<endl;cout<<" 2.修改轿车信息"<<endl;cout<<" 3.删除轿车信息"<<endl;cout<<" 4.查询轿车信息"<<endl;cout<<" 5.显示所有轿车信息"<<endl;cout<<" 0.退出"<<endl;cout<<""<<endl;cout<<"请输入所要操作的编号:";cin>>choice;switchchoice{case 1:{Car car1;p=&car1;cout<<"请输入轿车车牌号、轿车品牌、油耗费用:"<<endl; cin>>>>>>;cout<<"是否保存轿车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->add;p->save;}break;}case 2:{Car car2;p=&car2;int index;forint i=0;i<count_car;i++cout<<i+1<<"."<<cari.carID<<" "<<cari.carName<<" "<<cari.carFee<<endl;cout<<"请选择轿车序号:"<<endl;cin>>index;cout<<"请输入要修改的轿车车牌号、轿车品牌、油耗费用:"<<endl; cin>>>>>>;cout<<"是否保存轿车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->modifyindex;p->save;}break;}case 3:{Car car3;p=&car3;int index;forint i=0;i<count_car;i++cout<<i+1<<"."<<cari.carID<<" "<<cari.carName<<""<<cari.carFee<<endl;cout<<"请选择要修改的轿车车牌号、轿车品牌、油耗费用的序列号:"<<endl;cin>>index;cout<<"是否保存轿车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->delindex;p->save;}break;}case 4:{Car car4;p=&car4;cout<<"请输入轿车的车名:"<<endl;cin>>;;system"pause";break;}case 5:{cout<<"轿车车牌号 "<<"轿车品牌 "<<"轿车油耗费用"<<endl;forint i=0;i<count_car;i++cout<<i+1<<"."<<cari.carID<<" "<<cari.carName<<" "<<cari.carFee<<endl;system"pause";ifcount_car==0cout<<setw20<<"轿车信息库为空"<<endl;system"pause";break;}case 0:quit=true;break;default:cout<<"请输入0~5之间的数字"<<endl; break;}ifquit==truebreak;}system"cls";return;}加卡车信息"<<endl;cout<<" 2.修改卡车信息"<<endl;cout<<" 3.删除卡车信息"<<endl;cout<<" 4.查询卡车信息"<<endl;cout<<" 5.显示所有卡车信息"<<endl;cout<<" 0.退出"<<endl;cout<<""<<endl;cout<<"请输入所要操作的编号:";cin>>choice;switchchoice{case 1:{Truck truck1;p=&truck1;cout<<"请输入卡车的车牌号、卡车品牌、载重数吨:"<<endl; cin>>>>>>;cout<<"是否保存卡车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->add;p->save;}break;}case 2:{Truck truck2;p=&truck2;int index;forint i=0;i<count_truck;i++cout<<i+1<<"."<<trucki.truckID<<" "<<trucki.truckName<<endl; cout<<"请选择要修改的卡车信息的序列号:"<<endl;cin>>index;cout<<"请输入要修改卡车的车牌号、卡车品牌、载重数吨:"<<endl;cin>>>>>>;cout<<"是否保存卡车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->modifyindex;p->save;}break;}case 3:{Truck truck3;p=&truck3;int index;forint i=0;i<count_truck;i++cout<<i+1<<"."<<trucki.truckID<<" "<<trucki.truckName<<" "<<trucki.truckNum<<endl;cout<<"请选择要删除的卡车信息序列号:"<<endl;cin>>index;cout<<"是否保存卡车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc='n'||c=='N'{p->delindex;p->save;}break;}case 4:{Truck truck4;cout<<"请输入卡车的车牌号:"<<endl;cin>>;;system"pause";break;}case 5:{cout<<"卡车车牌号 "<<"卡车品牌 "<<"卡车载重数吨"<<endl;forint i=0;i<count_truck;i++cout<<i+1<<"."<<trucki.truckID<<" "<<trucki.truckName<<""<<trucki.truckNum<<endl;system"pause";ifcount_truck==0cout<<setw20<<"卡车信息库为空"<<endl;break;}case 0:quit=true;break;default:cout<<"请输入0~5之间的数字"<<endl;break;}ifquit==truebreak;}system"cls";return;}加客车信息"<<endl;cout<<" 2.修改客车信息"<<endl;cout<<" 3.删除客车信息"<<endl;cout<<" 4.查询客车信息"<<endl;cout<<" 5.显示所有客车信息"<<endl;cout<<" 0.退出"<<endl;cout<<""<<endl;cout<<"请输入所要操作的编号:";cin>>choice;switchchoice{case 1:{Bus bus1;p=&bus1;cout<<"请输入要添加的客车的车牌号、客车品牌、最大载客数人:"<<endl; cin>>>>>>;cout<<"是否保存客车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->add;p->save;}break;}case 2:{Bus bus2;p=&bus2;int index;forint i=0;i<count_bus;i++cout<<i+1<<"."<<busi.busID<<" "<<busi.busName<<""<<busi.busNum<<endl;cout<<"请选择要修改的客车信息序列号:"<<endl;cin>>index;cout<<"请输入要修改的客车车牌号、客车品牌、最大载客数人:"<<endl; cin>>>>>>;cout<<"是否保存客车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->modifyindex;p->save;}break;}case 3:{Bus bus3;p=&bus3;int index;forint i=0;i<count_bus;i++cout<<i+1<<"."<<busi.busID<<" "<<busi.busName<<""<<busi.busNum<<endl;cout<<"请选择要删除的客车信息序列号:"<<endl;cin>>index;cout<<"是否保存客车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->delindex;p->save;}break;}case 4:{Bus bus4;cout<<"请输入客车的车牌号:"<<endl;cin>>;;system"pause";break;}case 5:{cout<<"客车车牌号 "<<"客车品牌 "<<"客车最大载客数人"<<endl;forint i=0;i<count_bus;i++cout<<i+1<<"."<<busi.busID<<" "<<busi.busName<<""<<busi.busNum<<endl;system"pause";ifcount_bus==0cout<<setw20<<"客车信息库为空"<<endl;break;}case 0:quit=true;break;default:cout<<"请输入0~5之间的数字"<<endl;break;}ifquit==truebreak;}system"cls";return;}ead;Truck truck;truck.read;Bus bus;bus.read;int choice=1;车信息管理"<<endl;cout<<" 2.卡车信息管理"<<endl;cout<<" 3.客车信息管理"<<endl;cout<<" 0.退出"<<endl;cout<<""<<endl;cout<<"请输入所要操作的编号:";cin>>choice;switchchoice{case 1: car_manage;break;case 2: truck_manage;break;case 3: bus_manage;break;case 0: cout<<"谢谢您的使用"<<endl; return;break;default:cout<<"请输入0~3之间的数字"<<endl;break;}system"cls";}}加轿车信息"<<endl;cout<<" 2.修改轿车信息"<<endl;cout<<" 3.删除轿车信息"<<endl;cout<<" 4.查询轿车信息"<<endl;cout<<" 5.显示所有轿车信息"<<endl;cout<<" 0.退出"<<endl;cout<<""<<endl;cout<<"请输入所要操作的编号:";cin>>choice;switchchoice{case 1:{Car car1;p=&car1;cout<<"请输入轿车车牌号、轿车品牌、油耗费用:"<<endl;cin>>>>>>;cout<<"是否保存轿车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->add;p->save;}break;}case 2:{Car car2;p=&car2;int index;forint i=0;i<count_car;i++cout<<i+1<<"."<<cari.carID<<" "<<cari.carName<<""<<cari.carFee<<endl;cout<<"请选择轿车序号:"<<endl;cin>>index;cout<<"请输入要修改的轿车车牌号、轿车品牌、油耗费用:"<<endl; cin>>>>>>;cout<<"是否保存轿车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->modifyindex;p->save;}break;}case 3:{Car car3;p=&car3;int index;forint i=0;i<count_car;i++cout<<i+1<<"."<<cari.carID<<" "<<cari.carName<<""<<cari.carFee<<endl;cout<<"请选择要修改的轿车车牌号、轿车品牌、油耗费用的序列号:"<<endl;cin>>index;cout<<"是否保存轿车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->delindex;p->save;}break;}case 4:{Car car4;p=&car4;cout<<"请输入轿车的车名:"<<endl;cin>>;;system"pause";break;}case 5:{cout<<"轿车车牌号 "<<"轿车品牌 "<<"轿车油耗费用"<<endl; forint i=0;i<count_car;i++cout<<i+1<<"."<<cari.carID<<" "<<cari.carName<<""<<cari.carFee<<endl;system"pause";ifcount_car==0cout<<setw20<<"轿车信息库为空"<<endl;system"pause";break;}case 0:quit=true;break;default:cout<<"请输入0~5之间的数字"<<endl; break;}ifquit==truebreak;}system"cls";return;}加卡车信息"<<endl;cout<<" 2.修改卡车信息"<<endl;cout<<" 3.删除卡车信息"<<endl;cout<<" 4.查询卡车信息"<<endl;cout<<" 5.显示所有卡车信息"<<endl;cout<<" 0.退出"<<endl;cout<<""<<endl;cout<<"请输入所要操作的编号:";cin>>choice;switchchoice{case 1:{Truck truck1;p=&truck1;cout<<"请输入卡车的车牌号、卡车品牌、载重数吨:"<<endl; cin>>>>>>;cout<<"是否保存卡车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->add;p->save;}break;}case 2:{Truck truck2;p=&truck2;int index;forint i=0;i<count_truck;i++cout<<i+1<<"."<<trucki.truckID<<" "<<trucki.truckName<<endl; cout<<"请选择要修改的卡车信息的序列号:"<<endl;cin>>index;cout<<"请输入要修改卡车的车牌号、卡车品牌、载重数吨:"<<endl;cin>>>>>>;cout<<"是否保存卡车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->modifyindex;p->save;}break;}case 3:{Truck truck3;p=&truck3;int index;forint i=0;i<count_truck;i++cout<<i+1<<"."<<trucki.truckID<<" "<<trucki.truckName<<" "<<trucki.truckNum<<endl;cout<<"请选择要删除的卡车信息序列号:"<<endl;cin>>index;cout<<"是否保存卡车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc='n'||c=='N'{p->delindex;p->save;}break;}case 4:{Truck truck4;cout<<"请输入卡车的车牌号:"<<endl;cin>>;;system"pause";break;}case 5:{cout<<"卡车车牌号 "<<"卡车品牌 "<<"卡车载重数吨"<<endl;forint i=0;i<count_truck;i++cout<<i+1<<"."<<trucki.truckID<<" "<<trucki.truckName<<""<<trucki.truckNum<<endl;system"pause";ifcount_truck==0cout<<setw20<<"卡车信息库为空"<<endl;break;}case 0:quit=true;break;default:cout<<"请输入0~5之间的数字"<<endl;break;}ifquit==truebreak;}system"cls";return;}加客车信息"<<endl;cout<<" 2.修改客车信息"<<endl;cout<<" 3.删除客车信息"<<endl;cout<<" 4.查询客车信息"<<endl;cout<<" 5.显示所有客车信息"<<endl;cout<<" 0.退出"<<endl;cout<<""<<endl;cout<<"请输入所要操作的编号:";cin>>choice;switchchoice{case 1:{Bus bus1;p=&bus1;cout<<"请输入要添加的客车的车牌号、客车品牌、最大载客数人:"<<endl; cin>>>>>>;cout<<"是否保存客车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->add;p->save;}break;}case 2:{Bus bus2;p=&bus2;int index;forint i=0;i<count_bus;i++cout<<i+1<<"."<<busi.busID<<" "<<busi.busName<<""<<busi.busNum<<endl;cout<<"请选择要修改的客车信息序列号:"<<endl;cin>>index;cout<<"请输入要修改的客车车牌号、客车品牌、最大载客数人:"<<endl; cin>>>>>>;cout<<"是否保存客车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->modifyindex;p->save;}break;}case 3:{Bus bus3;p=&bus3;int index;forint i=0;i<count_bus;i++cout<<i+1<<"."<<busi.busID<<" "<<busi.busName<<""<<busi.busNum<<endl;cout<<"请选择要删除的客车信息序列号:"<<endl;cin>>index;cout<<"是否保存客车信息不区分大小写是y/Y否n/N"<<endl;cin>>c;ifc=='y'||c=='Y'{p->delindex;p->save;}break;}case 4:{Bus bus4;cout<<"请输入客车的车牌号:"<<endl;cin>>;;system"pause";break;}case 5:{cout<<"客车车牌号 "<<"客车品牌 "<<"客车最大载客数人"<<endl;forint i=0;i<count_bus;i++cout<<i+1<<"."<<busi.busID<<" "<<busi.busName<<""<<busi.busNum<<endl;system"pause";ifcount_bus==0cout<<setw20<<"客车信息库为空"<<endl;break;}case 0:quit=true;break;default:cout<<"请输入0~5之间的数字"<<endl;break;}ifquit==truebreak;}system"cls";return;}车信息管理"<<endl;cout<<" 2.卡车信息管理"<<endl;cout<<" 3.客车信息管理"<<endl;cout<<" 0.退出"<<endl;cout<<""<<endl;cout<<"请输入所要操作的编号:";cin>>choice;switchchoice{case 1: car_manage;break;case 2: truck_manage;break;case 3: bus_manage;break;case 0: cout<<"谢谢您的使用"<<endl; return;break;default:cout<<"请输入0~3之间的数字"<<endl;break;}system"cls";}系统调试在调试过程中,出现了下面一些错误:具体调试过程:(1)显示主菜单11111重复以上操作分别输入红旗、大众、三菱和现代1121123113114115110以上只演示了三个车辆类小轿车、卡车、大客车中的小轿车;其他两个类的操作基本类似,就不一一列举了;5、结论程序总共设计了三个类,满足了课题对类的要求,在设计的过程中,建立了较为清晰的类层次,也利用了面向对象的方法以及C++的编程思想来完成系统的设计,做到了用文件存储车辆信息、从文件中读取车辆信息、修改信息、查询信息、删除信息显示文件中存储的信息等要求;而且界面简洁,容易操作;但是程序不太条理,不够简练,导致出现错误很难发现和修改;同时,发现一个难点,那就是类的封装;一个可以运行的程序要把它成功的封装起来也很困难;系统的错误提示难以识别,错误点不易找到,导致程序的耗时量大大增加;6、心得体会这次课程设计历经两个星期左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,也有很多闻所未闻的东西,从而更加明白知识扎实的重要性,理解实践能力的重要性因为基础知识的不扎实让我在这次课程设计中走了许多弯路,不过我认为是值得的,它大大的补充了我知识不足的那一面,我始终相信付出必有收获;这次的课程设计,可以说是苦乐交加;在程序设计过程中,不仅检验、巩固了我所学的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情;课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程; 它为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力;提高学生运用所学知识解决实际问题的能力;课程设计这类实践训练是我们迈向社会,从事职业工作前一个必不少的过程;“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义;我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础;通过这次车辆管理系统的设计,我在多方面都有所提高;首先,整体与局部的把握,在系统设计前,需要整体思考车辆管理系统所包含的信息及其实现的功能,在设计过程中,再思考局部功能实现的完整性与整个程序的结合;其次,在实现用户权限设置这个功能时,通过查阅课本、资料,实践,对字符串的使用strcmpmm,"1234";更加熟悉、了解,能够熟练运用字符串,而且加强了对类中参数传值的使用,巩固了类定义,函数成员使用等知识,并通过条件语句实现不同的人设置不同的操作,在实现查找功能时,更熟练了指针对象的使用;最后,在整个程序运行时,考虑到屏幕出现的效果,查阅资料及其前人的登录系统代码,了解了库函数中的屏幕清零函数system"cls";,并能正确使用;课程设计使我对c++课程又进行了系统的复习,独立思考的能力也有了提高;通过这次编程使我们认识到在以后的学习中要多做练习增加自己的知识面才能更好的适应自己的工作,在其中由最初的沮丧中出来,充满信心地去解决问题;通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力;而且这次课程设计也让我受益匪浅,真切感觉到任何事情都需要细心和耐心,二者缺一不可;没有细心,做事情永远都是事倍功半,一旦某个细节错了,就会导致某个部分应用不了额,甚至可能导致整个系统都运行不了;没了耐心,可能就会导致这件事不能够完成,经常半途而废;七、参考书目1、谭浩强. C++程序设计教程清华大学出版社2、谭浩强. C++面向对象程序设计清华大学出版社3、Visual C++ 从入门到精通八、附录关键程序代码include <>include<>include <>include <>include <>class Base{public:virtual void read=0;virtual void add=0;virtual void modifyint=0;virtual void delint=0;virtual void save=0;virtual void search=0;};class Car:public Base{public:double carFee;char carID20;char carName20;。

车辆管理系统课程设计报告(C++)

车辆管理系统课程设计报告(C++)

课程设计报告课程设计题目:车辆管理系统学生姓名:A B C专业:软件工程班级:16*****指导教师:*祥 **康(完整源代码和注释在我上次的另一篇文章里)2017年 6 月 18 日东华理工大学课程设计评分表学生姓名:A 班级16***** 学号:****课程设计题目:格式要求:中文正文使用五号字体,英文及代码使用小五号字体东华理工大学课程设计评分表学生姓名:B 班级16***** 学号:****课程设计题目:格式要求:中文正文使用五号字体,英文及代码使用小五号字体东华理工大学课程设计评分表学生姓名:C 班级16***** 学号:****课程设计题目:格式要求:中文正文使用五号字体,英文及代码使用小五号字体【目录】一、题目 (03)二、课程设计任务 (03)三、数据结构 (04)四、模块划分 (04)五、程序的总体设计 (05)六、流程图 (06)七、主要源程序代码(附件源代码) (09)八、测试情况及调试中问题与解决方案 (10)九、实验小结及心得 (15)十、工作日志 (16)十一、东华理工大学评分表 (17)一、题目:车辆管理系统设计二、课程设计任务:车辆管理系统主要负责各种车辆的常规信息管理工作。

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

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

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

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

基本维护费用:客车:2000元/月,小轿车:1000元/月,卡车:1500元/月。

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

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

(2)查询车辆:可按照三种方式来查询物品,分别为:按车辆制造公司查询:输入车辆制造公司,输出所查询的信息,若不存在该记录,则提示“该车辆制造公司不存在!”;按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”;按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有车辆!”;(3)显示车辆信息库:输出当前车辆信息库中所有车辆信息,每条记录占据一行。

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

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

停车场管理系统一、需求分析设计一个停车场管理系统,停车场管理系统功能包括:车辆到达,车辆离开,查询车辆信息等。

具体要求如下:(1)、车辆到达:根据车辆到达查询停车场是否有空位:若尚有空位,则让车辆进停车场,输入车牌号和车辆进停车场的时间;若停车场已满则可进入通道等候。

(2)、车辆离开:根据客户提供的情况,为客户办理离开车场手续,并计算和打印该车辆停车需要的费用。

然后查询通道是否有车辆排队,首先查询排在第一车辆,若满足则车进场。

(3)、查询车辆信息:根据客户的要求可以打印停车场和便道的车辆信息,包括:车牌号,车辆到达时间。

根据题目要求可知本题目的是按照从读文件读取的数据序列进行模拟管理。

每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照以与到达或离去的时刻。

对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场或便道上的停车位置;若是车辆离去,则输出汽车在停车场停留的时间和应交纳的费用(在便道上停留的时间不收费)。

二、概要设计(二)、本程序主要分四个模块实现功能(1)、以栈模拟停车场,以队列模拟车场外的通道,按照从终端读入的输入数据序列进行模拟管理。

栈以顺序结构实现,队列以链表实现。

InitStack(SqStackCar *s)操作结果:初始化栈,构造空的模拟车站SqStackCar 。

Push(SqStackCar *s,CarNode *e)操作结果:进站函数,车辆进站。

Pop(SqStackCar *s,CarNode *e)操作结果:出站函数,车辆出站。

StackEmpty(SqStackCar s)操作结果:判断车站是否为空。

InitQueue(LinkQueueCar *Q)操作结果:初始化通道,构造空的队列。

QueueEmpty(LinkQueueCar Q)操作结果:判断通道是否为空。

EnQueue(LinkQueueCar *Q,CarNode *e)操作结果:车辆进队列,即进通道。

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

课程设计报告课程设计题目:车辆管理系统学生姓名:A B C专业:软件工程班级:16*****指导教师:*祥**康(完整源代码和注释在我上次的另一篇文章里)2017年6 月18 日课程设计评分表学生姓名:A 班级16***** 学号:****课程设计题目:格式要求:中文正文使用五号字体,英文及代码使用小五号字体课程设计评分表学生姓名:B 班级16***** 学号:****课程设计题目:格式要求:中文正文使用五号字体,英文及代码使用小五号字体课程设计评分表学生姓名:C 班级16***** 学号:****课程设计题目:格式要求:中文正文使用五号字体,英文及代码使用小五号字体【目录】一、题目 (03)二、课程设计任务 (03)三、数据结构 (04)四、模块划分 (04)五、程序的总体设计 (05)六、流程图 (06)七、主要源程序代码(附件源代码) (09)八、测试情况及调试中问题与解决方案 (10)九、实验小结及心得 (15)十、工作日志 (16)十一、东华理工大学评分表 (17)一、题目:车辆管理系统设计二、课程设计任务:车辆管理系统主要负责各种车辆的常规信息管理工作。

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

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

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

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

基本维护费用:客车:2000元/月,小轿车:1000元/月,卡车:1500元/月。

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

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

(2)查询车辆:可按照三种方式来查询物品,分别为:按车辆制造公司查询:输入车辆制造公司,输出所查询的信息,若不存在该记录,则提示“该车辆制造公司不存在!”;按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”;按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有车辆!”;(3)显示车辆信息库:输出当前车辆信息库中所有车辆信息,每条记录占据一行。

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

(5)删除车辆:主要完成车辆信息的删除。

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

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

(7)车辆信息存盘:将当前程序中的车辆信息存入文件中。

(8)读出车辆信息:从文件中将车辆信息读入程序。

要求:1、用C++语言实现程序设计;2、利用类和对象数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。

三、数据结构车辆信息添加车辆信息查询车辆信息显示车辆信息编辑车辆信息删除退出系统车辆管理系统cout<<"* 2.按编号查询*"<<endl;cout<<"* 3.按类别查询*"<<endl;cout<<"****"<<endl;cout<<" 请输入你的选项:";while(1){cin>>i;cout<<endl;if(i=='1'||i=='2'||i=='3')break;cout<<"输入错误,重输:";}if(i == '1'){cout<<"请输入需查询车辆的制造公司:";cin>>t;}else if(i == '2'){cout<<"请输入需查询的车辆编号:";cin>>n;}else if(i == '3'){cout<<"请输入需查询的车辆型号(1-大客车,2-小轿车,3-卡车):";cin>>m;}for(int j = 0; j < top; j++)if(strcmp(car[j].made, t) == 0||car[j].num == n||car[j].type == m){cout<<"编号车牌号制造商购买时间型号特性总公里养路费维护费油耗总费用"<<endl;break;}for( j = 0; j < top; j++)if(strcmp(car[j].made, t) == 0||car[j].num == n||car[j].type == m){cout<<setw(4)<<car[j].num<<setw(7)<<car[j].pnum<<setw(7)<<car[j].made<<setw(7)<<car[j ].time;if(car[j].type == 1 )cout<<setw(9)<<"大客车"<<setw(8)<<"载客量:"<<people[j];else if(car[j].type == 2 )cout<<setw(9)<<"小轿车"<<setw(9)<<"车厢数: "<<coach[j];elsecout<<setw(8)<<"卡车"<<setw(9)<<"载重量:"<<weight[j];cout<<setw(6)<<car[j].km<<setw(7)<<car[j].RoadFee<<setw(7)<<car[j].cost<<setw(7)<<car[j] .OilKm<<setw(8)<<car[j].AllCount<<endl;a++;}if(a != 0){cout<<"是否进行修改(1-是,2-否):";cin>>choose;if(choose == 1)edit();}else{if(i=='1') cout<<"车辆制造公司不存在!"<<endl;if(i=='2') cout<<"车辆编号不存在!"<<endl;else if (i=='3') cout<<"车辆型号不存在!"<<endl;}cout<<"按任意键返回功能主界面"<<endl;char zz=getch();jiemian();}八、测试情况及调试中问题与解决方案以下几点分别为我们在课程设计期间测试情况及调试中问题与解决方案1.显示车辆出现问题1)问题:养路费数据有问题以及功能3中显示车辆信息库要求每条记录占据一行,当前程序显示没有达到要求(图)2)解决方案:发现代码分别在169 201 233 282行由于复制出现问题,将top改为j后养路费数据正常(图),使用setw设置域宽来控制显示将每条记录占据一行,修正后的正确显示(图)图图图2.文件无法自动创建问题1)问题:这是开始编的读取文件功能,当D盘根目录存在文件时,功能运行正常。

但当D盘根目录不存在文件时,会出现如下问题(即编译没问题,但运行时会停止工作,如图图)图图2)解决方案:这是修改后的读取文件功能函数(图),函数增加了判断“是否能顺利读取文件”功能。

如果不能,则创建文件再进行读取图3.删除车辆问题1)问题:这个问题是我们课程设计中遇到的最大的问题,困扰了我们很久,当车辆数量足够时,能成功删除车辆(图),当车辆删除到最后1辆时,界面显示剩余未发生改变,而存取的文档中车辆信息已经删除(图)。

图图图图图图2)解决方案:将代码中的删除功能函数中算法进行改进,修正后即使车辆只有一辆也能删除,不会再出现1)中问题(图)图图九、实验小结在我们课程设计的任务书中,说明了课程设计的目的是根据软件工程的方法与流程,在相对集中的实训教学时间内,通过一个功能较完整的小型应用系统的设计与开发,深入复习并进一步掌握面向对象的程序设计思想与方法。

同时,培养我们采用面向对象的方法分析问题与解决问题的能力及团体组织与协作能力。

这次课程设计是我们小组三个人历经一个多星期左右共同完成的,通过这一个多星期的学习、合作、交流,我们合作完成了车辆管理系统的程序设计。

我们小组的三个人都是第一次做课程设计,面对我们所选的课程设计任务,一开始有点摸不着头脑,但在不断的分工,查找资料,合作交流后,我们逐步实现车辆管理系统中的功能要求。

因为我们的小组长在课程设计之前就开始查阅资料,完成了程序的总体设计,在组长的带领下我们小组完成了这次任务。

在这次课程设计中,我们也遇到了很多问题,当我们完成了程序的大体设计以及函数功能实现后,发现在显示功能这部分出现问题,在我们查阅书本后,使用了我们不熟悉的一个操作符setw(int n)来设置域宽,解决了显示问题,但由于界面受限制,为保证每条记录占据一行,导致输入的数据受到一些限制。

在这之后,我们解决了一个困扰我们很久的数据问题,显示界面中养路费数据始终为0,虽然我们小组有分工,每个人的能力也不同,但是在我们三个人集体讨论这个问题后,我们找到了问题的根源并解决了这个问题,也正是这个问题,让我们体会到了合作的意义以及团队的力量。

除此之外,在课程设计期间,遇到问题,也要学会向同学、老师请教,因为我们很可能一时思路受阻或者不熟悉某些操作,通过请教他人,能够迅速解决问题并学习到他人的长处。

相关文档
最新文档