C课程设计之车辆管理系统
- 格式:docx
- 大小:65.93 KB
- 文档页数:45
#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;}}}。
c 课程设计之车辆管理系统一、教学目标本课程的学习目标主要包括知识目标、技能目标和情感态度价值观目标。
通过本课程的学习,学生需要掌握车辆管理系统的相关知识,包括车辆管理的基本概念、车辆管理的流程和方法等。
同时,学生需要具备一定的实际操作能力,能够运用所学知识对车辆进行有效管理。
此外,学生应该树立正确的车辆管理意识,具备良好的道德品质和社会责任感。
二、教学内容本课程的教学内容主要包括车辆管理的基本概念、车辆管理的流程和方法。
具体包括以下几个方面:1. 车辆管理的基本概念:车辆管理的定义、特点和作用;2. 车辆管理的流程:车辆的采购、使用、维护和报废等环节的管理;3. 车辆管理的方法:车辆管理的常用方法和技术,如车辆识别码系统、车辆定位系统等。
三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
1. 讲授法:通过教师的讲解,使学生掌握车辆管理的基本概念和方法;2. 讨论法:通过分组讨论,培养学生的思考能力和团队协作能力;3. 案例分析法:通过分析实际案例,使学生了解车辆管理的具体操作过程;4. 实验法:通过实际操作,锻炼学生的动手能力和实际应用能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备适当的教学资源。
教学资源包括教材、参考书、多媒体资料和实验设备等。
1. 教材:选择权威、实用的教材,为学生提供全面、系统的学习资源;2. 参考书:推荐一些相关领域的参考书,帮助学生拓展知识面;3. 多媒体资料:制作精美的PPT、视频等多媒体资料,提高学生的学习兴趣;4. 实验设备:准备必要的实验设备,为学生提供实践操作的机会。
五、教学评估本课程的教学评估将采用多元化的方式,以全面、客观、公正地评估学生的学习成果。
评估方式包括但不限于以下几个方面:1. 平时表现:通过观察学生在课堂上的参与程度、提问回答等,了解学生的学习态度和理解程度;2. 作业:布置适量的作业,要求学生在规定时间内完成,以检验学生对知识的掌握情况;3. 考试:定期进行考试,以评估学生对课程知识的全面理解和运用能力。
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语言编程的基本概念和方法,培养学生解决实际问题的能力。
具体目标如下: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.实验法:安排实验室实践,让学生亲自动手编写程序,巩固所学知识。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。
#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;}}}。
车辆租赁管理系统C 课程设计一、课程目标知识目标:1. 让学生理解车辆租赁管理系统的基本概念和功能需求,掌握系统设计的基本原理和步骤。
2. 使学生掌握数据库设计的基本方法,并能运用SQL语言进行数据操作。
3. 帮助学生掌握C语言编程技巧,实现车辆租赁管理系统的核心功能模块。
技能目标:1. 培养学生运用结构化分析方法进行系统需求分析的能力。
2. 培养学生运用数据库设计工具进行数据库设计的能力。
3. 提高学生编程实践能力,能够独立完成车辆租赁管理系统部分功能模块的开发。
情感态度价值观目标:1. 培养学生热爱编程,对计算机科学技术产生浓厚兴趣。
2. 培养学生具备团队协作精神,能够与他人共同完成项目任务。
3. 增强学生的责任感和使命感,认识到信息技术在现代社会中的重要作用。
课程性质:本课程为信息技术学科选修课程,结合实际项目案例,培养学生的编程实践能力和系统设计能力。
学生特点:学生具备一定的C语言基础和数据库知识,对编程和系统设计有一定兴趣,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,以项目为导向,培养学生的实际操作能力和解决问题的能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 系统需求分析:讲解车辆租赁管理系统的功能需求、性能需求等,使学生掌握需求分析方法,学会编写需求规格说明书。
教材章节:第二章 系统分析与设计内容安排:2课时2. 数据库设计:介绍数据库设计的基本概念、E-R模型、关系模型等,使学生掌握数据库设计方法和SQL语言。
教材章节:第三章 数据库设计与实现内容安排:4课时3. C语言编程实践:讲解C语言在车辆租赁管理系统中的应用,包括数据结构、函数、模块化编程等,提高学生编程实践能力。
教材章节:第四章 C语言编程实践内容安排:6课时4. 系统功能实现:结合实际项目案例,讲解车辆租赁管理系统的核心功能模块,如用户管理、车辆管理、订单管理等。
教材章节:第五章 系统功能实现内容安排:8课时5. 系统测试与优化:介绍系统测试方法,让学生学会对车辆租赁管理系统进行功能测试、性能测试等,并能对系统进行优化。
车辆管理系统课程设计CSDN一、课程目标知识目标:1. 让学生理解车辆管理系统的基本概念,掌握其关键技术与功能模块;2. 使学生掌握数据库管理的基本原理,能运用SQL语句进行数据查询与操作;3. 引导学生了解计算机网络通信技术在车辆管理系统中的应用。
技能目标:1. 培养学生运用编程语言(如Python、Java等)设计并实现车辆管理系统的功能模块;2. 培养学生运用数据库技术进行数据存储、查询、更新与删除等操作;3. 提高学生团队协作能力,能与他人共同完成车辆管理系统的设计与开发。
情感态度价值观目标:1. 激发学生对计算机科学技术的兴趣,培养其探索精神和创新意识;2. 引导学生关注车辆管理系统在实际生活中的应用,提高其社会责任感;3. 培养学生严谨、勤奋的学习态度,使其具备良好的学习习惯。
本课程针对高年级学生,已具备一定的编程基础和数据库知识。
课程性质为理论与实践相结合,注重培养学生的实际操作能力和团队协作能力。
在教学过程中,教师需关注学生的个体差异,提供针对性的指导与帮助,确保学生能够达到预设的课程目标,为后续深入学习计算机科学技术打下坚实基础。
二、教学内容本课程教学内容主要包括以下三个方面:1. 车辆管理系统概述- 了解车辆管理系统的基本概念、发展历程和应用领域;- 学习车辆管理系统的功能模块,如车辆信息管理、驾驶员管理、违章处理等;- 掌握车辆管理系统的关键技术,如GPS定位、GIS地图、数据通信等。
2. 数据库技术与应用- 学习数据库的基本原理,如关系型数据库、SQL语言等;- 掌握数据库设计方法,能根据实际需求设计合理的数据库表结构;- 学习数据库操作,包括数据的增、删、改、查等。
3. 车辆管理系统的设计与实现- 学习编程语言(如Python、Java等)在车辆管理系统中的应用;- 掌握车辆管理系统的开发流程,如需求分析、系统设计、编码实现、测试等;- 学习团队协作开发,提高项目管理和沟通能力。
c++车辆管理课程设计一、课程目标知识目标:1. 掌握C++语言基础,包括数据类型、运算符、控制结构等;2. 学会使用C++面向对象编程思想,理解类与对象的关系;3. 掌握C++文件操作,实现车辆信息数据的读写;4. 了解STL模板库的使用,提高代码复用性。
技能目标:1. 能够运用C++编写车辆管理系统的基本功能模块;2. 独立设计并实现车辆信息管理、车辆租赁和归还等业务流程;3. 学会使用调试工具,找出并修复程序中的错误;4. 提高团队协作能力,通过分工合作完成课程设计。
情感态度价值观目标:1. 培养对计算机编程的兴趣和热情,增强学习动力;2. 培养良好的编程习惯,遵循编码规范,注重代码质量;3. 树立正确的价值观,认识到编程在解决实际问题中的重要作用;4. 增强团队意识,学会与他人沟通协作,共同解决问题。
课程性质:本课程为C++编程实践课程,以车辆管理系统为背景,培养学生运用C++语言解决实际问题的能力。
学生特点:学生已经具备一定的C++语言基础,具有一定的编程能力,但实践经验不足。
教学要求:结合学生特点,注重实践操作,提高学生的编程能力和团队协作能力。
在教学过程中,注重引导学生主动思考,培养学生解决问题的能力。
通过课程设计,使学生能够将所学知识应用于实际项目中,达到学以致用的目的。
二、教学内容1. C++基础回顾- 数据类型与变量- 控制结构(条件语句、循环语句)- 函数的定义与调用2. 面向对象编程- 类与对象- 继承与多态- 抽象类与接口3. 文件操作- 文件的打开与关闭- 文件的读写操作- 文件异常处理4. STL模板库- 容器简介- 常用容器(如vector、list、map等)- 算法与迭代器5. 车辆管理系统功能模块设计- 车辆信息管理- 车辆租赁与归还- 费用计算与支付- 车辆维护与保养6. 编程规范与调试- 编码规范- 调试技巧- 代码优化7. 团队协作与项目实践- 项目分工与协作- 代码版本控制- 项目进度管理与沟通教学内容安排与进度:第一周:C++基础回顾第二周:面向对象编程第三周:文件操作第四周:STL模板库第五周:车辆管理系统功能模块设计第六周:编程规范与调试第七周:团队协作与项目实践教材章节关联:教学内容与教材中相关章节紧密关联,涵盖C++语言基础、面向对象编程、文件操作、STL模板库等内容,确保学生能够结合教材,系统地学习和掌握课程知识。
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%,包括课后练习、编程任务等。
c 车辆管理课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握车辆管理的基本概念、法规政策和车辆管理流程。
技能目标要求学生能够运用所学知识进行车辆管理的实际操作,如车辆登记、车辆检验、车辆保险等。
情感态度价值观目标要求学生树立正确的车辆管理意识,遵守交通法规,注重车辆安全,培养良好的驾驶习惯。
通过分析课程性质、学生特点和教学要求,明确课程目标,将目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容根据课程目标,选择和教学内容,确保内容的科学性和系统性。
教学大纲如下:1.车辆管理基本概念:介绍车辆管理的定义、作用和重要性。
2.车辆管理法规政策:讲解车辆管理的法律法规,包括《道路交通安全法》、《车辆登记规定》等。
3.车辆管理流程:讲解车辆登记、车辆检验、车辆保险等流程。
4.车辆安全管理:介绍车辆安全管理的知识,包括车辆维护、安全驾驶技巧等。
5.车辆环保管理:介绍车辆环保管理的要求和措施,如排放标准、环保检查等。
教学内容与课本紧密相关,符合教学实际。
三、教学方法选择合适的教学方法,如讲授法、讨论法、案例分析法、实验法等,以激发学生的学习兴趣和主动性。
1.讲授法:用于讲解车辆管理的基本概念、法规政策和车辆管理流程。
2.讨论法:用于讨论车辆管理的相关问题,促进学生思考和交流。
3.案例分析法:分析车辆管理的实际案例,培养学生解决实际问题的能力。
4.实验法:进行车辆管理的实际操作,如车辆登记、车辆检验等,提高学生的实践能力。
教学方法多样化,能够有效激发学生的学习兴趣和主动性。
四、教学资源选择和准备适当的教学资源,包括教材、参考书、多媒体资料、实验设备等。
教学资源应该能够支持教学内容和教学方法的实施,丰富学生的学习体验。
1.教材:选用权威、实用的车辆管理教材,如《车辆管理教程》。
2.参考书:提供相关的参考书籍,如《道路交通安全法》释义、《车辆登记规定》解读等。
车辆管理系统课程设计MFC一、课程目标知识目标:1. 学生能理解车辆管理系统MFC的基本概念,掌握MFC编程的基本框架和关键步骤。
2. 学生能描述车辆管理系统的功能模块,如车辆信息管理、停车位管理、收费管理等,并了解它们之间的关联。
3. 学生能掌握使用MFC进行数据库操作的方法,实现对车辆管理系统中数据的有效存取。
技能目标:1. 学生能运用MFC软件开发工具,设计并实现一个简单的车辆管理系统。
2. 学生能通过调试和优化,解决车辆管理系统开发过程中遇到的问题,提高系统稳定性。
3. 学生能运用所学知识,对车辆管理系统进行功能扩展,提升系统实用性。
情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,树立编程改变生活的观念。
2. 学生通过小组合作,培养团队协作精神和沟通能力,增强解决问题的信心。
3. 学生关注车辆管理系统在实际生活中的应用,认识到技术对社会发展的推动作用。
课程性质:本课程为实践性较强的课程,结合课本知识,引导学生动手实践,培养编程能力和实际应用能力。
学生特点:初三学生具备一定的计算机基础和编程知识,对实际应用具有较强的兴趣。
教学要求:教师需注重理论与实践相结合,关注学生个体差异,提供个性化指导,确保学生能够学以致用。
在教学过程中,分解课程目标为具体学习成果,便于教学设计和评估。
二、教学内容1. 车辆管理系统概述:介绍车辆管理系统的概念、功能及在实际生活中的应用,使学生了解课程背景和实际意义。
- 教材章节:第一章 车辆管理系统简介2. MFC编程基础:讲解MFC的基本框架、常用控件及其使用方法,为学生后续开发打下基础。
- 教材章节:第二章 MFC编程基础3. 数据库操作:介绍数据库的基本概念,讲解MFC中如何进行数据库操作,如数据的添加、查询、修改和删除。
- 教材章节:第三章 数据库操作4. 功能模块设计:分析车辆管理系统的功能模块,引导学生按照模块化思想进行设计。
- 教材章节:第四章 车辆管理系统功能模块设计5. 系统实现与调试:讲解如何利用MFC工具将设计转化为实际系统,并介绍调试和优化方法。
车辆管理系统课程设计MFC一、教学目标本课程旨在通过MFC(Microsoft Foundation Classes)教学,让学生掌握车辆管理系统的开发方法。
具体目标如下:知识目标:使学生了解并掌握MFC的基本概念、框架及应用;理解车辆管理系统的业务流程及功能模块。
技能目标:培养学生运用MFC进行车辆管理系统开发的实际操作能力,能独立完成系统分析、设计、实现和测试工作。
情感态度价值观目标:培养学生对计算机科学和软件工程的热爱,增强其创新意识和团队合作精神,使其意识到车辆管理系统在现代社会中的重要性。
二、教学内容本课程的教学内容主要包括MFC的基本概念、框架及应用,车辆管理系统的业务流程及功能模块。
具体安排如下:1.MFC基本概念:介绍MFC的起源、发展及其在软件开发中的应用。
2.MFC框架:讲解MFC的核心类、消息映射、事件处理等基本概念。
3.MFC应用:通过实例讲解如何使用MFC进行应用程序的开发。
4.车辆管理系统的业务流程:介绍车辆管理系统的各个环节,如车辆登记、维修管理、驾驶人员管理等。
5.车辆管理系统的功能模块:讲解车辆管理系统中各个功能模块的设计原理及实现方法。
三、教学方法为了提高教学效果,将采用多种教学方法相结合的方式进行授课:1.讲授法:用于讲解MFC的基本概念、框架及应用,车辆管理系统的业务流程及功能模块。
2.案例分析法:通过分析实际案例,使学生更好地理解并掌握MFC的应用方法和车辆管理系统的开发技巧。
3.实验法:安排实验课程,让学生亲自动手实践,培养其实际操作能力。
4.讨论法:学生进行分组讨论,激发其创新思维和团队合作精神。
四、教学资源为了支持本课程的教学,将准备以下教学资源:1.教材:选用权威、实用的MFC教材,为学生提供系统性的学习资料。
2.参考书:推荐学生阅读一些关于MFC和车辆管理系统开发的经典著作,以拓宽其知识面。
3.多媒体资料:制作课件、教学视频等多媒体资料,丰富教学手段,提高学生的学习兴趣。
车辆管理系统c 课程设计一、课程目标知识目标:1. 理解车辆管理系统的基本概念、功能及作用;2. 掌握车辆管理系统中数据库的建立、查询及更新方法;3. 学会分析并解决车辆管理系统中存在的问题。
技能目标:1. 能够运用C语言编写简单的车辆管理系统功能模块;2. 能够利用数据库技术对车辆信息进行有效管理;3. 能够通过实际操作,熟练使用车辆管理系统进行日常业务处理。
情感态度价值观目标:1. 培养学生对车辆管理系统及其实际应用的兴趣,提高学习积极性;2. 培养学生团队协作意识,学会与他人共同解决问题;3. 培养学生具备良好的信息素养,认识到信息技术在现实生活中的重要作用。
课程性质:本课程为信息技术学科,旨在让学生通过学习车辆管理系统,掌握数据库应用和C语言编程技能。
学生特点:学生处于高年级阶段,具备一定的信息技术基础,具有较强的逻辑思维能力和自主学习能力。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的主观能动性,提高学生的实践操作能力和创新意识。
通过分解课程目标为具体学习成果,使学生在课程学习过程中不断提升自身能力,为后续教学设计和评估提供有力依据。
二、教学内容1. 车辆管理系统的基本概念与功能- 系统介绍:理解车辆管理系统的定义、分类及应用场景;- 功能模块:掌握车辆管理系统的主要功能模块及其相互关系。
2. 数据库技术在车辆管理系统中的应用- 数据库设计:学习如何建立车辆信息数据库,包括表结构设计、关系定义等;- 数据操作:掌握数据库的基本查询、更新、删除等操作。
3. C语言编程在车辆管理系统中的应用- 编程基础:回顾C语言基本语法和编程技巧;- 功能实现:学习使用C语言编写车辆管理系统中的功能模块。
4. 车辆管理系统的实践操作- 案例分析:分析实际车辆管理系统案例,了解系统在实际中的应用;- 实操演练:通过实际操作,学会使用车辆管理系统进行业务处理。
5. 教学内容的安排与进度- 第一周:车辆管理系统基本概念与功能模块介绍;- 第二周:数据库设计与数据操作;- 第三周:C语言编程基础及功能实现;- 第四周:实践操作及案例分析。
c课程设计车辆管理系统一、课程目标知识目标:1. 让学生理解车辆管理系统的基本概念,掌握系统的组成与功能。
2. 使学生掌握车辆管理系统中车辆信息管理、车辆调度管理、车位管理等方面的基本知识。
3. 帮助学生了解数据库在车辆管理系统中的应用,并掌握基本的数据库操作。
技能目标:1. 培养学生运用所学知识设计简单的车辆管理系统的能力。
2. 提高学生分析实际车辆管理问题,提出解决方案并进行优化的能力。
3. 培养学生通过小组合作,进行项目实践和沟通协调的能力。
情感态度价值观目标:1. 培养学生对车辆管理系统及相关技术领域的兴趣,激发他们的探究欲望。
2. 培养学生具备良好的团队协作精神,学会尊重他人意见,善于倾听。
3. 增强学生的社会责任感,使他们认识到车辆管理系统对城市交通、环境保护等方面的重要意义。
分析课程性质、学生特点和教学要求:本课程为信息技术课程,旨在让学生结合实际生活,运用所学知识设计车辆管理系统。
学生为初中生,具有一定的信息技术基础,对新鲜事物充满好奇。
教学要求注重实践操作,引导学生主动探究,培养解决问题的能力。
课程目标分解:1. 知识目标:通过本课程学习,学生能掌握车辆管理系统的基础知识,了解系统的各个模块及其功能。
2. 技能目标:学生能运用所学知识,设计并实现一个简单的车辆管理系统,具备一定的项目实践能力。
3. 情感态度价值观目标:学生在课程学习过程中,能够积极参与小组合作,尊重他人,关注社会问题,提高自身的社会责任感。
二、教学内容1. 车辆管理系统概述- 了解车辆管理系统的定义、作用及发展历程。
- 学习车辆管理系统的基本组成和功能模块。
2. 车辆信息管理- 掌握车辆基本信息的数据结构。
- 学习车辆信息录入、查询、修改和删除等操作。
3. 车辆调度管理- 了解车辆调度原则和方法。
- 学习车辆调度算法及其在实际中的应用。
4. 车位管理- 学习车位分配策略和车位查找算法。
- 掌握车位信息管理的基本操作。
#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)。
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 课程设计一、课程目标知识目标:1. 让学生理解汽车销售管理系统的基本概念、功能模块和业务流程;2. 掌握数据库设计原则,能运用数据库技术进行汽车销售管理系统的数据存储与查询;3. 掌握面向对象编程思想,运用编程语言实现汽车销售管理系统的功能。
技能目标:1. 培养学生运用数据库技术进行数据分析和处理的能力;2. 培养学生运用编程语言进行系统开发的能力;3. 培养学生团队协作、沟通表达的能力,能在项目中进行有效分工与协作。
情感态度价值观目标:1. 激发学生对计算机科学的兴趣,培养其探索精神和创新意识;2. 培养学生关注社会问题,学会将所学知识应用于实际生活,提高解决实际问题的能力;3. 培养学生的职业道德观念,使其认识到诚信、责任、尊重和合作的重要性。
分析课程性质、学生特点和教学要求,本课程旨在通过汽车销售管理系统项目的设计与实现,让学生将所学理论知识与实际应用相结合,提高学生的实际操作能力和团队协作能力。
课程目标具体、可衡量,便于教学设计和评估。
在教学过程中,教师需关注学生的学习进度,及时调整教学策略,确保学生能够达到预期的学习成果。
二、教学内容1. 汽车销售管理系统概述:介绍汽车销售管理系统的基本概念、功能模块、业务流程及在实际中的应用。
相关教材章节:第一章 汽车销售管理系统概述2. 数据库设计:讲解数据库设计原则,指导学生进行汽车销售管理系统数据库的设计与实现。
相关教材章节:第二章 数据库设计3. 编程语言基础:复习面向对象编程思想,讲解编程语言在汽车销售管理系统中的应用。
相关教材章节:第三章 编程语言基础4. 系统功能实现:分析汽车销售管理系统的功能需求,指导学生运用编程语言实现各功能模块。
相关教材章节:第四章 系统功能实现5. 系统测试与优化:介绍系统测试方法,指导学生进行汽车销售管理系统的测试与优化。
相关教材章节:第五章 系统测试与优化6. 项目实践:分组进行项目实践,培养学生团队协作能力和实际操作能力。
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)完成系统总结报告。
目录1.系统需求分析系统设计的目的与意义:随着社会的进步和人们生活水平的提高, 车辆作为交通工具, 已经成为人们日常生活中不可缺少的一部分.大大增加了交通压力, 同时,也对车辆里的管理有了一个更高的要求. 因此, 需要一个车辆管理系统来对各种车辆的各种信息进行统一管理.系统功能需求:本系统有三个类:Car类、Truck类、Bus类,存储小轿车信息、卡车信息、大客车信息。
1添加车辆程序主要完成车辆信息的添加,要求编号唯一。
如果添加了重复编号的物品时,则提示用户数据添加重复并取消添加;如果车辆信息库已满,则提示不能再添加新的车辆信息。
2查询车辆可按照三种方式进行物品的查询。
•按车辆制造公司查询:•按编号查询:•按类别查询:如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
3显示车辆信息库可显示当前车辆信息库中所有的车辆信息。
4修改车辆可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
5删除车辆对已添加的车辆信息进行删除。
如果当前车辆信息库为空,则提示“车辆信息库为空!”并返回操作;否则输入要删除的编号,根据编号删除该车辆信息,如果没有找到该车辆信息,则提示“该编号不存在” 。
6统计功能输出当前车辆信息库中总车辆数,以及按车辆类别,统计出当前车辆信息库中各类别的车辆数并显示7保存车辆将当前系统中车辆信息存入文件中。
8读取车辆将保存在文件中的车辆信息读入到当前系统中,以供用户使用。
2.总体设计系统功能分析:系统通过调用函数来实现信息录入、信息修改、信息删除、信息查询以及数据保存文件等功能。
add ()函数用于录入信息;modify ()函数用来修改信息;del ()函数用来修改信息;search ()函数用来查询车辆信息;read ()函数用于将文件中的数据读取到内存中;save ()函数用于将内存中的信息存入文件内;主函数ma in ()用于调用这些函数。
系统功能模块划分与设计:系统定义了Car类、Truck类、Bus类这三个类,定义了add ()、modify ()、del ()、read ()、save()、search ()等函数来实现系统所需功能。
系统功能模块图:车辆信息管理系统类的设计(1) Base 类(抽象类)的设计void seave );) charfusName :voar 图buod 大卡车' v^bidNUm);; void save (); voidaea(ch(); void modify(i nt); void del( in t); void save();void search();3. 详细设计及实现Base 类(抽象类 )的实现 class Base{_L_L 1小 小 小 小 小 小 轿 轿 轿 轿 轿 轿 车 车 车 车 车 车信 信 信 信 信 信卡 卡 卡 卡 卡 卡车 车 车 车 车 车信 信 信 信 信 信1 大 大 大 1 大 大 1 大 客 客 客 轿 客 客 车 车 车 车 车 车 信 信 信 信 信 信(2) (3) (4)@B a Base 类 virtual voidreaa()=0; ^virtual voidadd()=0; virtual void vi vi 卡车类的设计chuCarNam e arch 》0; void read(); Truck char adckiDp voar m h df 卡车大客车类的设计ftididckNim;小轿车类的设 modify(int)=0;(in t)=0; 0];Bus车车public:virtual void read()=0;virtual void add()=0;virtual void modify(int)=0;virtual void del(int)=0;virtual void save()=0;virtual void search()=0; };小轿车类的实现class Car:public Base {public:double carFee; char carID[20]; char carName[20];void read();void add();void modify(int); void del(int); void save();void search();};void Car::read()ifstream carfile;(" 轿车信息.txt");carfile>>car[count_car].carID>>car[count_car].carName>>car[count_car].carFeeJwhile(!()){ count_car++;carfile>>car[count_car].carID>>car[count_car].carName>>car[count_car].car Fee;}();}void Car::add(){arID,carID); strcpy(car[count_car].carName,carName); car[count_car].carFee=carFee;count_car++;void Car::modify(int index){strcpy(car[index-1].carID,carID);strcpy(car[index-1].carName,carName); car[index-1].carFee=carFee;}void Car::del(int index){arID,car[i].carID);strcpy(car[i-1].carName,car[i].carName); car[i-1].carFee=car[i].carFee;}count_car--;}void Car::search(){for(int i=0;i<count_car-1;i++){{ if(strcmp(car[i].carID,carID)==0||strcmp(car[i].carName,carName)==0)cout<<" 轿车车牌号"<<" 轿车品牌"<<" 轿车油耗费用"<<endl;cout<<car[i].carID<<" "<<car[i].carName<<" "<<car[i].carFee<<endl; break;}elsecout<<"无此轿车数据!"<<endl;break;}}void Car::save(){ofstream carfile;(" 轿车信息.txt");for(int i=0;i<=count_car-1;i++)carfile<<car[i].carID<<" "<<car[i].carName<<" "<<car[i].carFee<<endl; ();卡车类的实现class Truck:public Base {public:char truckID[20]; char truckName[20]; int truckNum;void read();void add();void modify(int);void del(int);void save();void search();};void Truck::read(){ifstream truckfile;(" 卡车信息.txt");truckfile>>truck[count_truck].truckID>>truck[count_truck].truckNa me>>truck[count_truck].truckNum;while(!()){ count_truck++;truckfile>>truck[count_truck].truckID>>truck[count_truck].truc kName>>truck[count_truck].truckNum;}();}void Truck::add(){ruckName,truckName);strcpy(truck[count_truck].truckID,truckID);truck[count_truck].truckNum=truckNum;count_truck++;}void Truck::modify(int index){strcpy(truck[index-1].truckID,truckID);strcpy(truck[index-1].truckName,truckName);truck[index-1].truckNum=truckNum;void Truck::del(int index){ruckID,truckID);strcpy(truck[i-1].truckName,truckName); truck[i-1].truckNum=truckNum;}count_truck--;}void Truck::search(){for(int i=0;i<count_truck-1;i++){if(strcmp(truck[i].truckID,truckID)==0){coutvv"卡车车牌号"<<"卡车品牌"<<"卡车载重数(吨)"<<endl;cout<<truck[i].truckID<<" "<<truck[i].truckName<<""<<truck[i].truckNum<<endl;break;}elsecout<<" 无此卡车数据!"<<endl;break;}}void Truck::save(){ofstream truckfile;(" 卡车信息.txt");for(int i=0;i<=count_truck-1;i++)truckfile<<truck[i].truckID<<""<<truck[i].truckName<<" "<<truck[i].truckNum;();}大客车类的实现class Bus:public Base{public:char busName[20];char busID[20];int busNum;void read();void add();void modify(int);void del(int);void save();void search();};void Bus::read(){busfile>>bus[count_bus].busID>>bus[count_bus].busName>>bus[count_bus].busNum;while(!()){count_bus++;busfile>>bus[count_bus].busID>>bus[count_bus].busName>>bus[count_bus].bus Num; }();}void Bus::add(){usID,busID); strcpy(bus[count_bus].busName,busName); bus[count_bus].busNum=busNum;count_bus++;}void Bus::modify(int index){strcpy(bus[index-1].busID,busID); strcpy(bus[index-1].busName,busName); bus[index-1].busNum=busNum;}void Bus::del(int index){usID,bus[i].busID);strcpy(bus[i-1].busName,bus[i].busName); bus[i-1].busNum=bus[i].busNum;}count_bus--;}void Bus::search(){for(int i=0;i<count_bus-1;i++){if(strcmp(bus[i].busID,busID)==0){coutvv"客车车牌号"<<"客车品牌"<<"客车最大载客数(人)"<<endl; cout<<bus[i].busID<<""<<bus[i].busName<<" "<<bus[i].busNum<<endl; break;}elsecout<<" 无此客车数据!"<<endl;break;}void Bus::save() {ofstream busfile;(" 客车信息 .txt");for(int i=0;i<=count_bus-1;i++)busfile<<bus[i].busID<<" "<<bus[i].busName<<" "<<bus[i].busNum<<endl; (); }#include <> #include<> #include <> #include <> #include <>{Car car1;p=&car1;cout<<" 请输入轿车车牌号、轿车品牌、油耗费用 :"<<endl;cin>>>>>>;coutvv"是否保存轿车信息(不区分大小写)是(y/Y)否(n/N)"v<endl; cin>>c;if(c=='y'||c=='Y'){p->add();Car car[MAXcar];Trucktruck[MAXtruck]; Busbus[MAXbus]; intcount_car=0; intcount_truck=0; intcount_bus=0; Base*p=NULL; char c; 加轿车信息 "<<endl;cout<<" cout<<" cout<<" cout<<" cout<<" 2. 3. 4. 5.0. cout<<"******************************* cout<<" 请输入所要操作的编号 cin>>choice; switch(choice){ case 1:修改轿车信息 "<<endl; 删除轿车信息 "<<endl; 查询轿车信息 "<<endl; 显示所有轿车信息 "<<endl;退出"<<e ndl;<<endl;・“・p->save();}break;}case 2:{Car car2;p=&car2;int index;for(int i=0;i<count_car;i++)cout<<i+1<<"."<<car[i].carID<<" "<<car[i].carName<<""<<car[i].carFee<<endl;cout<<" 请选择轿车序号:"<<endl;cin>>index;cout<<" 请输入要修改的轿车车牌号、轿车品牌、油耗费用:"<<endl;cin>>>>>>;coutvv"是否保存轿车信息(不区分大小写)是(y/Y)否(n/N)"v<endl; cin>>c;if(c=='y'||c=='Y'){p->modify(index);p->save();}break;}case 3:{Car car3;p=&car3;int index;for(int i=0;i<count_car;i++)cout<<i+1<<"."<<car[i].carID<<" "<<car[i].carName<<" "<<car[i].carFee<<endl;cout<<" 请选择要修改的轿车车牌号、轿车品牌、油耗费用的序列号:"<<e ndl;cin>>index;coutvv"是否保存轿车信息(不区分大小写)是(y/Y)否(n/N)"<<endl; cin>>c;if(c=='y'||c=='Y'){p->del(index);p->save();}break;}case 4:{Car car4; p=&car4; cout<<" 请输入轿车的车名:"<<endl; cin>>;(); system("pause"); break;}case 5:{cout<<" 轿车车牌号"<<" 轿车品牌"<<" 轿车油耗费用"<<endl; for(inti=0;i<count_car;i++)cout<<i+1<<"."<<car[i].carID<<" "<<car[i].carName<<""<<car[i].carFee<<endl;system("pause"); if(count_car==0)cout<<setw(20)<<" 轿车信息库为空!"<<endl;system("pause");break;case 0:quit=true;break;default:cout<<" 请输入0~5 之间的数字!"<<endl; break; } if(quit==true) break;}system("cls");return;}加卡车信息"<<endl;cout<<" 2. 修改卡车信息"<<endl;cout<<" 3. 删除卡车信息"<<endl;cout<<" 4. 查询卡车信息"<<endl;cout<<" 5. 显示所有卡车信息"<<endl;cout<<" 0. 退出"<<e ndl;cout<<"***********************************"<<endl; cout<<" 请输入所要操作的编号:";{cin>>choice; switch(choice)case 1:{Truck truck1; p=&truck1;cout<<" 请输入卡车的车牌号、卡车品牌、载重数( 吨):"<<endl; cin>>>>>>;coutvv"是否保存卡车信息(不区分大小写)是(y/Y)否(n/N)"v<endl; cin>>c;if(c=='y'||c=='Y'){p->add();p->save();}break;}case 2:{Truck truck2;p=&truck2;int index;for(int i=0;i<count_truck;i++) cout<<i+1<<"."<<truck[i].truckID<<""<<truck[i].truckName<<endl;cout<<" 请选择要修改的卡车信息的序列号:"<<endl;cin>>index;coutvv"请输入要修改卡车的车牌号、卡车品牌、载重数(吨):"<<e ndl;cin>>>>>>;coutvv"是否保存卡车信息(不区分大小写)是(y/Y)否(n/N)"<<endl; cin>>c;if(c=='y'||c=='Y'){p->modify(index);p->save();}break;}case 3:{Truck truck3;p=&truck3;int index;for(int i=0;ivcount_truck;i++)coutvvi+1vv"."vvtruck[i].truckIDvv" "vvtruck[i].truckNamevv" "vvtruck[i].truckNumvvendl;coutvv" 请选择要删除的卡车信息序列号:"vvendl;} case0:quit=true;break;default:coutvv" }if(quit==true)break;} system("cls"); return;}加客车信息coutvv"coutvv"coutvv"coutvv"coutvv" 请输入0~5 之间的数字!"vvendl;break;II vvendl;2.3.4.修改客车信息删除客车信息查询客车信息显示所有客车信息退出"<<e ndl;IIIIIIvvendl;vvendl;vvendl;"vvendl;cin>>index;coutvv"是否保存卡车信息(不区分大小写)是(y/Y)否(n/N)"v<endl; cin>>c;if(c='n'||c=='N'){p->del(index);p->save();}break;}case 4:{Truck truck4;cout<<" 请输入卡车的车牌号:"<<endl;cin>>;();system("pause");break;}case 5:{coutvv"卡车车牌号"<<"卡车品牌"<<"卡车载重数(吨)"<<endl; for(inti=0;i<count_truck;i++) coutvvi+1vv"."vvtruck[i].truckIDvv""vvtruck[i].truckNamevv" "vvtruck[i].truckNumvvendl;system("pause");if(count_truck==0) coutvvsetw(20)vv" 卡车信息库为空!"vvendl;break;cout<<" 请输入所要操作的编号 cin>>choice; switch(choice) {case 1:{Bus bus1; p=&bus1;cout<<" 请 输 入 要 添 加 的 客 车 的 车 牌 号 、 客 车 品 牌 、 最 大 载客 数 ( 人 ):"<<endl;cin>>>>>>;coutvv"是否保存客车信息(不区分大小写)是(y/Y)否(n/N)"v<endl; cin>>c; if(c=='y'||c=='Y') {p->add(); p->save();}break;}case 2:{Bus bus2;p=&bus2;int index;for(int i=0;i<count_bus;i++) cout<<i+1<<"."<<bus[i].busID<<""<<bus[i].busName<<""<<bus[i].busNum<<endl;cout<<" 请选择要修改的客车信息序列号 :"<<endl;cin>>index;coutvv"请输入要修改的客车车牌号、客车品牌、最大载客数 (人):"<<e ndl; cin>>>>>>;coutvv"是否保存客车信息(不区分大小写)是(y/Y)否(n/N)"<<endl; cin>>c;if(c=='y'||c=='Y') {p->modify(index);p->save();}break;}case 3:Bus bus3;p=&bus3;int index;for(int i=0;i<count_bus;i++)cout<<i+1<<"."<<bus[i].busID<<" "<<bus[i].busName<<" "<<bus[i].busNum<<endl; cout<<" 请选择要删除的客车信息序列号 :"<<endl;cin>>index;coutvv"是否保存客车信息(不区分大小写)是(y/Y)否(n/N)"v<endl; cin>>c;if(c=='y'||c=='Y')cout<<"***********************************、' <<endl;{p->del(index);p->save();}break;}case 4:{Bus bus4;cout<<" 请输入客车的车牌号:"<<endl;cin>>;();system("pause");break;}case 5:{coutvv"客车车牌号"<<"客车品牌"<<"客车最大载客数(人)"<<endl; for(inti=0;i<count_bus;i++)coutvvi+1vv"."vvbus[i].busIDvv" "vvbus[i].busNamevv" "vvbus[i].busNumvvendl;system("pause");if(count_bus==0) coutvvsetw(20)vv" 客车信息库为空!"vvendl;break;}case 0:quit=true;break;default:coutvv" 请输入0~5 之间的数字!"vvendl;break;}if(quit==true)break;}system("cls");return;ead();Truck (truck); (truck).read();Bus (bus);(bus).read();int choice=1; 车信息管理 "<<endl;cout<<" 2.cout<<" 3.cout<<" 0.cout<<" 请输入所要操作的编号 cin>>choice; switch(choice){case 1:{Car car1;p=&car1;cout<<" 请输入轿车车牌号、轿车品牌、油耗费用cin>>>>>>;coutvv"是否保存轿车信息(不区分大小写)是(y/Y)cin>>c;if(c=='y'||c=='Y')p->add();卡车信息管理 "<<endl客车信息管理 "<<endl退出"<<endl;cout<<" **********************************、' <<endl;cout<<" 请输入所要操作的编号cin>>choice;switch(choice){ case 1: car_manage();break;case 2: truck_manage();break;case 3: bus_manage();break;case 0: cout<<" default:cout<<" 谢谢您的使用! "<<endl; return;break;请输入 0~3 之间的数字! "<<endl;break;}system("cls");}}加轿车信息 "<<endl; cout<<" 2.cout<<" 3. cout<<" 4. cout<<" 5. cout<<" 0. 修改轿车信息 "<<endl; 删除轿车信息 "<<endl; 查询轿车信息 "<<endl; 显示所有轿车信息 "<<endl; 退出"<<endl;cout<<" .**********************************" <<endl;:"<<endl; 否 (n/N)"<<endl;p->save();}break;}case 2:{Car car2;p=&car2;int index;for(int i=0;i<count_car;i++)cout<<i+1<<"."<<car[i].carID<<" "<<car[i].carName<<""<<car[i].carFee<<endl;cout<<" 请选择轿车序号:"<<endl;cin>>index;cout<<" 请输入要修改的轿车车牌号、轿车品牌、油耗费用:"<<endl; cin>>>>>>;coutvv"是否保存轿车信息(不区分大小写)是(y/Y)否(n/N)"v<endl; cin>>c;if(c=='y'||c=='Y'){p->modify(index);p->save();}break;}case 3:{Car car3;p=&car3;int index;for(int i=0;i<count_car;i++)cout<<i+1<<"."<<car[i].carID<<" "<<car[i].carName<<" "<<car[i].carFee<<endl;cout<<" 请选择要修改的轿车车牌号、轿车品牌、油耗费用的序列号:"<<e ndl;cin>>index;coutvv"是否保存轿车信息(不区分大小写)是(y/Y)否(n/N)"<<endl; cin>>c;if(c=='y'||c=='Y'){p->del(index);p->save();}break;}case 4:{Car car4; p=&car4; cout<<" 请输入轿车的车名:"<<endl; cin>>;(); system("pause"); break;}case 5:{cout<<" 轿车车牌号"<<" 轿车品牌"<<" 轿车油耗费用"<<endl; for(int i=0;i<count_car;i++)cout<<i+1<<"."<<car[i].carID<<" "<<car[i].carName<<""<<car[i].carFee<<endl;system("pause"); if(count_car==0) cout<<setw(20)<<" 轿车信息库为空!"<<endl;system("pause"); break;}case 0:quit=true;break;请输入0~5之间的数字!"default:cout<<" }if(quit==true) break;}system("cls");return;}加卡车信息"<<endl;cout<<" 2. 修改卡车信息"<<endl;cout<<" 3. 删除卡车信息"<<endl;cout<<" 4. 查询卡车信息"<<endl;cout<<" 5. 显示所有卡车信息"<<endl;cout<<" 0. 退出"<<e ndl;cout<<"***********************************"<<endl; cout<<" 请输入所要操作的编号{cin>>choice; switch(choice)case 1:Truck truck1; p=&truck1;cout<<" 请输入卡车的车牌号、卡车品牌、载重数( 吨):"<<endl; cin>>>>>>; coutvv"是否保存卡车信息(不区分大小写)是(y/Y)否(n/N)"v<endl;cin>>c; if(c=='y'||c=='Y'){p->add();p->save();} break;}case 2:{Truck truck2; p=&truck2;int index; for(int i=0;i<count_truck;i++)cout<<i+1<<"."<<truck[i].truckID<<" "<<truck[i].truckName<<endl;cout<<" 请选择要修改的卡车信息的序列号:"<<endl;cin>>index;coutvv"请输入要修改卡车的车牌号、卡车品牌、载重数(吨):"<<e ndl;cin>>>>>>;coutvv"是否保存卡车信息(不区分大小写)是(y/Y)否(n/N)"<<endl; cin>>c;if(c=='y'||c=='Y'){p->modify(index);p->save();} break;}case 3:{Truck truck3; p=&truck3;int index; for(int i=0;ivcount_truck;i++)coutvvi+1vv"."vvtruck[i].truckIDvv" "vvtruck[i].truckNamevv" "vvtruck[i].truckNumvvendl;coutvv" 请选择要删除的卡车信息序列号:"vvendl; cin>>index;coutvv"是否保存卡车信息(不区分大小写)是(y/Y)否(n/N)"<<endl;cin>>c; if(c='n'||c=='N') {p->del(index);p->save(); }break;} case 4:{Truck truck4; cout<<" 请输入卡车的车牌号 :"<<endl; cin>>;(); system("pause"); break;} case 5:{cout<<" 卡车车牌号 "<<" 卡车品牌 "<<" 卡车载重数 ( 吨 )"<<endl;for(int i=0;i<count_truck;i++)cout<<i+1<<"."<<truck[i].truckID<<" "<<truck[i].truckName<<""<<truck[i].truckNum<<endl;system("pause"); if(count_truck==0) cout<<setw(20)<<" 卡车信息库为空 !"<<endl; break;case 0:quit=true;break;请输入 0~5 之间的数字! "<<endl;break;}if(quit==true) break;} system("cls"); return; }加客车信息 "<<endl;cout<<" 2. cout<<" 3. cout<<" 4. cout<<" 5. cout<<" 0.cout<<" 请输入所要操作的编号default:cout<<"修改客车信息 "<<endl; 删除客车信息 "<<endl; 查询客车信息 "<<endl; 显示所有客车信息 "<<endl;退出"<<e ndl; cout<<" ***********************************、' <<endl;cin>>choice; switch(choice){case 1:{Bus bus1; p=&bus1;cout<<" 请输入要添加的客车的车牌号、客车品牌、最大载客数( 人):"<<endl;cin>>>>>>;coutvv"是否保存客车信息(不区分大小写)是(y/Y)否(n/N)"v<endl;cin>>c;if(c=='y'||c=='Y'){p->add();p->save();}break;}case 2:{Bus bus2;p=&bus2;int index;for(int i=0;i<count_bus;i++) cout<<i+1<<"."<<bus[i].busID<<" "<<bus[i].busName<<" "<<bus[i].busNum<<endl;cout<<" 请选择要修改的客车信息序列号:"<<endl;cin>>index;coutvv"请输入要修改的客车车牌号、客车品牌、最大载客数(人):"<<e ndl;cin>>>>>>;coutvv"是否保存客车信息(不区分大小写)是(y/Y)否(n/N)"<<endl;cin>>c;if(c=='y'||c=='Y'){p->modify(index);p->save();}break;}case 3:{Bus bus3;p=&bus3;int index;for(int i=0;i<count_bus;i++)cout<<i+1<<"."<<bus[i].busID<<" "<<bus[i].busName<<" "<<bus[i].busNum<<endl;cout<<" 请选择要删除的客车信息序列号:"<<endl; cin>>index;coutvv"是否保存客车信息(不区分大小写)是(y/Y)否(n/N)"v<endl;cin>>c; if(c=='y'||c=='Y'){p->del(index);p->save();}break;}case 4:{Bus bus4;cout<<" 请输入客车的车牌号:"<<endl;cin>>;();system("pause");break;}case 5:{coutvv"客车车牌号"<<"客车品牌"<<"客车最大载客数(人)"<<endl; for(inti=0;i<count_bus;i++)coutvvi+1vv"."vvbus[i].busIDvv" "vvbus[i].busNamevv" "vvbus[i].busNumvvendl;system("pause"); if(count_bus==0)coutvvsetw(20)vv" 客车信息库为空!"vvendl; break;}case 0:quit=true;break;default:coutvv" 请输入0~5 之间的数字!"vvendl;break;}if(quit==true)break;}system("cls");return;}车信息管理"vvendl;coutvv" 2. 卡车信息管理"vvendl;cout<<" 3. 客车信息管理"<<endl;cout<<" 0. 退出"<<endl;3.0.cout<<" 请输入所要操作的编号cin>>choice;switch(choice)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");}4.系统调试在调试过程中,出现了下面一些错误:具体调试过程:(1)显示主菜单(1)(1)(1)(1)(1)重复以上操作分别输入红旗、大众、三菱和现代)(1)(1)(2)(1)(1)(2)(3)(1)(1)(3)(1)(1)(4)(1)(1)(5)(1)(1)(0)以上只演示了三个车辆类小轿车、卡车、大客车中的小轿车。