车辆管理系统课程设计报告(C++)_第1页
车辆管理系统课程设计报告(C++)_第2页
车辆管理系统课程设计报告(C++)_第3页
车辆管理系统课程设计报告(C++)_第4页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.课程设计报告课程设计题目:车辆管理系统学生:ABC专业:软件工程班级: 16*指导教师: * 祥 * 康(完整源代码和注释在我上次的另一篇文章里)2017年 6月 18日word 资料.东华理工大学课程设计评分表学生: A班级 16*学号: 20162018*课程设计题目:项目容满分实 评能结合所学课程知识、有一定的能力训练。符合选题要求10选(5 人一题)题工作量适中,难易度合理10能能熟练应用所学知识,有一定查阅文献及运用文献资料能力10力理论依据充分,数据准确,公式推导正确10水能应用计算机软件进行编程、资料搜集录入、加工、排版、10制图等平能体现创造性思维,或有独特见解10总体设计正

2、确、合理,各项技术指标符合要求。10成说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构10果严谨、版面清晰质设计说明书栏目齐全、合理,符号统一、编号齐全。格式、10量绘图、表格、插图等规准确,符合国家标准有一定篇幅,字符数不少于 500010总分100word 资料.指导教师评语:指导教师签名:年月日格式要求:中文正文使用五号字体,英文及代码使用小五号字体东华理工大学课程设计评分表学生: B班级 16*学号: 20162018*课程设计题目:项目容满分实 评能结合所学课程知识、有一定的能力训练。符合选题要求10选(5 人一题)题工作量适

3、中,难易度合理10能能熟练应用所学知识,有一定查阅文献及运用文献资料能力10word 资料.力理论依据充分,数据准确,公式推导正确10水能应用计算机软件进行编程、资料搜集录入、加工、排版、10制图等平能体现创造性思维,或有独特见解10总体设计正确、合理,各项技术指标符合要求。10成说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构10果严谨、版面清晰质设计说明书栏目齐全、合理,符号统一、编号齐全。格式、量10绘图、表格、插图等规准确,符合国家标准有一定篇幅,字符数不少于 500010总分100指导教师评语:指导教师签名:年月日格式要求:中

4、文正文使用五号字体,英文及代码使用小五号字体word 资料.东华理工大学课程设计评分表学生: C班级 16*学号: 20162018*课程设计题目:项目容满分实 评能结合所学课程知识、有一定的能力训练。符合选题要求10选(5 人一题)题工作量适中,难易度合理10能能熟练应用所学知识,有一定查阅文献及运用文献资料能力10力理论依据充分,数据准确,公式推导正确10水能应用计算机软件进行编程、资料搜集录入、加工、排版、10制图等平能体现创造性思维,或有独特见解10总体设计正确、合理,各项技术指标符合要求。10成说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明

5、、语言流畅、结构10果严谨、版面清晰质设计说明书栏目齐全、合理,符号统一、编号齐全。格式、10量绘图、表格、插图等规准确,符合国家标准有一定篇幅,字符数不少于 500010总分100word 资料.指导教师评语:指导教师签名:年月日格式要求:中文正文使用五号字体,英文及代码使用小五号字体【目录】 03 03 04 04word 资料. 05 06 09 10 15 16 17一、题目:车辆管理系统设计二、课程设计任务:车辆管理系统主要负责各种车辆的常规信息管理工作。系统中的车辆主要有大客车、小轿车和卡车。 每种车辆有车辆编号、 车牌号、 车辆制造公司、 车辆购买时间、 车辆型号(大客车、小轿车

6、和卡车) 、总公里数、耗油量 / 公里、基本维护费用、养路费、累计总费用等信息。大客车还有载客量(最大载客数)信息,小轿车还有箱数(两厢或三厢)信息,卡车还有载重量等信息。每台车辆当月总费用=油价 * 耗油量 / 公里 +基本维护费用。基本维护费用:客车: 2000 元 / 月,小轿车:1000 元 / 月,卡车: 1500 元/ 月。( 1)添加车辆:主要完成车辆信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当车辆信息库已满,则提示不能再添加新的数据。( 2)查询车辆:可按照三种方式来查询物品,分别为:按车辆制造公司查询:输入车word 资料.辆制造公司,输出

