贝壳athena
粘的有点乱,凑合看吧。毕业论文(设计)开题报告 论文题目 学生管理系统设计与实现 学生姓名 学 号 专 业 指导教师 职 称 学 历 开题报告文献综述)内容: 一、开发背景 学校学生信息管理是学校教务管理中的一个极为重要的环节,它是整个学校管理的核心和基础。现在我国的大中小学校档案的管理水平还停留在纸介质的基础上,这样的机智已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被以计算机为基础的信息管理所取代。信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。为了适应现代社会人们高度强烈的时间观念,学籍管理系统软件将会为教学办公室带来极大的方便。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。 二、选题的意义 通过学生管理系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。 三.系统研究内容 此学生信息管理系统需要完成的功能主要有: ● 有关学籍信息的输入,包括学生基本信息、所在班级、所学课程和成绩等. ● 学生信息的查询,包括学生基本信息、所在班级、已学课程和成绩等. ● 学生信息的修改. ● 班级管理信息的输入,包括班级设置、年级信息等. ● 班级管理信息的查询. ● 班级管理信息的修改 ● 学校基本课程信息的输入. ● 学校课程信息的修改. ● 学校课程的设置和修改. ● 学生成绩的输入. ● 学生成绩信息的修改 ● 学生信息的查询. ● 学生信息的统计. 四、毕业设计思路框架 (一)设计方法 1.查询相关资料,了解本系统的研究意义。可以上网搜索或者是去图书馆查阅相关资料。 2.通过查询资料了解该系统要如何做,及要做哪些东西。 3.设计出大体上的功能模块,画出模块图。 4.通过进一步的了解,对每个功能模块进行细化,将每一步都想清楚。制定出每一步的做法和注意的地方。 5.对设计好的程序进行调试,通过调试发现存在的问题并解决,从而达到完善系统的目的。 6.最后,整理各阶段的设计记录文档,写成论文稿。 开发工具开发工具开发工具开发工具 选用设计语言 目前的可用的设计技术在设计此类系统上的数据库技术已经非常成熟,可提供的开发工具也很多,例如:Visual C++ ,Visual Basic,PowerBuilder,Dephi, visual foxpro等,它们都是很好的数据库开发工具,都是可视化开发工具,功能强大,开发容易,开发周期短,对于本任务都能够胜任。 Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。 总的来说,Visual Basic具有以下特点: 可视化编程: 用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。 面向对象的程序设计 版以后的Visual Basic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。 结构化程序设计语言 Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。 Visual Basic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic环境,直接在Windows环境下运行。 选用ACCESS作为后台数据库 ACCESS2000 就是关系数据库管理工具,数据库能汇集各种信息以供查询、存储和检索。ACCESS 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel的电子表格,可以使数据库一目了然。另外,ACCESS允许创建自定义报表用于打印或输出数据库中的信息。ACCESS也提供了数据存储库,可以使用桌面数据库文件把数据文件置于网络文件服务器,与其他网络用户共享数据库。ACCESS 是一种关系数据库管理工具,关系数据库是已开发的最通用的数据库之一。如上所述,ACCESS 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。 (三)设计要求 数据库相关理论。汽车租赁管理是一个典型的数据库管理信息系统,系统的开发用到许多数据库相关的理论,因此要求作者具有这方面的基础知识,能够正确运用数据库理论进行系统的分析、逻辑设计、实体属性以及ER图等的转换,明白范式的相关内容,从而能够根据系统实际要求,设计出满足要求的合理的数据库。 面向对象理论。当前流行的编程思想是面向对象思想,而且许多工具,如Visual Basic,体现的也正是这种思想。面向对象思想与传统的面向过程编程思想相比,具有明显的优势,而且汽车租赁系统的设计也要求用面向对象编程工具来实现。这就要求作者在进行毕业设计时,应该明白面向对象的思想,并能够运用其思想到实际的工作中。 软件工程思想。大型系统的开发要用到软件工程相关的理论。虽然汽车租赁系统比较小,但是最好也能按照系统设计的生命周期模型来进行。严格按照软件工程思想和管理信息系统的开发步骤,设计并实现一个汽车租赁管理信息系统。以系统开发过程为主线,从需求分析,逻辑设计,总体设计,详细设计以及系统测试、实施各阶段的主要内容和成果,包括系统结构图、业务流程图、数据流程图、E-R模型、数据字典、物理表实现及其关系、功能模块算法流程、界面设计等等。 一定的实际动手能力和实际编程经验。系统最后要落实到windows下的编程,因此要求作者对windows下的数据库编程具有一定的基础,能够较为熟练的进行数据库相关程序的开发。以Microsoft公司的Visual Basic 为开发工具,以ACCESS为后台数据库,对上述逻辑设计的成果进行转换,实现一个完整的可运行的汽车租赁管理系统。 (四)设计环境 硬件环境 随着计算机硬件的高速发展,现在普通的机子已经可以做为一个服务器端使用。 CPU:CⅣ 或更高 硬盘:40G或更多 内存:128M或更高(建议使用256M) 软件环境软件环境软件环境软件环境 操作系统 Windows 2000 Server /Windows XP 网络协议 TCP/IP 数据库 ACCESS 开发语言 VB 其它辅助软件:Microsoft Word等 四、参考文献 [1] 丁宝康:《数据库实用教程》, 清华大学出版社,2004年。 [2] 赛奎春等:《VB数据库开发关键技术与实例应用》,人民邮电出版社,2003年。 [3] 汪诗林等:《数据结构算法与应用》,机械工业出版社,2005年。 [4] 罗征等:《VB 从入门到精通》,电子工业出版社,2004年。 [5] 冯博琴等:《面向对象分析与设计》,机械工业出版社,2003年。 [6] , Gotterer : Visual Basic , 1992. [7] :《Database Principles and Applications》.Williams Brown,2003. 报告人签名: 年 月 指导教师对开题报告指导教师对开题报告指导教师对开题报告((((文献综述文献综述文献综述文献综述))))的评语的评语的评语的评语:::: 指导教师签名: 年 月
多多吃多多评价
1、论文题目:要求准确、简练、醒目、新颖。2、目录:目录是论文中主要段落的简表。(短篇论文不必列目录)3、提要:是文章主要内容的摘录,要求短、精、完整。字数少可几十字,多不超过三百字为宜。4、关键词或主题词:关键词是从论文的题名、提要和正文中选取出来的,是对表述论文的中心内容有实质意义的词汇。关键词是用作机系统标引论文内容特征的词语,便于信息系统汇集,以供读者检索。 每篇论文一般选取3-8个词汇作为关键词,另起一行,排在“提要”的左下方。主题词是经过规范化的词,在确定主题词时,要对论文进行主题,依照标引和组配规则转换成主题词表中的规范词语。5、论文正文:(1)引言:引言又称前言、序言和导言,用在论文的开头。 引言一般要概括地写出作者意图,说明选题的目的和意义, 并指出论文写作的范围。引言要短小精悍、紧扣主题。〈2)论文正文:正文是论文的主体,正文应包括论点、论据、 论证过程和结论。主体部分包括以下内容:a.提出-论点;b.分析问题-论据和论证;c.解决问题-论证与步骤;d.结论。6、一篇论文的参考文献是将论文在和写作中可参考或引证的主要文献资料,列于论文的末尾。参考文献应另起一页,标注方式按《GB7714-87文后参考文献著录规则》进行。中文:标题--作者--出版物信息(版地、版者、版期):作者--标题--出版物信息所列参考文献的要求是:(1)所列参考文献应是正式出版物,以便读者考证。(2)所列举的参考文献要标明序号、著作或文章的标题、作者、出版物信息。
慧紫愿吉
汽车租赁系统的c语言,数据结构的语言程序 【问题描述】 汽车租赁公司拥有若干种不同类别的汽车,允许持有相应类别驾照的顾客租赁汽车,按照租赁的汽车类型和租赁的时间进行收费,租赁最长时间不能超过一周;若延迟归还,则按延迟的时间进行罚金处理。 其中,汽车信息包括:汽车编号、类别、收费标准、库存数量、延迟归还罚金标准;(汽车类别分为A、B、C三类,收费标准每天分别为:400、300、200元,延迟归还的罚金标准分别为:每天600、500、400元。) 顾客租赁信息包括:顾客编号、顾客名、驾照类别(A、B、C三类)、租赁的汽车编号、租赁天数、延迟归还的天数)。 主要用到的知识点有:结构体、线性表、函数 【基本要求】 设计一个汽车租赁管理系统,能够完成以下功能: 查询并显示汽车信息、顾客的租赁信息 顾客租赁汽车:首先检查顾客驾照类别,然后查询相应类别的汽车数量,若可租赁,则添加顾客信息、同时修改汽车库存量。 顾客归还汽车:首先检查归还日期并计算费用,然后删除该顾客的租赁信息表、修改汽车库存量。 系统以菜单的方式工作:运行界面可选择要执行的操作是查询?租赁还是归还? 【测试数据】由读者自行设定编译器是VC6 #include<> #include<> #include<> #define MaxNum 20 typedef struct A{ int No; /*车辆编号*/ char Type; /*车类型*/ int Payment;/*租费*/ int fine; /*罚金*/ struct A *next;/*指向下一个结点*/ } car; typedef struct B{ int No; /*顾客编号*/ char Name[20]; /*顾客姓名*/ char License; /*执照类别*/ int carNo; /*租凭的车辆编号*/ int Day; /*租的天数*/ int DelayDay;/*延迟的天数*/ struct B *next; } client; struct C{/*这个结构体是车辆链表的头结点,A,B,C每种类型有一种*/ char Type;/*车辆型号*/ int avl; /*可用数*/ car *head;/*指向车辆结点*/ } headNode[3]={{'A',MaxNum,NULL},{'B',MaxNum,NULL},{'C',MaxNum,NULL}} ; client *allClien=NULL; int pay[3]={400,300,200},fine[3]={600,500,400}; void init();/*初始化*/ int menu();/*简单菜单界面*/ void search();/*查询*/ void carSc(); /*查询车辆*/ void clientSc();/*查询顾客*/ void rent(); /*租车*/ void giveback();/*还车*/ void addCli(client *cli);/*向顾客链表增加顾客*/ client* delCli(int clientNo);/*从顾客链表删除一个顾客*/ void addCar();/*向车辆链表归还车辆*/ car* delCar();/*从车辆链表拿出一辆车*/ void Exit();/*退出*/ void main() { init(); while(1) { switch(menu()) { case 1:search();break; case 2:rent();break; case 3:giveback();break; case 4:Exit(); default:; } } } void init() { int i; car *ptr,*pa=headNode[0].head,*pb=headNode[1].head,*pc=headNode[2].head; for(i=1;i<=MaxNum;i++) { ptr=(car *)malloc(sizeof(car)); ptr->No=100+i; ptr->Type='A'; ptr->Payment=400; ptr->fine=600; pa=ptr; pa=ptr->next; ptr=ptr=(car *)malloc(sizeof(car)); ptr->No=200+i; ptr->Type='B'; ptr->Payment=300; ptr->fine=500; pb=ptr; pb=ptr->next; ptr=(car *)malloc(sizeof(car)); ptr->No=300+i; ptr->Type='C'; ptr->Payment=200; ptr->fine=400; pc=ptr; pc=ptr->next; } pa=NULL;pb=NULL;pc=NULL; } int menu() { int choice; printf("\n\n\n选择服务:1.查询 2.租车 3.归还 4.退出\n"); scanf("%d",&choice); while(choice!=1&&choice!=2&&choice!=3&&choice!=4) { printf("\n输入有误,重新输入:"); scanf("%d",&choice); } return choice; } void search() { int choice; printf("\n你想查询:1.汽车 2.顾客 3.返回 \n"); scanf("%d",&choice); while(choice!=1&&choice!=2&&choice!=3) { printf("\n输入有误,重新输入:"); scanf("%d",&choice); } switch(choice) { case 1:carSc(); break; case 2:clientSc(); break; case 3: ; default:; } } void carSc() { printf("\n\n所有汽车信息:\n"); printf("\nA类汽车还剩%d辆.\nB类汽车还剩%d辆.\nC类汽车还剩%d辆.", headNode[0].avl,headNode[1].avl,headNode[2].avl); } void clientSc() { client *ptr=allClien; printf("\n\n所有顾客信息:\n"); while(ptr!=NULL) { printf("\n\n顾客编号:%d",ptr->No); printf("\n顾客姓名:%s",ptr->Name); printf("\n驾照类型:%c",ptr->License); printf("\n租赁车号:%d",ptr->carNo); printf("\n租赁天数:%d",ptr->Day); printf("\n延迟天数:%d",ptr->DelayDay); ptr=ptr->next; } } void addCli(client *cli) { if(allClien) allClien=cli; else { cli->next=allClien->next; allClien=cli; } } client* delCli(int clientNo) { client *ptr,*prePtr;; ptr=allClien; while(ptr!=NULL&&ptr->No!=clientNo) { prePtr=ptr; ptr=ptr->next; } if(ptr!=NULL) { if(ptr==allClien) { allClien=NULL; } else { prePtr->next=ptr->next; } } return ptr; } void rent() { char name[20],type,Yes_No; int num,day,No; car *carPtr; client *cli; printf("\n\n输入执照类型(A/B/C):"); scanf("%c",&type); while(type!='A'&&type!='B'&&type!='C') { printf("输入有误,重新输入:"); scanf("%c",&type); } if(type=='A') num=headNode[0].avl; else if(type=='B') num=headNode[1].avl; else num=headNode[2].avl; printf("\n%c类汽车还剩%d辆,是否要租凭(Y/N):",type,num); scanf("%c",&Yes_No); while(Yes_No!='Y'&&Yes_No!='N'&&Yes_No!='y'&&Yes_No!='n') { printf("Y或N:"); scanf("%c",&Yes_No); } /*增加顾客*/ if(Yes_No=='Y'||Yes_No=='y') { printf("\n输入你的名字:"); scanf("%s",name); printf("\n输入你的租赁天数:"); scanf("%d",&day); } No=rand()%60+200; carPtr=delCar(type); cli=(client *)malloc(sizeof(client)); cli->No=No; strcpy(cli->Name,name); cli->License=type; cli->carNo=carPtr->No; cli->Day=day; cli->DelayDay=0; cli->next=NULL; addCli(cli); /*移出一辆车*/ printf("\n你的顾客编号是:%d",No); printf("\n你所租赁的汽车是%c类车,车号是:%d",type,carPtr->No); printf("\n你的租赁天数是%d天.",day); } void giveback() { int No; long int payment; client *ptr; printf("\n\n顾客编号:"); scanf("%d",&No); if((ptr=delCli(No))==NULL) printf("\n该顾客不存在,无法归还!"); else { switch(ptr->License) { case 1:payment=ptr->Day*400+ptr->DelayDay*600;break; case 2:payment=ptr->Day*300+ptr->DelayDay*500;break; case 3:payment=ptr->Day*200+ptr->DelayDay*400;break; default:; } printf("\n\n顾客姓名:%s",ptr->Name); printf("\n驾照类型:%c",ptr->License); printf("\n租赁车号:%d",ptr->carNo); printf("\n租赁天数:%d",ptr->Day); printf("\n延迟天数:%d",ptr->DelayDay); printf("\n\n所需费用:%ld",payment); addCar(ptr->License,ptr->carNo); free(ptr); } } void addCar(char carType,int carNo) { car *ptr; int index=carType-65; ptr=headNode[index].head; if(ptr==NULL) {ptr=(car *)malloc(sizeof(car)); headNode[index].head=ptr; } else {while(ptr->next) ptr=ptr->next; ptr->next=(car *)malloc(sizeof(car)); ptr=ptr->next; } ptr->No=carNo; ptr->Type=carType; ptr->Payment= pay[index]; ptr->fine=fine[index]; ptr->next=NULL; } car* delCar(char type) { car *rentcar; switch(type) { case 'A':rentcar=headNode[0].head; headNode[0].head=rentcar->next; break; case 'B':rentcar=headNode[1].head; headNode[1].head=rentcar->next; break; case 'C':rentcar=headNode[2].head; headNode[2].head=rentcar->next; break; default:; } return rentcar; } void Exit() { printf("\n欢迎使用.....888888888886666...."); exit(0); }
热爱每一刻
怎么写开题报告呢?首先要把在准备工作当中搜集的资料整理出来,包括课题名称、课题内容、课题的理论依据、参加人员、组织安排和分工、大概需要的时间、经费的估算等等。第一是标题的拟定。课题在准备工作中已经确立了,所以开题报告的标题是不成问题的,把你研究的课题直接写上就行了。比如我曾指导过一组同学对伦教的文化诸如“伦教糕”、伦教木工机械、伦教文物等进行研究,拟定的标题就是“伦教文化研究”。第二就是内容的撰写。开题报告的主要内容包括以下几个部分:一、课题研究的背景。 所谓课题背景,主要指的是为什么要对这个课题进行研究,所以有的课题干脆把这一部分称为“问题的提出”,意思就是说为什么要提出这个问题,或者说提出这个课题。比如我曾指导的一个课题“伦教文化研究”,背景说明部分里就是说在改革开放的浪潮中,伦教作为珠江三角洲一角,在经济迅速发展的同时,她的文化发展怎么样,有哪些成就,对居民有什么影响,有哪些还要改进的。当然背景所叙述的内容还有很多,既可以是社会背景,也可以是自然背景。关键在于我们所确定的课题是什么。二、课题研究的内容。课题研究的内容,顾名思义,就是我们的课题要研究的是什么。比如我校黄姝老师的指导的课题“佛山新八景”,课题研究的内容就是:“以佛山新八景为重点,考察佛山历史文化沉淀的昨天、今天、明天,结合佛山经济发展的趋势,拟定开发具有新佛山、新八景、新气象的文化旅游的可行性报告及开发方案。”三、课题研究的目的和意义。课题研究的目的,应该叙述自己在这次研究中想要达到的境地或想要得到的结果。比如我校叶少珍老师指导的“重走长征路”研究课题,在其研究目标一栏中就是这样叙述的:1、通过再现长征历程,追忆红军战士的丰功伟绩,对长征概况、长征途中遇到了哪些艰难险阻、什么是长征精神,有更深刻的了解和感悟。2、通过小组同学间的分工合作、交流、展示、解说,培养合作参与精神和自我展示能力。3、通过本次活动,使同学的信息技术得到提高,进一步提高信息素养。四、课题研究的方法。在“课题研究的方法”这一部分,应该提出本课题组关于解决本课题问题的门路或者说程序等。一般来说,研究性学习的课题研究方法有:实地调查考察法(通过组织学生到所研究的处所实地调查,从而得出结论的方法)、问卷调查法(根据本课题的情况和自己要了解的内容设置一些问题,以问卷的形式向相关人员调查的方法)、人物采访法(直接向有关人员采访,以掌握第一手材料的方法)、文献法(通过查阅各类资料、图表等,分析、比较得出结论)等等。在课题研究中,应该根据自己课题的实际情况提出相关的课题研究方法,不一定面面俱到,只要实用就行。五、课题研究的步骤。课题研究的步骤,当然就是说本课题准备通过哪几步程序来达到研究的目的。所以在这一部分里应该着重思考的问题就是自己的课题大概准备分几步来完成。一般来说课题研究的基本步骤不外乎是以下几个方面:准备阶段、查阅资料阶段、实地考察阶段、问卷调查阶段、采访阶段、资料的分析整理阶段、对本课题的总结与反思阶段等。六、课题参与人员及组织分工。这属于对本课题研究的管理范畴,但也不可忽视。因为管理不到位,学生不能明确自己的职责,有时就会偷懒或者互相推诿,有时就会做重复劳动。因此课题参与人员的组织分工是不可少的。最好是把所有的参与研究的学生分成几个小组,每个小组通过民主选举的方式推选出小组长,由小组长负责本小组的任务分派和落实。然后根据本课题的情况,把相关的研究任务分割成几大部分,一个小组负责一个部分。最后由小组长组织人员汇总和整理。七、课题的经费估算。一个课题要开展,必然需要一些经费来启动,所以最后还应该大概地估算一下本课题所需要 的资金是多少,比如搜集资料需要多少钱,实地调查的外出经费,问卷调查的印刷和分发的费用,课题组所要占用的场地费,有些课题还需要购买一些相关的材料,结题报告等资料的印刷费等等。所谓“大军未动,粮草先行”,没有足够的资金作后盾,课题研究势必举步维艰,捉襟见肘,甚至于半途而废。因此,课题的经费也必须在开题之初就估算好,未雨绸缪,才能真正把本课题的研究做到最好。
小店开张,一周之内所有论文特价优惠酬宾,欢迎你的光临,肯定有你想要的
汽车租赁系统是汽车租赁公司的办公系统,包括从车辆的购置预算,审核购置,车辆预定,合同签订,车辆交接,收款结算,车辆维修,保险,违章车辆处置等业务。汽车租赁系统是
本文由my_truetears贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 我国汽车金融事业发展 我国
1、论文题目:要求准确、简练、醒目、新颖。2、目录:目录是论文中主要段落的简表。(短篇论文不必列目录)3、提要:是文章主要内容的摘录,要求短、精、完整。字数少可
汽车租赁业被称为交通运输服务行,因为它不需要 保险 、年检和维护,而且模型可以随意更换,所以通过租车而不是买车来控制企业成本。这种管理方式在国外企业非常流行