程序设计综合设计汽车租赁管理系统Word下载.docx

上传人:b****6 文档编号:19547290 上传时间:2023-01-07 格式:DOCX 页数:34 大小:66.48KB
下载 相关 举报
程序设计综合设计汽车租赁管理系统Word下载.docx_第1页
第1页 / 共34页
程序设计综合设计汽车租赁管理系统Word下载.docx_第2页
第2页 / 共34页
程序设计综合设计汽车租赁管理系统Word下载.docx_第3页
第3页 / 共34页
程序设计综合设计汽车租赁管理系统Word下载.docx_第4页
第4页 / 共34页
程序设计综合设计汽车租赁管理系统Word下载.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

程序设计综合设计汽车租赁管理系统Word下载.docx

《程序设计综合设计汽车租赁管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《程序设计综合设计汽车租赁管理系统Word下载.docx(34页珍藏版)》请在冰豆网上搜索。

程序设计综合设计汽车租赁管理系统Word下载.docx

2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。

3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全面的评价。

4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。

答辩小组成员应由2人及以上教师组成。

5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。

6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。

7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。

成绩评定表

学号:

班级:

类别

合计

分值

各项分值

评分标准

实际得分

合计得分

备注

平时表现

10

按时参加综合设计,无旷课、迟到、早退、违反实验室纪律等情况。

完成情况

30

20

按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。

能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。

报告质量

35

报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;

报告字数符合相关要求,工整规范,整齐划一。

5

课题背景介绍清楚,综述分析充分。

设计方案合理、可行,论证严谨,逻辑性强,具有说服力。

符号统一;

图表完备、符合规范要求。

能对整个设计过程进行全面的总结,得出有价值的结论或结果。

参考文献数量在3篇以上,格式符合要求,在正文中正确引用。

答辩情况

25

在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。

15

在规定时间内能准确、完整、流利地回答教师所提出的问题。

总评成绩:

补充说明:

指导教师:

(签字)

日期:

年月日

答辩记录表

答辩地点:

答辩内容记录:

答辩成绩

答辩小组成员(签字):

指导教师评语

指导教师:

一、综合设计目的、条件、任务和内容要求:

某汽车租赁公司提供租车服务,需要系统提供以下功能。

1.可出租的车有两种,小轿车和货车。

小轿车按天计算租赁费用,货车可按小时(也可按天)计算租赁费用。

小轿车每天租赁费用为100元,货车每小时租赁费用为30元,若按天租则每天300元。

小轿车和货车租赁的天数若超过3天,则按8折计算租车费用。

2.系统需提供车辆的基本管理功能,如:

添加车辆,修改车辆信息、删除车辆。

3.系统提供车辆租赁的基本服务功能,如:

租车,还车,费用计算等。

4.系统需提供车辆的基本查询功能,如:

车辆的租赁情况。

车辆每月租赁情况按以下格式显示:

车辆租赁情况一览表

车号车辆类型租赁情况

C0001carXXX--XXXX-----XXXXXX---O-----

T0001truckHXX--HHHX--HHHXXXHHH---HHHXXX

....

对于小轿车X表示租出状态、-表示空闲状态,对于货车X表示按天租出状态、H表示按小时租出状态、O表示车辆已出租,还没有还、-表示空闲状态。

通过本设计可以使学生在掌握C语言及C++语言的的基础上,进行实际应用,设计一个小型的软件。

可以巩固已经学过的基础课及专业课知识,开阔学生的视野,锻炼学生的自学能力及独立动手能力。

指导教师签字:

年月日

二、进度安排:

2011-12-26:

明确所选课题的具体要求,按要求阅读相关的参考文献及资料

2011-12-27至2012-1-5:

课题代码实现、课程设计报告书写

2012-1-6:

课程设计答辩

3、应收集资料及主要参考文献:

[1]张俊.C++面象对象程序设计[M].北京:

中国铁道出版社,2008.90-100.

[2]姬涛.计算机程序设计基础[M].北京:

中国传媒大学出版社.2010.157-301.

[3]田鲁怀.数据结构[M].北京:

电子工业出版社.2006.100-200.

四、综合设计(课程设计)摘要(中文):

在经济快速发展的今天,计算机已经成为人们日常生活不可缺少的部分。

每个公司都有自己的管理系统,汽车租赁系统是现代汽车租赁公司不可缺少的工具,公司要拥有一个完整的车辆管理体系,能够提供用户租车和还车、实现添加车辆、查找车辆信息、删除车辆、以及修改车辆信息的基本功能,才能使公司正常运行。

