C课程设计汽车管理系统1

上传人:痛*** 文档编号:85956180 上传时间:2022-05-06 格式:DOC 页数:66 大小:681.66KB
收藏 版权申诉 举报 下载
C课程设计汽车管理系统1_第1页
第1页 / 共66页
C课程设计汽车管理系统1_第2页
第2页 / 共66页
C课程设计汽车管理系统1_第3页
第3页 / 共66页
资源描述:

《C课程设计汽车管理系统1》由会员分享,可在线阅读,更多相关《C课程设计汽车管理系统1(66页珍藏版)》请在装配图网上搜索。

1、武汉工程大学 计算机科学与工程学院综合设计报告设计名称: 程序设计综合设计 设计题目: 汽车租赁管理系统 学生学号: 1005080214 专业班级: 计算机工程2班 学生姓名: 刘子龙 学生成绩: 指导教师(职称): 刘黎志(讲师) 课题工作时间: 2011-12-26 至 2012-1-6 说明:1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全

2、面的评价。4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。答辩小组成员应由2人及以上教师组成。5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。成绩评定表学生姓名: 刘子龙 学号: 1005080214 班级: 计算机工程2班 类别合计分值各项分值评分标准实际得分合计得分备注平时表现1010按时参加综合设计,无旷课

3、、迟到、早退、违反实验室纪律等情况。完成情况3020按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。10能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。报告质量3510报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。5课题背景介绍清楚,综述分析充分。5设计方案合理、可行,论证严谨,逻辑性强,具有说服力。5符号统一;图表完备、符合规范要求。5能对整个设计过程进行全面的总结,得出有价值的结论或结果。5参考文献数量在3篇以上,格式符合要求,在正文中正确引用。答辩情况2510在规定时间内能就所设计的

4、内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩: 分 补充说明: 指导教师: (签字)日 期: 年 月 日答辩记录表学生姓名: 学号: 班级: 答辩地点: 答辩内容记录:答辩成绩合计分值各项分值评分标准实际得分合计得分备注2510在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。答辩小组成员(签字): 年 月 日指导教师评语指导教师: (签字)日 期: 年 月 日一、综合设计目的、条件、任务和内容要求:某汽车租赁公司提供租车服务,需要系

5、统提供以下功能。1.可出租的车有两种,小轿车和货车。小轿车按天计算租赁费用,货车可按小时(也可按天)计算租赁费用。小轿车每天租赁费用为100元,货车每小时租赁费用为30元,若按天租则每天300元。小轿车和货车租赁的天数若超过3天,则按8折计算租车费用。2.系统需提供车辆的基本管理功能,如:添加车辆,修改车辆信息、删除车辆。3.系统提供车辆租赁的基本服务功能,如:租车,还车,费用计算等。4.系统需提供车辆的基本查询功能,如:车辆的租赁情况。车辆每月租赁情况按以下格式显示: 车辆租赁情况一览表车号 车辆类型 租赁情况C0001 car XXX-XXXX-XXXXXX-O-T0001 truck H

6、XX-HHHX-HHHXXXHHH-HHHXXX.说明:对于小轿车X表示租出状态、-表示空闲状态,对于货车X表示按天租出状态、H表示按小时租出状态、O表示车辆已出租,还没有还、-表示空闲状态。通过本设计可以使学生在掌握C 语言及C+语言的的基础上,进行实际应用,设计一个小型的软件。可以巩固已经学过的基础课及专业课知识,开阔学生的视野,锻炼学生的自学能力及独立动手能力。 指导教师签字: 刘黎志 2011 年 12 月 20 日二、进度安排:2011-12-26:明确所选课题的具体要求,按要求阅读相关的参考文献及资料2011-12-27至2012-1-5:课题代码实现、课程设计报告书写2012-1

7、-6:课程设计答辩三、应收集资料及主要参考文献:1. 程序设计基础 2. 面向对象的程序设计3. 数据结构五、综合设计(课程设计)Abstract(英文):AbstractData in the era of information explosion, the society will due to the memory of various information is somewhat annoyed. To solve this problem, the computer management system has great advantages and feasibility. E

