C++汽车管理系统的设计1课程设计.docx
- 文档编号:26209211
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:71
- 大小:420.81KB
C++汽车管理系统的设计1课程设计.docx
《C++汽车管理系统的设计1课程设计.docx》由会员分享,可在线阅读,更多相关《C++汽车管理系统的设计1课程设计.docx(71页珍藏版)》请在冰豆网上搜索。
C++汽车管理系统的设计1课程设计
综合设计报告
设计名称:
程序设计综合设计
设计题目:
汽车租赁管理系统
学生学号:
专业班级:
学生姓名:
学生成绩:
指导教师(职称):
(讲师)
课题工作时间:
2011-12-26至2012-1-6
说明:
1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。
2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。
3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全面的评价。
4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。
答辩小组成员应由2人及以上教师组成。
5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。
6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。
7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。
成绩评定表
学生姓名:
刘子龙学号:
1005080214班级:
计算机工程2班
类别
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
平时表现
10
10
按时参加综合设计,无旷课、迟到、早退、违反实验室纪律等情况。
完成情况
30
20
按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。
10
能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。
报告质量
35
10
报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。
5
课题背景介绍清楚,综述分析充分。
5
设计方案合理、可行,论证严谨,逻辑性强,具有说服力。
5
符号统一;图表完备、符合规范要求。
5
能对整个设计过程进行全面的总结,得出有价值的结论或结果。
5
参考文献数量在3篇以上,格式符合要求,在正文中正确引用。
答辩情况
25
10
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
总评成绩:
分
补充说明:
指导教师:
(签字)
日期:
年月日
答辩记录表
学生姓名:
学号:
班级:
答辩地点:
答辩内容记录:
答辩成绩
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
25
10
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
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月20日
二、进度安排:
2011-12-26:
明确所选课题的具体要求,按要求阅读相关的参考文献及资料
2011-12-27至2012-1-5:
课题代码实现、课程设计报告书写
2012-1-6:
课程设计答辩
三、应收集资料及主要参考文献:
1.程序设计基础
2.面向对象的程序设计
3.数据结构
五、综合设计(课程设计)Abstract(英文):
Abstract
Dataintheeraofinformationexplosion,thesocietywillduetothememoryofvariousinformationissomewhatannoyed.Tosolvethisproblem,thecomputermanagementsystemhasgreatadvantagesandfeasibility.Everyformalinstitutions,havetheirowninformationmanagementsystem,whichbearsadifferenttask.
Vehicleleasemanagementsystemisasocialbusinessmanagementsystemisatypicalmanagementcompany,mainlythecarrentalbusiness.Itsdevelopmentmainlyincludesthebackstagedatabasedevelopmentandmaintenance,andthefront-endapplicationprogramdevelopmentandprogramming.Theformerisaveryimportantpartofthesystem,acompletedatabasesystemitlacks.Butnowthelearninglevelandcoursehavenotreachedthislevel,sothispartofthevehicleleasemanagementsystemnotstated.Inthisfocusonthecompletionoftheprogram,useC,c++,c#,Java,VBandotherlanguagescanberealized,afterthebasicideaoftheintegrationandanalysisofUML,whereastheC++efficiency,IchoosetheC++programminglanguageasalinkedlist,documentflow,combiningreadingandwritingknowledgeandaccessrelatedliterature,theschoolinstructsunderteacher'shelp,basicallycompletedthedesignrequirementsofthetask.
Basicfunctions:
managementfunction,servicefunction,queryfunction.Forusers,canusequeriesvehicleandthebasicsituationofleaseconditions.Theadministratorcanthismanagementsystem,wherebythevehicletoadd,delete,modifyinformation,carrental,car,onallvehicleinformationquery.
Keywords:
managementsystem;c++;list;thefilestream
摘要
在数据信息爆炸的时代,这个社会的人必然会因为要记忆各类繁多的信息多少有些烦恼。
在这个问题的解决上,计算机上的管理系统占有很大的优势和可行性。
每一个正规机构,都有自己的信息管理系统,它们分别承担着不同的任务。
车辆租凭管理系统是社会商用管理系统的一个典型,它主要管理汽车公司整个的租车业务。
其完整的开发主要包括后台数据库的开发和维护,以及前端基本应用程序的开发和编写。
前者是这个系统的很重要的部分,完整的数据库系统都不能缺少。
但由于现在的学习水平和课程还没有达到这个高度,所以这一部分在此车辆租凭管理系统中暂不作说明。
在这重点完成前台程序的开发,使用c,c++,c#,Java,VB等语言都可实现,经过基本思路的整合和UML的分析,鉴于C++的高效性,我选择了C++作为编程语言,结合链表、文件流读写的知识和查阅相关文献,在学校指导老师的帮助下,基本完成了设计任务的要求。
基本功能:
管理功能、服务功能、查询功能。
对于用户来说,可以使用查询功能查询车辆的基本情况和租凭情况。
管理员则可以对此系统进行管理,即对车辆进行添加、删除、修改信息、租车、还车、对所有车辆信息的查询。
关键词:
管理系统;c++;链表;文件流
Abstract
Dataintheeraofinformationexplosion,thesocietywillduetothememoryofvariousinformationissomewhatannoyed.Tosolvethisproblem,thecomputermanagementsystemhasgreatadvantagesandfeasibility.Everyformalinstitutions,havetheirowninformationmanagementsystem,whichbearsadifferenttask.
Vehicleleasemanagementsystemisasocialbusinessmanagementsystemisatypicalmanagementcompany,mainlythecarrentalbusiness.Itsdevelopmentmainlyincludesthebackstagedatabasedevelopmentandmaintenance,andthefront-endapplicationprogramdevelopmentandprogramming.Theformerisaveryimportantpartofthesystem,acompletedatabasesystemitlacks.Butnowthelearninglevelandcoursehavenotreachedthislevel,sothispartofthevehicleleasemanagementsystemnotstated.Inthisfocusonthecompletionoftheprogram,useC,c++,c#,Java,VBandotherlanguagescanberealized,afterthebasicideaoftheintegrationandanalysisofUML,whereastheC++efficiency,IchoosetheC++programminglanguageasalinkedlist,documentflow,combiningreadingandwritingknowledgeandaccessrelatedliterature,theschoolinstructsunderteacher'shelp,basicallycompletedthedesignrequirementsofthetask.
Basicfunctions:
managementfunction,servicefunction,queryfunction.Forusers,canusequeriesvehicleandthebasicsituationofleaseconditions.Theadministratorcanthismanagementsystem,wherebythevehicletoadd,delete,modifyinformation,carrental,car,onallvehicleinformationquery.
Keywords:
managementsystem;c++;list;thefilestream
第一章绪论
1.1课题来源
现代社会,人的大脑开始出现一定的记忆压力,因为太多的事情需要然人来处理并且记住大量的数据.计算机的出现,让人们找到了减轻压力的途径,这也是社会发展的必然,人类科技的进步的一个重要标志就是生产力的高效性。
计算机与人类相比的优点就是有着极快的计算速度和准确性,性能稳定,具有很高的可靠性,根据此特点,计算机管理系统和数据库诞生了,随着社会的发展,它们的地位更是显得尤其重要,每一个正规的机构都有自己的管理系统,数据库管理系统也是计算机领域的一个重要研究方向,有着不可估量的发张前景。
1.2课题意义
计算机管理系统在当今的商业社会有着很强大的功能,这也是这几年来计算机飞速发展的一个重要原因,计算机没有思考能力,不能像人一样,它的一切活动都是建立在存储大量数据以及对这些数据进行简单的操作之上的,“人工智能”也不列外,其中计算机管理系统就是一个很好的运用。
一个好的管理系统,能承当一个很庞大的任务,在公司,在学校,在政府部门,它都有着自己的职能。
汽车租凭管理系统,是汽车公司的重要系统之一,它能管理日常的租凭车辆任务,可靠性高,高效,便捷,节省劳动力,一次投入多次使用,高质量的租凭管理系统和这家汽车公司的业绩是直接挂钩的。
1.3课题目的
通过此课题的学习和设计,让我们懂得如何开发一个管理系统、需要具备的知识、准备工作和需要考虑的各种问题。
当然开发一个汽车租凭管理系统,最直接的目的就是完成汽车公司的租凭任务,主要负责租凭这一块,其中主要的操作包括借车、登记、还车、计费、查询和基本车库的管理。
1.4应解决的主要问题及应达到的技术要求
1.4.1应解决的主要问题
在此系统的开发计划中(暂不考虑后台数据库的开发),我们应该解决的主要问题包括:
a.在计算机中写一个函数,能完成无限添加车辆和存储租车、还车相关信息的任务;
b.怎样将每次操作的记录进行保存,做到每次输入的信息永久有效;
c.怎样做一个人性化的操作界面,既具备视觉美感,操作起来又简便。
1.4.2应达到的技术要求
1.能在车库中无限添加车辆,删除车辆;
2.能修改车辆信息;
3.能输出车库中所有车的基本信息;
4.租车;
5.还车;
6.按车号和年月查询车辆出租信息;
7.按年月查询车辆出租信息;
8.按车号和年月查询车辆出租费用情况;
9.按年月查询车辆的出租费用情况;
10.保存操作信息;
11.导入操作信息;
12.操作简单,界面具有美感;
13.整体性能完整;
具体要达到的功能要求如下图中所示:
图1—1
1.5本设计的理论依据
计算机有较强的运算能力和存储数据的功能,具有较强的稳定性和可靠性。
链表可以实现无限条记录的保存和查找,可以解决无限添加车辆的问题,而文件的读写能将每次操作的有效数据在计算机内存和磁盘上进行读写,使得每次进入系统从操作的数据我们都有记录,并且在下次登入系统的时候读入计算机内存,在系统程序中继续传递。
第二章设计简介及设计方案论述
2.1设计内容与目标
设计的内容和主要目标是完成一个具有简单基本功能的汽车租凭管理系统,承当某汽车公司的汽车租凭任务并对其进行有效的管理。
管理系统的特点是:
功能基本齐全,操作简单易懂。
最主要的是能完成基本的汽车租凭义务和管理,承担工作人员的大量繁琐记忆和脑力劳动。
2.2设计的重点、难点和关键
此设计的重点是各个功能函数的编码,例如添加车辆、租车、还车、计算费用,各种方式的查询等,其中这些操作都建立在对车辆记录的保存和查找上,因为进行这些操作都必先找到相应的记录信息,进行修改,然后再存储起来;设计的难点是无限次添加记录和保存记录,以及对每次记录的保存入库(在下次运用此程序时上次的操作信息还在),包括信息的存储和读取。
说到无限次添加记录,一般用数组是不能办到的,我们都知道在用数组之前必须先定义大小;关键是把各个函数正确有效地连接起来,有正确的实参传递,能正确有效地输出预期结果,达到系统管理的目的。
这部分说起来简单,但实际去做,那就是程序中最难的一块,这要考虑到各个函数的关联以及每个函数完成的特殊功能和对整个信息记录的影响,就如一个机器人,要让他动起来,得花费大量的功夫来来你接他身体的机械硬件和软件代码
2.3整体设计方案
a.读懂系统设计要求,初步了解设计思路;
b.首先用UML图分析,得出整体的设计方案;
c.依据UML图,分个写出每个函数,并留好相应的接口,以便后面每个函数的相互连接;
d.写一个整体的系统函数,在其中将所有函数聚合在一起,方便调用,可以用一个类来完成此任务;
e.写出界面函数,做到美观,操作简单,人性化;
f.写出main函数,组织调用各个函数和各种类,有效地完成整个函数的功能;
g.全面而又广泛地测试,发现错误,改进错误,改进程序,提高程序的健壮性。
整体设计方案:
定义一个结构体,里面包括车辆的属性和一些标志,如车号,车型,出租、归还时间,费用,出租状态等,还有一个本身类型的指针,为了构建链表的节点。
然后定义两个时间类Date和Time,分别用来计算租车、还车的日期差并计算相应的费用和存储租,归还日期。
接下来定义一个类,作为整体调用函数用。
完成以后就开始编写各个功能的函数,添加、删除、查询、保存、导入信息等。
最后完成界面输出函数和main()函数的定义,界面函数只要做到美观、操作简单就可,主要是main()函数,它起到整体运行程序的作用,系统能不能成功运转,就看它的正确性和高效性。
下面分别是节点结构体类的定义:
structVehicle
{
charVID[10];
charVType[5];
doublefee[1000];
intvsign[1000];
intTypesign;//作为出租方式的标志,按小时租用1表示,按天租用2表示
intsign;//作为是否出租过,租了没还,租了已还的标记,分别用0,1,2标志
intk1;
intk2;//作为Ldate和Bdate对想数组的下标
TimeLdate[1000];
TimeBdate[1000];
Vehicle*next;
};
下面分别是Data类的定义:
classDate
{
private:
intyear,month,day;
public:
Date(inty,intm,intd):
year(y),month(m),day(d){}
intcount()
{
intcounter1=0,m(month-1),d(day);
for(;m>0;m--)
if(m==4||m==6||m==9||m==11)
counter1+=30;
elseif(m==1||m==3||m==5||m==7||m==8||m==10)
counter1+=31;
elseif(m==2)
if(year%4==0)
counter1+=29;
else
counter1+=28;
else
std:
:
cout<<"inputerror"< : endl; counter1+=day; returncounter1; } friendintdistances(Datea,Dateb); }; intdistances(Datea,Dateb) { intcounter=0; inty(b.year); if(a.year%4==0) counter+=366-a.count(); else counter+=365-a.count(); if(a.year%4==0) counter-=366-b.count(); else counter-=365-b.count(); for(;y>a.year;y--) if(y%4==0) counter+=366; else counter+=365; returncounter; } 其中count()函数用来计算某个日期是该年的第几天,distances()用来计算两个日期的相差天数,从而计算出费用。 下面分别是Data类的定义: classTime { private: intyear,month,day,hour; public: Time(inti=0,intj=0,intk=0,intm=0): year(i),month(j),day(k),hour(m){} voidtime(intyy=0,intmm=0,intdd=0,inthh=0) { year=yy; month=mm; day=dd; hour=hh; } intRyear(){returnyear;} intRmonth(){returnmonth;} intRday(){returnday;} intRhour(){returnhour;} friendvoidlead(); }; 第三章详细设计 3.1重点,难点技术设计与相关解决 3.1.1设计重点与解决方案
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 汽车 管理 系统 设计 课程设计