7、所查询的信息,若不存在该记录,则提示“该车辆制造公司不存在!”;按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”;按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有车辆!”;( 3)显示车辆信息库:输出当前车辆信息库中所有车辆信息,每条记录占据一行。( 4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。( 5)删除车辆:主要完成车辆信息的删除。如果当前车辆信息库为空,则提示“车辆信息库为空! ”,并返回操作;否则,输入要删除的编号,根据编号删除该车辆的记录,如果该编号不在车辆信息库库中,则提示“该编号不存在”。( 6

8、)统计信息:输出当前车辆信息库中总物品数,以及按车辆类别,统计出当前车辆信息库中各类别的物品数并显示。( 7)车辆信息存盘:将当前程序中的车辆信息存入文件中。( 8)读出车辆信息:从文件中将车辆信息读入程序。要求:1、用 C+语言实现程序设计;2、利用类和对象数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。三、数据结构Carsword 资料.int num;/编号int pnum;/车牌号char made20;/制造公司doubletime;/购买时间(多少个月)int type;/型号 (1- 大客车 ,2- 小轿车

9、,3- 卡车)double km;/总公里数int cost;/基本维护费用int RoadFee;/养路费double OilKm;/耗油量 / 公里double AllCount; /累计总费用friend Manager; /声明为友元Managerint peopleN; /最大载客量(大客车)int coachN;/箱数(小轿车)int weightN;/载重量(卡车)int top;/记录当前车辆数量word 资料.Manager()top = 0;/车辆初始值为 0void add();/添加车辆void search();/查询车辆void show();/显示车辆信息库voi

10、d edit();/编辑功能void delet();/删除车辆void sum();/统计信息void write();/车辆信息存盘void read();/读出车辆信息void jiemian();/总界面四、模块划分车辆管理系统车车车车车辆辆辆辆辆退信信信信信出息息息息息系添查显编删统加询示辑除word 资料.五、程序的总体设计·类的设计:class Carspublic:int num;/编号int pnum;/车牌号char made20;/制造公司double time; /购买时间(多少个月)int type;/型号 (1- 大客车 ,2- 小轿车 ,3- 卡车 )d

11、ouble km;/总公里数int cost;/基本维护费用int RoadFee;/养路费double OilKm;/耗油量 / 公里double AllCount;/累计总费用;class Managerprivate:Cars carN;int peopleN;/最大载客量(大客车)int coachN;/箱数(小轿车)int weightN;/载重量(卡车)int top;/记录当前车辆数量public:Manager()top = 0;/车辆初始值为 0void add();/添加车辆void search();/查询车辆void show();/显示车辆信息库void edit()

12、;/编辑功能void delet();/删除车辆void sum();/统计信息void read();/读出车辆信息void write();/车辆信息存盘void jiemian(); /总界面;·函数设计:在管理类中定义了以下函数,功能标注在其后void add();/用于添加车辆信息,进行信息录入;void search(); /用于查询车辆信息;void show();/显示车辆信息库void edit(); /编辑功能word 资料.void delet();/删除车辆void sum();/统计信息void read();/读出车辆信息void write();/车辆信

13、息存盘void jiemian(); /总界面六、流程图·车辆信息添加·车辆信息查询word 资料.·车辆信息显示·车辆信息编辑word 资料.·车辆信息删除word 资料.七、主要源程序代码由于程序代码功能多,此处只节选了添加车辆这一功能的代码,程序完整源代码另附文件/查询车辆/void Manager:search()int choose,m,n,a = 0;char i,t20;cout<<"*"<<endl;cout<<"* 1.按车辆制造公司查询*"<&

14、lt;endl;cout<<"* 2.按编号查询*"<<endl;cout<<"* 3.按类别查询*"<<endl;cout<<"*"<<endl;cout<<"请输入你的选项:"while(1)cin>>i;cout<<endl;if(i='1'|i='2'|i='3')break;cout<<" 输入错误 , 重输: "if(

15、i = '1')cout<<" 请输入需查询车辆的制造公司:"cin>>t;else if(i = '2')cout<<" 请输入需查询的车辆编号:"cin>>n;else if(i = '3')cout<<" 请输入需查询的车辆型号(1- 大客车 ,2- 小轿车 ,3- 卡车 ) : "cin>>m;for(int j = 0; j < top; j+)if(strcmp(carj.made, t) = 0|

16、carj.num = n|carj.type = m)cout<<"编号 车牌号制造商购买时间型号特性总公里养路费维护费油耗总费用 "<<endl;break;for( j = 0; j < top; j+)if(strcmp(carj.made, t) = 0|carj.num = n|carj.type = m)cout<<setw(4)<<carj.num<<setw(7)<<carj.pnum<<setw(7)<<carj.made<<setw(7)&l

17、t;<carj.time;if(carj.type = 1 )cout<<setw(9)<<"大客车 "<<setw(8)<<"载客量 :"<<peoplej;word 资料.else if(carj.type = 2 )cout<<setw(9)<<"小轿车 "<<setw(9)<<"车厢数 : "<<coachj;elsecout<<setw(8)<<"

18、卡 车 "<<setw(9)<<"载重量 :"<<weightj;cout<<setw(6)<<carj.km<<setw(7)<<carj.RoadFee<<setw(7)<<carj.cost<<setw(7)<<carj.OilKm<<setw(8)<<carj.AllCount<<endl;a+;if(a != 0)cout<<" 是否进行修改 ?(1- 是,2- 否

19、) :"cin>>choose;if(choose = 1)edit();elseif(i='1') cout<<"车辆制造公司不存在!"<<endl;if(i='2') cout<<"车辆编号不存在!"<<endl;else if (i='3') cout<<"车辆型号不存在!"<<endl;cout<<" 按任意键返回功能主界面"<<endl;ch

20、ar zz=getch();jiemian();八、测试情况及调试中问题与解决方案以下几点分别为我们在课程设计期间测试情况及调试中问题与解决方案1. 显示车辆出现问题1) 问题:养路费数据有问题以及功能3 中显示车辆信息库要求每条记录占据一行,当前程序显示没有达到要求(图1.1 )2) 解决方案:发现代码分别在169 201 233 282行由于复制出现问题,将top改为 j 后养路费数据正常(图1.2 ),使用 setw 设置域宽来控制显示将每条记录占据一行,修正后的正确显示(图1.3 )word 资料.图 1.1图 1.2图 1.32. 文件无法自动创建问题1) 问题:这是开始编的读取文件