8、very formal institutions, have their own information management system, which bears a different task.Vehicle lease management system is a social business management system is a typical management company, mainly the car rental business. Its development mainly includes the backstage database developm

9、ent and maintenance, and the front-end application program development and programming. The former is a very important part of the system, a complete database system it lacks. But now the learning level and course have not reached this level, so this part of the vehicle lease management system not s

10、tated. In this focus on the completion of the program, use C, c+, c#, Java, VB and other languages can be realized, after the basic idea of the integration and analysis of UML, whereas the C + + efficiency, I choose the C + + programming language as a linked list, document flow, combining reading an

11、d writing knowledge and access related literature, the school instructs under teachers help, basically completed the design requirements of the task.Basic functions: management function, service function, query function. For users, can use queries vehicle and the basic situation of lease conditions.

12、 The administrator can this management system, whereby the vehicle to add, delete, modify information, car rental, car, on all vehicle information query.Key words: management system; c+; list; the file stream目 录目 录1摘 要2ABSTRACT3第一章 绪论41.1课题来源41.2课题意义41.3课题目的41.4应解决的主要问题及应达到的技术要求41.5本设计的理论依据5第二章 设计简介

13、及设计方案论述62.1设计内容与目标62.2设计的重点、难点和关键62.3整体设计方案6第三章 详细设计93.1重点,难点技术设计与相关解决93.2整体、详细的设计方案9第四章 设计结果及分析214.1进入系统分析214.2系统操作管理分析234.3系统工作流程分析254.4系统整体性能分析31总 结32致 谢33参考文献34附录 主要程序代码35摘 要在数据信息爆炸的时代,这个社会的人必然会因为要记忆各类繁多的信息多少有些烦恼。在这个问题的解决上,计算机上的管理系统占有很大的优势和可行性。每一个正规机构,都有自己的信息管理系统,它们分别承担着不同的任务。车辆租凭管理系统是社会商用管理系统的一

14、个典型,它主要管理汽车公司整个的租车业务。其完整的开发主要包括后台数据库的开发和维护,以及前端基本应用程序的开发和编写。前者是这个系统的很重要的部分,完整的数据库系统都不能缺少。但由于现在的学习水平和课程还没有达到这个高度,所以这一部分在此车辆租凭管理系统中暂不作说明。在这重点完成前台程序的开发,使用c,c+,c#,Java,VB等语言都可实现,经过基本思路的整合和UML的分析,鉴于C+的高效性,我选择了C+作为编程语言,结合链表、文件流读写的知识和查阅相关文献,在学校指导老师的帮助下,基本完成了设计任务的要求。基本功能:管理功能、服务功能、查询功能。对于用户来说,可以使用查询功能查询车辆的基

15、本情况和租凭情况。管理员则可以对此系统进行管理,即对车辆进行添加、删除、修改信息、租车、还车、对所有车辆信息的查询。关键词:管理系统;c+;链表;文件流AbstractData in the era of information explosion, the society will due to the memory of various information is somewhat annoyed. To solve this problem, the computer management system has great advantages and feasibility. Eve

16、ry formal institutions, have their own information management system, which bears a different task.Vehicle lease management system is a social business management system is a typical management company, mainly the car rental business. Its development mainly includes the backstage database developmen

17、t and maintenance, and the front-end application program development and programming. The former is a very important part of the system, a complete database system it lacks. But now the learning level and course have not reached this level, so this part of the vehicle lease management system not sta

18、ted. In this focus on the completion of the program, use C, c+, c#, Java, VB and other languages can be realized, after the basic idea of the integration and analysis of UML, whereas the C + + efficiency, I choose the C + + programming language as a linked list, document flow, combining reading and

19、writing knowledge and access related literature, the school instructs under teachers help, basically completed the design requirements of the task.Basic functions: management function, service function, query function. For users, can use queries vehicle and the basic situation of lease conditions. T

