工程大学计算机科学与工程学院综合设计报告设计名称:程序设计综合设计设计题目:汽车租赁管理系统学生学号:专业班级:学生:学生成绩:指导教师(职称):课题工作时间: 2011-12-26 至 2012-1-6说明:1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。
2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。
3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全面的评价。
4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。
答辩小组成员应由2人及以上教师组成。
5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。
6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。
7、此表格式为工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及容做适当的调整,并上报学院批准。
成绩评定表学生:学号:班级:答辩记录表指导教师评语目录摘要........................................................ I I Abstract ..................................................... I II 第一章课题背景.. (1)1.1 基本理论依据 (1)1.1.1程序设计构思 (1)第二章设计简介及设计方案论述 (3)2.1 设计简介 (3)2.1.1 设计方案 (4)第三章详细设计 (6)3.1 菜单设计 (6)3.1.1 程序详细设计 (6)第四章设计结果及分析 (9)4.1 测试结果 (9)4.1.1 结果分析 (10)总结 (11)致 (12)参考文献 (14)附录 (15)摘要关键词:计算机;汽车租凭系统;C++面向对象程序设计;数据存储在经济快速发展的今天,计算机已经成为人们日常生活不可缺少的部分。
每个公司都有自己的管理系统,汽车租赁系统是现代汽车租赁公司不可缺少的工具,公司要拥有一个完整的车辆管理体系,能够提供用户租车和还车、实现添加车辆、查找车辆信息、删除车辆、以及修改车辆信息的基本功能,才能使公司正常运行。
我们用最简单程序设计语言C++面象对象的程序设计实现公司部的基本服务和面象用户的租赁服务,可以让用户的查看所有车辆的信息,方便租车和还车。
程序完成后手动将数据保存到文件中,方便下次启动租赁系统的时候直接将文件中的数据导入到存中,继续使用。
完成添加、查找、删除、修改、租车和还车的基本功能和数据存储。
AbstractIn today's rapid economic development, the computer has become indispensable part of daily life. Every company has its own management system, car rental system is the modern car rental companies indispensable tools, companies need to have a complete vehicle management system, to provide users with car rental, realize add vehicles, search vehicles messages, deleting vehicles, and modify the basic functions of the vehicle information, can make the company to normal operation. We use the most simple programming language C++ oo programming realize the company's internal basic services like the user and rental service, to allow the user to view all of the vehicle information, convenient and car rental. After the completion of the program manual will save to file data, so start next time when the lease system directly in the file data import into memory, continue to use. Complete add, delete, modify, search, rental car and the basic functions and data storage.第一章课题背景本课题以汽车租凭管理系统为背景,要求学生写出一个提供车辆的基本管理功能;车辆的基本查询功能和车辆租赁的基本服务功能的系统。
汽车租赁系统的程序设计,需要考察的不仅仅是简单的课本上的那些程序设计语法,平时的课本上说的一些都是简单的计算之类的问题,用程序设计语言编写出来,考察的多数只是算法和语法,并没有涉及到现实生活中的问题。
正好,汽车租赁系统这个程序设计和平时的生活问题关系紧密,不是简单的语法和算法可以解决的。
通过汽车租凭系统程序让同学们认识自己所学的程序设计语言在实践中的运用,使我们在课本上学习的知识和日常生活相结合,让同学们加深理解。
1.1 基本理论依据汽车租凭管理西系统用面向对象程序设计C++来完成,首先,用一个Vehicle的基类,其次就是又构造了一个Date类和Time类进行费用的计算。
在写文件的的时候,需要把数据从文件中读出和读入,用链表或对象数组来存储数据,并进行文件的读写。
1.1.1程序设计构思这一章应说明本设计课题的背景、目的、意义、应解决的主要问题及应达到的技术要求;本设计的基本理论依据和主要工作容。
鉴于车辆在归还和租赁时复杂的过程和工作量,应用程序实现整个过程就可方便进行租赁和归还的操作而不用去进行手动重复繁杂地操作过程,节省了一定的时间,也得到了较高的效率.在该操作的整个过程中,始终用一个文件来保存用户输入和系统计算出来的信息,从而在下次程序被执行时,我们就可以轻易地调出以前的信息记录,以免要将上次的信息要进行重复地录入,在文件的操作过程中,需要以统一的方式将节点中的信息往文件中写入,从而在我们下一次提取文件中的信息时,我们也可以以统一的同一个模式将以前的信息正确无误地提取出来保存到一个节点中,有效地进行对应地计算和保存,这样我们就能使整个操作的过程顺利无误的进行.在整个程序的实现过程之前,一点我们必须知道,就是在整个操作过程中,就是整个租赁和归还的具体流程和基本的功能操作.整个租赁和归还的过程分为12个基本的操作功能:添加车辆,修改车辆信息,删除车辆信息,租车,还车,费用计算,查询车辆的租赁情况,查询每月租赁情况,退出,保存本次租车和还车的记录,导入以前的租车数据记录和相关信息,显示车辆的信息.将程序的编写过程则顺理成章地将整个任务过程分为这几个大的模块,用函数予以实现和完善即可.在函数的实现过程中,其实也是较为复杂的一个过程,必须用到正确的变量和一些方法去实现它的整个流程,在整个程序的实现过程中,我们需要尽量用到效率较高的计算方法,这样可以大简化代码量和计算的过程,便于程序地顺利执行.本程序基本上可以以较高地效率实现租车系统中的一系列相关的操作问题,对于一些处理的细节,本程序也有考虑到,如跨年问题的处理,跨月问题的处理,等较为细碎的问题细节也将关乎到程序的成败,否则在租赁的过程中会出现较大的问题处理.甚至会导致程序在读写文件时的信息对应错误,从而影响到以后的执行过程和一些重要的信息保存,那样将会产生较为严重的后果,更不用去谈能够实现租赁车辆和归还车辆的一系列操作过程。
第二章设计简介及设计方案论述2.1 设计简介针对于车辆在租赁和归还中的复杂性和计费的冗余性,对整个过程由了大致的了解后,编写出科学地符合该操作整个流程的程序段.对每辆车的全部有效信息保存于一个链表的节点中,生成一个链表头将各个车辆的信息串联起来,从而能够用链表的方式将整个租赁和归还过程中所要求的信息记录得以保存.在计费的过程中就能够对应地找到该辆车对应的链表上的信息,对需要的信息进行适当地调用就可方便地提供给用户和客户信息.实现整个操作的基本过程.2.1.1 设计方案本程序采用C++语言编写,整个课题的功能实现可以按照几个功能模块的函数编写来完成。
依据以上的目的和做法,可将整个菜单一共设置为添加车辆,删除车辆,租赁车辆,归还车辆,查询每一辆车的租用记录,查询每个月的租用记录,保存上次的录入车辆信息和租车的记录,还车的记录,从文件中提取以前的相关信息并将其导入到程序中,从而保证上次录入的车辆信息和车辆租用记录,还车的记录日期等重要信息,退出等几个功能模块。
在整个程序的设计中,最为重要的也就是如何用有效的记录保存机制将整个车辆的信息和记录保存起来。
最为有效的方法就是用链表的方式,每辆车的车辆信息和租用归还记录都用链表中对应的一个节点予以表示,再将各个链表对应的串联起来,也就保存了本次的信息。
在每次运行程序以前,先将文件中的信息导出来,再导出来的同时,由于存储文件时是按一个一个节点的存储的,所以每次把信息读出来的时候也就是按照这个顺序,顺序地读出来也就是一个节点的信息,将这些信息用一个新生成的节点保存起来,每次将这个新生成的节点连接到表头上去从而将以前的信息提取了出来并且保存到了链表中。
所以以前的信息仍然还在里面以便下一次的查询和调用。
在每次向文件里面写入节点信息之前,必须先清空文件上一次的容,否则读出来的信息将会是从第一次保存的信息开始往外读出,直到本次之前的信息。
由于后一次向文件中写入数据时都会将本次以前所有的信息写入。
如果按照这种读出方式,会导致同一个信息被读几次出来,影响了文件信息的读出效果,保存文件时也会导致出现重复保存,也就不符合程序应用文件的作用了。
在构造简单框架的时候,我将它们分为了四个部分,下面我将这四个部分中的容做一简单介绍。
在菜单信息中定义了三个函数:ShowAllInformation() 、ShowMenuInformation() 和OperatorVehicle() 。