21、功能,当 D 盘根目录存在 a.txt 文件时,功能运行正常。但当 D 盘根目录不存在 a.txt 文件时,会出现如下问题(即编译没问题,但运行时会停止工作,如图2.1- 图 2.2 )word 资料.图 2.1图 2.22)解决方案:这是修改后的读取文件功能函数(图2.3 ),函数增加了判断“是否能顺利读取文件”功能。如果不能,则创建a.txt文件再进行读取图 2.33. 删除车辆问题1)问题:这个问题是我们课程设计中遇到的最大的问题,困扰了我们很久,当车辆数量足够时,能成功删除车辆(图3.1-3.3 ),当车辆删除到最后1 辆时,界面显示剩余未发生改变,而存取的文档中车辆信息已经删除(图3

22、.4-3.6 )。word 资料.图 3.1图 3.2图 3.3图 3.4图 3.5word 资料.图 3.62)解决方案:将代码中的删除功能函数中算法进行改进,修正后即使车辆只有一辆也能删除,不会再出现1)中问题(图 3.7-3.8 )图 3.7图 3.8九、实验小结在我们课程设计的任务书中, 说明了课程设计的目的是根据软件工程的方法与流程,在相对集中的实训教学时间, 通过一个功能较完整的小型应用系统的设计与开发,深入复习并进一步掌握面向对象的程序设计思想与方法。同时,培养word 资料.我们采用面向对象的方法分析问题与解决问题的能力及团体组织与协作能力。这次课程设计是我们小组三个人历经一个