20、he administrator can this management system, whereby the vehicle to add, delete, modify information, car rental, car, on all vehicle information query.Key words: management system; c+; list; the file stream第一章 绪论1.1课题来源现代社会,人的大脑开始出现一定的记忆压力,因为太多的事情需要然人来处理并且记住大量的数据.计算机的出现,让人们找到了减轻压力的途径,这也是社会发展的必然,人类科技

21、的进步的一个重要标志就是生产力的高效性。计算机与人类相比的优点就是有着极快的计算速度和准确性,性能稳定,具有很高的可靠性,根据此特点,计算机管理系统和数据库诞生了,随着社会的发展,它们的地位更是显得尤其重要,每一个正规的机构都有自己的管理系统,数据库管理系统也是计算机领域的一个重要研究方向,有着不可估量的发张前景。1.2课题意义计算机管理系统在当今的商业社会有着很强大的功能,这也是这几年来计算机飞速发展的一个重要原因,计算机没有思考能力,不能像人一样,它的一切活动都是建立在存储大量数据以及对这些数据进行简单的操作之上的,“人工智能”也不列外,其中计算机管理系统就是一个很好的运用。一个好的管理系

22、统,能承当一个很庞大的任务,在公司,在学校,在政府部门,它都有着自己的职能。汽车租凭管理系统,是汽车公司的重要系统之一,它能管理日常的租凭车辆任务,可靠性高,高效,便捷,节省劳动力,一次投入多次使用,高质量的租凭管理系统和这家汽车公司的业绩是直接挂钩的。1.3课题目的通过此课题的学习和设计,让我们懂得如何开发一个管理系统、需要具备的知识、准备工作和需要考虑的各种问题。当然开发一个汽车租凭管理系统,最直接的目的就是完成汽车公司的租凭任务,主要负责租凭这一块,其中主要的操作包括借车、登记、还车、计费、查询和基本车库的管理。1.4应解决的主要问题及应达到的技术要求1.4.1应解决的主要问题在此系统的

23、开发计划中(暂不考虑后台数据库的开发),我们应该解决的主要问题包括:a. 在计算机中写一个函数,能完成无限添加车辆和存储租车、还车相关信息的任务;b. 怎样将每次操作的记录进行保存,做到每次输入的信息永久有效;c. 怎样做一个人性化的操作界面,既具备视觉美感,操作起来又简便。1.4.2应达到的技术要求1.能在车库中无限添加车辆,删除车辆;2.能修改车辆信息;3.能输出车库中所有车的基本信息;4.租车;5.还车;6.按车号和年月查询车辆出租信息;7.按年月查询车辆出租信息;8.按车号和年月查询车辆出租费用情况;9.按年月查询车辆的出租费用情况;10.保存操作信息;11导入操作信息;12.操作简单

24、,界面具有美感;13.整体性能完整;具体要达到的功能要求如下图中所示:图111.5本设计的理论依据计算机有较强的运算能力和存储数据的功能,具有较强的稳定性和可靠性。链表可以实现无限条记录的保存和查找,可以解决无限添加车辆的问题,而文件的读写能将每次操作的有效数据在计算机内存和磁盘上进行读写,使得每次进入系统从操作的数据我们都有记录,并且在下次登入系统的时候读入计算机内存,在系统程序中继续传递。第二章 设计简介及设计方案论述2.1设计内容与目标设计的内容和主要目标是完成一个具有简单基本功能的汽车租凭管理系统,承当某汽车公司的汽车租凭任务并对其进行有效的管理。管理系统的特点是:功能基本齐全,操作简

25、单易懂。最主要的是能完成基本的汽车租凭义务和管理,承担工作人员的大量繁琐记忆和脑力劳动。2.2设计的重点、难点和关键此设计的重点是各个功能函数的编码,例如添加车辆、租车、还车、计算费用,各种方式的查询等,其中这些操作都建立在对车辆记录的保存和查找上,因为进行这些操作都必先找到相应的记录信息,进行修改,然后再存储起来;设计的难点是无限次添加记录和保存记录,以及对每次记录的保存入库(在下次运用此程序时上次的操作信息还在),包括信息的存储和读取。说到无限次添加记录,一般用数组是不能办到的,我们都知道在用数组之前必须先定义大小;关键是把各个函数正确有效地连接起来,有正确的实参传递,能正确有效地输出预期