我们用最简单程序设计语言C++面象对象的程序设计实现公司内部的基本服务和面象用户的租赁服务,可以让用户的查看所有车辆的信息,方便租车和还车。

程序完成后手动将数据保存到文件中,方便下次启动租赁系统的时候直接将文件中的数据导入到内存中,继续使用。

完成添加、查找、删除、修改、租车和还车的基本功能和数据存储。

五、综合设计(课程设计)Abstract(英文):

Intoday'

srapideconomicdevelopment,thecomputerhasbecomeindispensablepartofdailylife.Everycompanyhasitsownmanagementsystem,carrentalsystemisthemoderncarrentalcompaniesindispensabletools,companiesneedtohaveacompletevehiclemanagementsystem,toprovideuserswithcarrental,realizeaddvehicles,searchvehiclesmessages,deletingvehicles,andmodifythebasicfunctionsofthevehicleinformation,canmakethecompanytonormaloperation.WeusethemostsimpleprogramminglanguageC++ooprogrammingrealizethecompany'

sinternalbasicservicesliketheuserandrentalservice,toallowtheusertoviewallofthevehicleinformation,convenientandarrental.Afterthecompletionoftheprogrammanualwillsavetofiledata,sostartnexttimewhentheleasesystemdirectlyinthefiledataimportintomemory,continuetouse.Completeadd,delete,modify,search,rentalcarandthebasicfunctionsanddatastorage.

摘要

关键词:

计算机;

汽车租凭系统;

C++面向对象程序设计;

数据存储

Abstract

Intoday'

sinternalbasicservicesliketheuserandrentalservice,toallowtheusertoviewallofthevehicleinformation,convenientandcarrental.Afterthecompletionoftheprogrammanualwillsavetofiledata,sostartnexttimewhentheleasesystemdirectlyinthefiledataimportintomemory,continuetouse.Completeadd,delete,modify,search,rentalcarandthebasicfunctionsanddatastorage.

第一章课题背景

本课题以汽车租凭管理系统为背景,要求学生写出一个提供车辆的基本管理功能;

车辆的基本查询功能和车辆租赁的基本服务功能的系统。

汽车租赁系统的程序设计,需要考察的不仅仅是简单的课本上的那些程序设计语法,平时的课本上说的一些都是简单的计算之类的问题,用程序设计语言编写出来,考察的多数只是算法和语法,并没有涉及到现实生活中的问题。

正好,汽车租赁系统这个程序设计和平时的生活问题关系紧密,不是简单的语法和算法可以解决的。

通过汽车租凭系统程序让同学们认识自己所学的程序设计语言在实践中的运用,使我们在课本上学习的知识和日常生活相结合,让同学们加深理解。

1.1基本理论依据

汽车租凭管理西系统用面向对象程序设计C++来完成,首先,用一个Vehicle的基类,其次就是又构造了一个Date类和Time类进行费用的计算。

在写文件的的时候,需要把数据从文件中读出和读入,用链表或对象数组来存储数据,并进行文件的读写。

1.1.1程序设计构思

这一章应说明本设计课题的背景、目的、意义、应解决的主要问题及应达到的技术要求;

本设计的基本理论依据和主要工作内容。

鉴于车辆在归还和租赁时复杂的过程和工作量,应用程序实现整个过程就可方便进行租赁和归还的操作而不用去进行手动重复繁杂地操作过程,节省了一定的时间,也得到了较高的效率.在该操作的整个过程中,始终用一个文件来保存用户输入和系统计算出来的信息,从而在下次程序被执行时,我们就可以轻易地调出以前的信息记录,以免要将上次的信息要进行重复地录入,在文件的操作过程中,需要以统一的方式将节点中的信息往文件中写入,从而在我们下一次提取文件中的信息时,我们也可以以统一的同一个模式将以前的信息正确无误地提取出来保存到一个节点中,有效地进行对应地计算和保存,这样我们就能使整个操作的过程顺利无误的进行.在整个程序的实现过程之前,一点我们必须知道,就是在整个操作过程中,就是整个租赁和归还的具体流程和基本的功能操作.整个租赁和归还的过程分为12个基本的操作功能:

添加车辆,修改车辆信息,删除车辆信息,租车,还车,费用计算,查询车辆的租赁情况,查询每月租赁情况,退出,保存本次租车和还车的记录,导入以前的租车数据记录和相关信息,显示车辆的信息.将程序的编写过程则顺理成章地将整个任务过程分为这几个大的模块,用函数予以实现和完善即可.在函数的实现过程中,其实也是较为复杂的一个过程,必须用到正确的变量和一些方法去实现它的整个流程,在整个程序的实现过程中,我们需要尽量用到效率较高的计算方法,这样可以大大地简化代码量和计算的过程,便于程序地顺利执行.本程序基本上可以以较高地效率实现租车系统中的一系列相关的操作问题,对于一些处理的细节,本程序也有考虑到,如跨年问题的处理,跨月问题的处理,等较为细碎的问题细节也将关乎到程序的成败,否则在租赁的过程中会出现较大的问题处理.甚至会导致程序在读写文件时的信息对应错误,从而影响到以后的执行过程和一些重要的信息保存,那样将会产生较为严重的后果,更不用去谈能够实现租赁车辆和归还车辆的一系列操作过程。

第二章设计简介及设计方案论述

2.1设计简介

针对于车辆在租赁和归还中的复杂性和计费的冗余性,对整个过程由了大致的了解

后,编写出科学地符合该操作整个流程的程序段.对每辆车的全部有效信息保存于一个链表的节点中,生成一个链表头将各个车辆的信息串联起来,从而能够用链表的方式将整个租赁和归还过程中所要求的信息记录得以保存.在计费的过程中就能够对应地找到该辆车对应的链表上的信息,对需要的信息进行适当地调用就可方便地提供给用户和客户信息.实现整个操作的基本过程.

2.1.1设计方案

本程序采用C++语言编写,整个课题的功能实现可以按照几个功能模块的函数编写来完成。

依据以上的目的和做法,可将整个菜单一共设置为添加车辆,删除车辆,租赁车辆,归还车辆,查询每一辆车的租用记录,查询每个月内的租用记录,保存上次的录入车辆信息和租车的记录,还车的记录,从文件中提取以前的相关信息并将其导入到程序中,从而保证上次录入的车辆信息和车辆租用记录,还车的记录日期等重要信息,退出等几个功能模块。

在整个程序的设计中,最为重要的也就是如何用有效的记录保存机制将整个车辆的信息和记录保存起来。

最为有效的方法就是用链表的方式,每辆车的车辆信息和租用归还记录都用链表中对应的一个节点予以表示,再将各个链表对应的串联起来,也就保存了本次的信息。

在每次运行程序以前,先将文件中的信息导出来,再导出来的同时,由于存储文件时是按一个一个节点的存储的,所以每次把信息读出来的时候也就是按照这个顺序,顺序地读出来也就是一个节点的信息,将这些信息用一个新生成的节点保存起来,每次将这个新生成的节点连接到表头上去从而将以前的信息提取了出来并且保存到了链表中。

所以以前的信息仍然还在里面以便下一次的查询和调用。

在每次向文件里面写入节点信息之前,必须先清空文件上一次的内容,否则读出来的信息将会是从第一次保存的信息开始往外读出,直到本次之前的信息。

由于后一次向文件中写入数据时都会将本次以前所有的信息写入。

如果按照这种读出方式,会导致同一个信息被读几次出来,影响了文件信息的读出效果,保存文件时也会导致出现重复保存,也就不符合程序应用文件的作用了。

在构造简单框架的时候,我将它们分为了四个部分,下面我将这四个部分中的内容做一简单介绍。

在菜单信息中定义了三个函数:

ShowAllInformation()、ShowMenuInformation()和OperatorVehicle()。

其中ShowAllInformation()显示所有信息;

ShowMenuInformation()用以显示所要操作的信息;

OperatorVehicle()是与显示信心想关联的操作。

另外加进来一个Stand()函数,定义的是车位,也就是车库对车的编号。

在操作函数中定义了AddVehicle()、SearchVehicle()、DeleteVehicle()、ChangeVehicle()、RentVehicle()、ReturnVehicle()函数。

分别用来添加车辆、查找车辆、删除车辆、修改车辆、租车和还车。

文件中定义了madetxt()、InputTxtInformation()和OutputInformation()三个函数。

分别用来创建文件,导入文件和导出文件。

最后一部分就是对Vehicle的输入和输出运算符的重载。

第三章详细设计

3.1菜单设计

可将整个菜单一共设置为添加车辆,删除车辆,租赁车辆,归还车辆,查询每一辆车的租用记录,查询每个月内的租用记录,保存上次的录入车辆信息和租车的记录,还车的记录,从文件中提取以前的相关信息并将其导入到程序中,从而保证上次录入的车辆信息和车辆租用记录,还车的记录日期等重要信息,退出等几个功能模块。