23、多星期左右共同完成的,通过这一个多星期的学习、合作、交流,我们合作完成了车辆管理系统的程序设计。我们小组的三个人都是第一次做课程设计,面对我们所选的课程设计任务,一开始有点摸不着头脑,但在不断的分工,查找资料,合作交流后,我们逐步实现车辆管理系统中的功能要求。因为我们的小组长在课程设计之前就开始查阅资料,完成了程序的总体设计, 在组长的带领下我们小组完成了这次任务。在这次课程设计中,我们也遇到了很多问题, 当我们完成了程序的大体设计以及函数功能实现后,发现在显示功能这部分出现问题,在我们查阅书本后, 使用了我们不熟悉的一个操作符 setw(int n)来设置域宽,解决了显示问题,但由于界面受限

24、制,为保证每条记录占据一行, 导致输入的数据受到一些限制。在这之后,我们解决了一个困扰我们很久的数据问题,显示界面中养路费数据始终为0,虽然我们小组有分工,每个人的能力也不同, 但是在我们三个人集体讨论这个问题后,我们找到了问题的根源并解决了这个问题,也正是这个问题, 让我们体会到了合作的意义以及团队的力量。 除此之外,在课程设计期间, 遇到问题,也要学会向同学、老师请教,因为我们很可能一时思路受阻或者不熟悉某些操作,通过请教他人,能够迅速解决问题并学习到他人的长处。在课程设计中途, 我们发现程序中的文件读取及功能函数中删除信息出现问题,影响了我们的进度, 后来尝试了不同的方法,进行测试,并请

25、教他人, 对程序进行修改, 完成了程序,在这次的问题中,我们遇到问题受到阻碍, 心情也有些低落, 本来以为已经完成了大部分,突然发现问题,感到一些压力,不过我们小组的人都没有放弃,一直坚持,不断尝试,最终一起努力完成了课程设计。当我们共同完成了这个课程设计,发现在这个过word 资料.程中我们学习到了很多,得到了成长,学会与人沟通,与人合作,学会虚心请教他人,将所学知识与实践相结合,我们的分析解决实际问题的能力得到了锻炼,并且更真切的感受到无论做什么都需要细心和耐心,小细节也会出大错, 细心和耐心,才能发现问题并解决问题从而避免问题,坚持完成。 这次课程设计我们参考了部分程序进行的, 对我们来

26、说是一个挑战和锻炼。我们在完成设计要求的基础上在程序中加入了自己的想法和其他程序容,也就是对程序改进了一番, 并有一些创新。虽然感觉我们的创新还不够典型,但经过这番修改, 我们对修改的程序感到满意。由于时间的紧迫和对知识的了解不够广泛,造成了系统中可能还存在一些不足, 以后我们会继续努力, 大胆创新,争取能编写出透射着自己思想的程序。这次课程设计让我们充分认识到了自己的不足, 认识到了动手能力的重要性。我们会在以后的学习中更加努力锻炼自己,提高自己, 让自己写出更好更完善的程序,为以后的编程打好基础!十、工作日志周一:我们通过共同讨论,有了各自的大致主要分工任务(A 主要编写功能主函数的实现;黄晨茹主要负责代码的完善优化和实验报告;C 主要负责调试代码和PPT)A 在今天绘制了大致算法流程图,有了基本的设计雏形。编写了一些函数功能代word 资料.码。黄晨茹在今天对一些功能函数有了优化的思路方向,并合作编写了一些函数功能实现的代码。C在今天对添加车辆函数进行了调试,并经过不断地测试调试将添加车辆函数错误基本解决。小组的每个成员对此次任务充满信心,今天都异常的激动。周二:我们今天共同编写

温馨提示

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

评论

0/150

提交评论