26、结果,达到系统管理的目的。这部分说起来简单,但实际去做,那就是程序中最难的一块,这要考虑到各个函数的关联以及每个函数完成的特殊功能和对整个信息记录的影响,就如一个机器人,要让他动起来,得花费大量的功夫来来你接他身体的机械硬件和软件代码2.3整体设计方案a读懂系统设计要求,初步了解设计思路;b首先用UML图分析,得出整体的设计方案;c依据UML图,分个写出每个函数,并留好相应的接口,以便后面每个函数的相互连接;d写一个整体的系统函数,在其中将所有函数聚合在一起,方便调用,可以用一个类来完成此任务;e写出界面函数,做到美观,操作简单,人性化;f写出main函数,组织调用各个函数和各种类,有效地完成

27、整个函数的功能;g全面而又广泛地测试,发现错误,改进错误,改进程序,提高程序的健壮性。整体设计方案:定义一个结构体,里面包括车辆的属性和一些标志,如车号,车型,出租、归还时间,费用,出租状态等,还有一个本身类型的指针,为了构建链表的节点。然后定义两个时间类Date和Time,分别用来计算租车、还车的日期差并计算相应的费用和存储租,归还日期。接下来定义一个类,作为整体调用函数用。完成以后就开始编写各个功能的函数,添加、删除、查询、保存、导入信息等。最后完成界面输出函数和main()函数的定义,界面函数只要做到美观、操作简单就可,主要是main()函数,它起到整体运行程序的作用,系统能不能成功运转

28、,就看它的正确性和高效性。下面分别是节点结构体类的定义:struct Vehiclechar VID10;char VType5;double fee1000;int vsign1000;int Typesign;/作为出租方式的标志,按小时租用1表示,按天租用2表示int sign;/作为是否出租过,租了没还,租了已还的标记,分别用0,1,2标志int k1;int k2; /作为Ldate和Bdate对想数组的下标Time Ldate1000;Time Bdate1000;Vehicle *next;下面分别是Data类的定义:class Dateprivate:int year,mont

29、h,day;public:Date(int y,int m,int d):year(y),month(m),day(d)int count()int counter1=0,m(month-1),d(day);for(;m0;m-)if(m=4|m=6|m=9|m=11)counter1+=30;else if(m=1|m=3|m=5|m=7|m=8|m=10)counter1+=31;else if(m=2)if(year%4=0)counter1+=29;elsecounter1+=28;else std:coutinput errora.year;y-)if(y%4=0)counter+=

30、366;else counter+=365;return counter;其中count()函数用来计算某个日期是该年的第几天,distances()用来计算两个日期的相差天数,从而计算出费用。下面分别是Data类的定义:class Timeprivate:int year,month,day,hour;public:Time(int i=0,int j=0,int k=0,int m=0):year(i),month(j),day(k),hour(m)void time(int yy=0,int mm=0,int dd=0,int hh=0)year=yy;month=mm;day=dd;h

31、our=hh;int Ryear()return year;int Rmonth()return month;int Rday()return day;int Rhour()return hour;friend void lead();第三章 详细设计3.1重点,难点技术设计与相关解决3.1.1设计重点与解决方案设计重点:各个功能函数的编码,例如添加车辆、租车、还车、计算费用,各种方式的查询等。解决方案:使用数据结构的相关知识,对整体的系统构建一个链表,用来存储每次向车库里添加的车辆,可以无限添加,这是链表和数组的区别,并在此基础上创建add(),del(),print(),lend(),ba

32、ck(),v_find(),v_find_all(),v_findfee(),v_find_allfee(),sav(),lead()等函数。3.1.2设计难点与解决方案设计难点:无限次添加车辆和删除车辆,以及对每次记录的保存和读取。解决方案:前者使用链表可以解决,但一辆车到底要租到少次,我们不知道,所以存储每辆车的出租记录也需要创建一个链表,至于信息的存储和导入,我们就用文件的读写操作来完成,每次操作完成后对数据进行保存,用文件写入磁盘,然后每次打开系统的时候再将上次的记录导入程序中(计算机内存中),进行新的操作,这是文件的重要操作。3.2整体、详细的设计方案3.2.1整体的设计思路运用链表