3.1.1程序详细设计

对于本程序,在保存租赁信息的同时,是否能将租赁的借和还的信息对应的保存起来,从而以备车辆的收费计算和车辆信息的查询,因此我们可以定义两个日期的结构体数组,在车辆每被借出去一次后,它必须被相应的还回去一次,并且在同一辆车被租赁出去以后在该车未被归还之前它是不能被租赁出去的,所以只能是借一次还一次的重复的进行。

所以将一辆车租出去的时间保存到结构体数组的第几个元素中,那么它对应的还车时间记录在归还的时候也就必将被保存到另外一个结构体数组的第几个元素中,那么在查询和计算费用的时候,只需要提取两个结构体数组中同一个位置上的元素再进行计算和查询即可。

对于车辆的删除操作,由于每次都要把以前的信息保存到链表中,在保存之前会把文件中之前的信息予以清空,则只需要将对应链表中的对应的节点信息删除出链表,然后保存链表的节点信息时也就不会保存删除的节点信息,该车辆的信息也就被删除了。

对于添加车辆的操作实际上也就是在链表中增加一个节点然后在节点中保存该车的信息,将该链表保存到链表中即可。

对于查询字符串的表示,我们可以为每一个节点定义一个字符数组域,每次该车辆被租出时,就将对应的状态‘X’保存到该字符数组中,从而该字符对应的栈顶指针和租赁日期的栈顶指针是同一个位置的地方。

在输出该车辆的租赁记录时,光输出‘X’的状态是不行的,在每次输出‘X’的状态之后,检查对应的本次租车的归还时间和下一次租车的租车时间是不是一致的,如果不是一致的,那么说明在本次租车的归还时间和下次租车的租车时间的间隔时间内该车是空闲的,这个状态也就必须要表示出来。

故在每次执行该检查操作之后,对应的输出空闲的状态,如没有空闲的状态则就不会输出该状态,继续下次的输出操作。

还有一个问题需要考虑的是,如果该车被租赁出去后没有还,在查询状态时,需要对应的输出0的状态,则可以检查该车的输出表示,因为在每次租车的时候,状态都被改为了‘X’。

第四章设计结果及分析

4.1测试结果

整个程序段是按照课题的要求进行的具体设计,基本能够实现课题所要求的各个功能,将各个功能付诸了较为详细的实现过程,但实现的代码量较为大,实现的过程较为繁琐,没有能够应用很好的计算方法去逐步地实现每个要求解决的功能菜单,影响了程序的执行效率的进一步飞跃式提升.

图1菜单界面

Figure1menuinterface

图2费用计算

Figure2costcalculation

4.1.1结果分析

从上面运行的结果显示,基本完成了添加车辆、查找车辆信息、删除车辆、租车、还车和导入文件等操作,且能够正确的显示运行结果。

整个程序段还是基本的实现了课题所要求的基本功能要求.

总结

完成了这次计算器的程序设计,我收获很多,也体会很多,要学好一门学科,没有刻苦钻研的精神是不行的,只有在不断的尝试中,不断经历失败,然后又不断的尝试才能获得成功。

  要完成一个优秀的程序,必须熟练掌握各种语句的特点及用法,要学会举一反三,充分实现C程序的灵活性。

在平时的学习实践中,要不断开动脑筋,活学活用。

要发扬团体合作的精神,互帮互助,共同进步。

善于发问,善于思考。

  刚开始接触C程序,就觉得有一种似曾相识的感觉,因为以前学过VB.说实话,我对编程挺感兴趣,一个程序编写完成运行成功之后的喜悦真的让人难忘,就像次的课程设计,一开始画图,计算器有许多数字键,要一个一个方框的画很麻烦,我就试着能不能找到一个简单的方法能一下子画完。

我联想到了二维数组,每一个方框就好象数组中的每一个元素。

于是我就试着用两个for嵌套的方法,经过反复尝试,终于成功了,你说的没错,当时的感觉真的比游戏打通关了还要好。

  在写程序的过程中,我又碰到了一些难题,比如按键的闪烁问题,按键不能直接运行的问题,不能连续运行问题,还有数字不能成串显示问题。

其中有些是问你的,有些是我自己解决的。

比如连续运行,闪烁做好后,我发现每次运行只能按一个数字,按第二个数字的时候就跳出了,后来我想到了在switch之前加for的办法,这样就可以用循环的办法达到我想达到的目的。

至于数字成串问题,其实我

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1