33、知识和文件的读写操作写一个基于命令提示符窗口的汽车租凭管理系统,先写一个存储车辆所有信息的链表,以便于添加车辆,和进行后续的相关工作,然后就是将计算机内存中的车辆信息写到硬盘上,再写一个读入函数,再每次登入系统后将硬盘上的信息读到内存,达到保存操作记录的作用。3.2.2具体步骤1.写一个名为Data的类,数据成员包括year,month,day,成员函数有count,其作用是计算一个日期是该年的第几天,还有一个友元函数distances,在count的配合下计算两个日期的相差天数,从而计算出租车的费用,完成计费任务;2.写一个名为Time的类,数据成员有year,month,day,hour。

34、成员函数有Ryear(),Rmonth(),Rday(),Rhour()和lead(),前四个是此类对外的接口,便于其他函数对私有数据成员的访问,而友元函数lead()是用来完成对操作信息导入的任务的。3.写一个名为Vehicle的结构体,定义车辆链表的一个节点,其中包括数据域和指针域next,数据域包括变量VID,VType,fee,vsign,Typesign,sign,k1,k2,Ldate,Bdate,其中VID,VType是两个字符型数组,用来存放车辆的车号和类型,fee和visgn分别是double型和int型的数组,用来存放每次租车的费用和租还的标志(出租标为1,已归还标为2),

35、sign是有没出租记录的标志(没有出租记录的sign为0,出租了的标志为1,还了的标志为2),Typesign是租车按月或按小时的标志(按小时租为1,按天租为2),Ldate和Bdate是两个class Time型的对象数组,用来存放车辆每次出租的租还日期,k1和k2是两个int型的变量,作为Ldate,Bdate的下标。4.定义一个名为sys的类,包括一个数据成员,即Vehicle类型的变量b,有V_find(),V_delete(),print()三个成员函数,分别完成链表中信息的查找、删除和打印输出工作,输出的信息主要是车辆的车号、车型和出租状态。本来还有V_add()函数(在链表中添加

36、信息)也要写在这里,但考虑到方便调用的问题,将其写在了类的外面。Sys这个类的作用就是对针对链表的一些基本操作进行封装,方便调用。它们的关键代码如下:链表中查找操作的代码:Vehicle *sys:find(Vehicle *head,char *s)Vehicle *p;p=head;while(p!=NULL)if(strcmp(p-VID,s)=0)return p;elsep=p-next;return NULL;链表中删除操作的代码,用来删除车辆信息:Vehicle *sys:V_delete(Vehicle *head,char *VID)Vehicle *p,*q;if(head

37、=NULL)std:coutList is NULL!VID,VID)=0)p=head;head=head-next;delete p;std:cout完成删除操作!next;q=q-next)if(strcmp(q-next-VID,VID)=0)p=q-next;q-next=p-next;delete p;return head;std:coutVID不在车库中!std:endl;return (head);打印输出车库中的车:void sys:print(Vehicle *head)Vehicle *p;p=head;if(p=NULL)std:cout车库为空!std:endl;w

38、hile(p!=NULL)std:coutVIDt;std:coutVTypenext;向链表中添加节点的代码,是增加车辆操作的重要核心程序:Vehicle *V_add(Vehicle *head,Vehicle *v) Vehicle *p; p=head; if(p=NULL) head=v; v-next=NULL; return head; if(strcmp(p-VID,v-VID)0) v-next=head; head=v; return head; 5.对sys类里的几个成员函数进行类外定义,都是基于简单链表操作的,就是上面提到的在链表中添加节点,删除节点,打印输出节点信息的

39、函数。6.开始定义系统界面函数list()和listview(),前者是用来接受用户对各种操作功能的选择,然后传递给main函数;listview()呢完成操作界面的输出(就是列出各个功能的操作选项),这都是很简单的问题,它们的代码如下:void listview()std:coutttt欢迎使用天行汽车租凭管理系统ttstd:endl;std:cout*std:endl;std:cout1.添加新车std:endl;std:cout2.删除一辆已经存在的车std:endl;std:cout3.查询车库中现有车辆std:endl;std:cout4.租车std:endl;std:cout5.还

40、车std:endl;std:cout6.按年月及车辆ID查询出租情况std:endl;std:cout7.按年月查询所有车辆的出租情况std:endl;std:cout8.按年月及车辆ID查询租车费用std:endl;std:cout9.按年月查询所有车辆的租车费用std:endl;std:cout10.保存操作记录std:endl;std:cout11.导入信息std:endl;std:cout12.退出租车系统!std:endl;std:cout*std:endl;std:coutnnstd:endl;int list()int i;for(int j=0;j+)std:coutntt请选

41、择功能键1-11i;if(i=12)continue;elsebreak;return i;这两个函数联合起来达到的效果如下图所示:图3-17.完成各个listview()中各个功能函数的全面编码,前面的sys里面的那几个函数只是简单的基于链表的操作,而这里写的函数都是能独立完成菜单里面单个功能的,包括add(),del(),print(),lend(),back(),V_find(),V_find_all(),find_fee(),find_allfee(),save(),lead(),它们的功能分别是: 完成向车库中加车;删除车辆;打印输出车库中所有车辆;租车;还车;按车号和按年月查询单辆

42、车的出租信息;按年月查询本月的出租信息;按车号和按年月查询单辆车的出租费用;按月查询本月出租费用;保存操作信息;导入上次操作信息。下面是其中几个函数的关键核心代码:void add(sys a)char c;for(int j=0;j+)Vehicle *p;p=new Vehicle;std:cout车号t车型p-VID;std:cinp-VType;p-sign=0;p-Typesign=0;p-k1=0;p-k2=0;p-Ldatep-k1.time(0,0,0,0);p-Bdatep-k1.time(0,0,0,0);p-feep-k2=0;if(p-VID!=|p-VType!=)h

43、ead=V_add(head,p);std:cout是否继续添加(y/n)c;if(c!=Y&c!=y&c!=N&c!=n)std:cout是否继续添加(y/n)c;if(c=n|c=N)break;elsecontinue;这是一个完整的添加车辆的函数,是基于链表的V_add()函数来实现的,后者只是负责向链表中添加新节点,而此函数,是向车库添加新车,包括车牌号和车的类型。代码的11到17行都是进行数据成员的初始化。void lend(sys a)Vehicle *p;p=new Vehicle;char s10,c;int y,m,d,h;std:cout请输入想要租的车的车号:s;p=a

44、.find(head,s);if(p!=NULL)if(p-k1!=p-k2)std:cout此车已出租,还未还!sign!=1)std:cout车辆信息:std:endl;std:coutVID VTypeVType,car)=0)std:coutcar只能按天租!Typesign=2;std:cout请输入租车日期(年,月,日):ymd;p-Ldatep-k1.time(y,m,d);if(strcmp(p-VType,truck)=0)std:cout按天还是按小时租(D/H)c;if(c=D)p-Typesign=2;std:cout请输入租车日期(年,月,日):ymd;p-Ldate

45、p-k1.time(y,m,d);elsep-Typesign=1;std:cout请输入租车日期(年,月,日,小时):ymdh;p-Ldatep-k1.time(y,m,d,h);p-sign=1;p-k1+;p-feep-k1=0;std:cout租车成功!std:endl;elsestd:cout车库中没有此车!sign=1的作用为标志车辆已出租,p-k1+是对象数组的下标推进,以便保存同一辆车的下一条租车记录,p-feep-k1=0是将费用初始化为零。void save()char *name=C:Vehicle.txt;char *na=C:number.txt;int m=0;st

46、d:ofstream ofs(name);Vehicle *p;p=head;while(p!=NULL)ofsVIDtVTypetsigntTypesigntk1tk2k1=0)ofs0-0-0-0t0-0-0-0t0std:endl;elsefor(int i=0;ik1;i+)ofsLdatei.Ryear()-Ldatei.Rmonth()-Ldatei.Rday()-Ldatei.Rhour()tBdatei.Ryear()-Bdatei.Rmonth()-Bdatei.Rday()-Bdatei.Rhour()tfeeinext;m+;std:cout记录保存成功!std:endl

47、;ofs.close();std:ofstream ofs1(na);ofs1mstd:endl;明显,这是保存数据记录的函数,用的是文件流的写操作,先建立两个文件:C:Vehicle.txt和C:number.txt,然后让它们与文件流操作相关联,向其中写入运行程序中的信息,前者写入的是车辆链表所有节点的信息,而后者只是保存一个数据m,就是前者信息记录的条数,为后面再用文件读入数据提供方便。第四章 设计结果及分析4.1进入系统分析1.进入系统,首先要输入登录密码,密码正确后才能进入系统界面。如下图所示图4-1图4-22.密码正确,进入系统,看到操作界面和功能选项。如下图所示图4-34.2系统

48、操作管理分析1.进入操作界面,会首先提醒你创建车库,就是向车库中添加新车,只有有了添加的车辆,后面的操作才有意义。接着就提醒你导入上次操作的记录,这很重要,在每次进入系统都要做,也可以设为默认地做,系统自动完成,不需管理员动手,但这里为了显示功能,将其设为手动导入。相关操作如下图所示图4-4图4-52.在退出系统之前,应先保存操作记录,否则将会丢失信息,和导入信息一样,本可以设为退出系统时自动保存,但也是为了演示保存功能,特将其设为手动操作。操作如下图4-64.3系统工作流程分析1.添加车辆,如下图图4-72.删除车辆,如下图图4-83.查询车库中车的信息,如下图图4-94.租车,如下图图4-

49、105还车,如下图图4-116.按年月及车辆ID查询出租情况,如下图图4-127.按年月查询所有车辆的出租情况,如下图图4-138.按年月及车辆ID查询出租费用,如下图图4-149.按年月查询所有车辆的租车费用,如下图图4-1510.保存操作记录,如下图图4-1611.退出租车系统,如下图图4-174.4系统整体性能分析此系统功能基本完成,操作简便,可以简单地进行租车、还车义务并进行简单地管理,但是由于能力和时间有限,出错维护做的很差,就是人性化方面做的不够,有待于以后进行全方面的改进,此系统只适合于学习交流用,不适用于商用,主要是功能不齐全和出差维护差。总 结经过两个星期的学习和实践操作,汽

50、车租凭管理系统基本完成,其功能基本符合一个汽车公司对租凭车辆义务的操作。系统的功能有:无限添加车辆,删除车辆信息,输出车库信息,租车,还车,按年月和车号查询某辆车的出租情况,按年月查询本月车辆的出租情况,按年月和车号查询某辆车的出租费用,按年月查询本月所有车辆的出租费用,保存操作信息,导入上次操作信息。在登陆系统时,会提示输入密码,进入系统后,会提示创建车库和导入上次操作信息,在这些完成以后,才正式进入具体操作。本来这些都可以设为默认操作,就是系统自己完成,如保存信息和导入信息,但是为了将其过程直观化,只得显示操作。通过这次实践学习,我对链表和文件的操作更加熟练,也有了一个新的理解。对计算机的

51、强大功能(编程)有了一些进步的认识,特别是文件,以前学得不是很深,概念也相当的模糊,有了这次实践,多少也明白了文件的功能,特点,简单用法,我觉得这一进步会在我以后的工作学习过程中增加自信和实力。除了在编写代码方面的提高,在其他方面也受益匪浅。比如在做一个大的项目时,一开始不急于动手直接写代码,应先对此项目的结构和要实现的功能进行分析,并收集资料,设计算法等,在这些完成以后,才开始着手代码编程,这样才会有高效率。当然,在这过程中,也认识到了好多自己的不足和不好的习惯,尤其是在学习方面的纰漏,例如,在此次系统设计中,只考虑到了一般的情况,而忘了特殊的;只考虑到直接结果,而忽虑了其中各部分会遇到的小错误,直接地说就是考虑问题不全面,就算考虑到了,也没有在设计过程中真正做

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!