已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告 课程设计题目:车辆管理系统 学生姓名:A B C专 业:软件工程班 级:16* 指导教师:*祥 *康 (完整源代码和注释在我上次的另一篇文章里) 2017年 6 月 18 日东华理工大学课程设计评分表学生姓名:A 班级16* 学号:20162018*课程设计题目:项目内容满分实 评选题能结合所学课程知识、有一定的能力训练。符合选题要求(5人一题)10工作量适中,难易度合理10能力水平能熟练应用所学知识,有一定查阅文献及运用文献资料能力10理论依据充分,数据准确,公式推导正确10能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等10能体现创造性思维,或有独特见解10成果质量总体设计正确、合理,各项技术指标符合要求。10说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰10设计说明书栏目齐全、合理,符号统一、编号齐全。格式、绘图、表格、插图等规范准确,符合国家标准10有一定篇幅,字符数不少于500010总 分100指导教师评语: 指导教师签名: 年 月 日格式要求:中文正文使用五号字体,英文及代码使用小五号字体东华理工大学课程设计评分表学生姓名:B 班级16* 学号:20162018*课程设计题目:项目内容满分实 评选题能结合所学课程知识、有一定的能力训练。符合选题要求(5人一题)10工作量适中,难易度合理10能力水平能熟练应用所学知识,有一定查阅文献及运用文献资料能力10理论依据充分,数据准确,公式推导正确10能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等10能体现创造性思维,或有独特见解10成果质量总体设计正确、合理,各项技术指标符合要求。10说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰10设计说明书栏目齐全、合理,符号统一、编号齐全。格式、绘图、表格、插图等规范准确,符合国家标准10有一定篇幅,字符数不少于500010总 分100指导教师评语: 指导教师签名: 年 月 日格式要求:中文正文使用五号字体,英文及代码使用小五号字体东华理工大学课程设计评分表学生姓名:C 班级16* 学号:20162018*课程设计题目:项目内容满分实 评选题能结合所学课程知识、有一定的能力训练。符合选题要求(5人一题)10工作量适中,难易度合理10能力水平能熟练应用所学知识,有一定查阅文献及运用文献资料能力10理论依据充分,数据准确,公式推导正确10能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等10能体现创造性思维,或有独特见解10成果质量总体设计正确、合理,各项技术指标符合要求。10说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰10设计说明书栏目齐全、合理,符号统一、编号齐全。格式、绘图、表格、插图等规范准确,符合国家标准10有一定篇幅,字符数不少于500010总 分100指导教师评语: 指导教师签名: 年 月 日格式要求:中文正文使用五号字体,英文及代码使用小五号字体【目录】1、 题目 032、 课程设计任务 033、 数据结构 04四、模块划分 045、 程序的总体设计 056、 流程图 06七、主要源程序代码(附件源代码) 09八、测试情况及调试中问题与解决方案 10九、实验小结及心得 15十、工作日志 16十一、东华理工大学评分表 17一、题目:车辆管理系统设计二、课程设计任务:车辆管理系统主要负责各种车辆的常规信息管理工作。 系统中的车辆主要有大客车、小轿车和卡车。每种车辆有车辆编号、车牌号、车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、累计总费用等信息。大客车还有载客量(最大载客数)信息,小轿车还有箱数(两厢或三厢)信息,卡车还有载重量等信息。 每台车辆当月总费用=油价*耗油量/公里+基本维护费用。 基本维护费用:客车:2000元/月,小轿车:1000元/月,卡车:1500元/月。(1)添加车辆:主要完成车辆信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当车辆信息库已满,则提示不能再添加新的数据。(2)查询车辆:可按照三种方式来查询物品,分别为:按车辆制造公司查询:输入车辆制造公司,输出所查询的信息,若不存在该记录,则提示“该车辆制造公司不存在!”;按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”;按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有车辆!”;(3)显示车辆信息库:输出当前车辆信息库中所有车辆信息,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。(5)删除车辆:主要完成车辆信息的删除。如果当前车辆信息库为空,则提示“车辆信息库为空!”,并返回操作;否则,输入要删除的编号,根据编号删除该车辆的记录,如果该编号不在车辆信息库库中,则提示“该编号不存在”。(6)统计信息:输出当前车辆信息库中总物品数,以及按车辆类别,统计出当前车辆信息库中各类别的物品数并显示。(7)车辆信息存盘:将当前程序中的车辆信息存入文件中。(8)读出车辆信息:从文件中将车辆信息读入程序。要求:1、用C+语言实现程序设计;2、利用类和对象数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。三、数据结构Carsint num; /编号int pnum; /车牌号char made20; /制造公司double time; /购买时间(多少个月)int type; /型号(1-大客车,2-小轿车,3-卡车)double km; /总公里数int cost; /基本维护费用int RoadFee; /养路费double OilKm; /耗油量/公里double AllCount; /累计总费用friend Manager; /声明为友元Managerint peopleN; /最大载客量(大客车)int coachN; /箱数(小轿车)int weightN; /载重量(卡车)int top; /记录当前车辆数量Manager()top = 0;/车辆初始值为0void add(); /添加车辆void search(); /查询车辆void show(); /显示车辆信息库void edit(); /编辑功能void delet(); /删除车辆void sum(); /统计信息void write(); /车辆信息存盘void read(); /读出车辆信息void jiemian(); /总界面四、模块划分车辆信息添加车辆信息查询车辆信息显示车辆信息编辑车辆信息删除退出系统车辆管理系统五、程序的总体设计类的设计:class Carspublic:int num; /编号 int pnum; /车牌号 char made20; /制造公司 double time; /购买时间(多少个月) int type; /型号(1-大客车,2-小轿车,3-卡车) double 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(); /编辑功能 void delet(); /删除车辆 void sum(); /统计信息 void read(); /读出车辆信息 void write(); /车辆信息存盘 void jiemian(); /总界面;函数设计:在管理类中定义了以下函数,功能标注在其后void add(); /用于添加车辆信息,进行信息录入;void search(); /用于查询车辆信息;void show(); /显示车辆信息库 void edit(); /编辑功能 void delet(); /删除车辆 void sum(); /统计信息 void read(); /读出车辆信息 void write(); /车辆信息存盘 void jiemian(); /总界面六、流程图车辆信息添加车辆信息查询车辆信息显示车辆信息编辑车辆信息删除七、主要源程序代码由于程序代码功能多,此处只节选了添加车辆这一功能的代码,程序完整源代码另附文件/ 查询车辆 /void Manager:search() int choose,m,n,a = 0;char i,t20;cout*endl;cout* 1.按车辆制造公司查询 *endl;cout* 2.按编号查询 *endl;cout* 3.按类别查询 *endl;cout*endl;couti;coutendl;if(i=1|i=2|i=3)break;cout输入错误,重输:;if(i = 1)coutt;else if(i = 2)coutn;else if(i = 3)coutm;for(int j = 0; j top; j+)if(strcmp(carj.made, t) = 0|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) coutsetw(4)carj.numsetw(7)carj.pnumsetw(7)carj.madesetw(7)carj.time;if(carj.type = 1 )coutsetw(9)大客车setw(8)载客量:peoplej;else if(carj.type = 2 )coutsetw(9)小轿车setw(9)车厢数: coachj;elsecoutsetw(8)卡 车setw(9)载重量:weightj;coutsetw(6)carj.kmsetw(7)carj.RoadFeesetw(7)carj.costsetw(7)carj.OilKmsetw(8)carj.AllCountendl;a+;if(a != 0)coutchoose;if(choose = 1)edit();elseif(i=1) cout车辆制造公司不存在!endl;if(i=2) cout车辆编号不存在!endl;else if (i=3) cout车辆型号不存在!endl;cout按任意键返回功能主界面endl; char zz=getch(); jiemian();八、测试情况及调试中问题与解决方案以下几点分别为我们在课程设计期间测试情况及调试中问题与解决方案1. 显示车辆出现问题1) 问题:养路费数据有问题以及功能3中显示车辆信息库要求每条记录占据一行,当前程序显示没有达到要求(图1.1)2) 解决方案:发现代码分别在169 201 233 282行由于复制出现问题,将top改为j后养路费数据正常(图1.2),使用setw设置域宽来控制显示将每条记录占据一行,修正后的正确显示(图1.3)图1.1图1.2图1.32. 文件无法自动创建问题1) 问题:这是开始编的读取文件功能,当D盘根目录存在a.txt文件时,功能运行正常。但当D盘根目录不存在a.txt文件时,会出现如下问题(即编译没问题,但运行时会停止工作,如图2.1-图2.2)图2.1图2.22)解决方案:这是修改后的读取文件功能函数(图2.3),函数增加了判断“是否能顺利读取文件”功能。如果不能,则创建a.txt文件再进行读取图2.33.删除车辆问题1)问题:这个问题是我们课程设计中遇到的最大的问题,困扰了我们很久,当车辆数量足够时,能成功删除车辆(图3.1- 3.3),当车辆删除到最后1辆时,界面显示剩余未发生改变,而存取的文档中车辆信息已经删除(图3.4-3.6)。图3.1图3.2图3.3图3.4图3.5图3.62)解决方案:将代码中的删除功能函数中算法进行改进,修正后即使车辆只有一辆也能删除,不会再出现1)中问题(图3.7-3.8)图3.7图3.8九、实验小结在我们课程设计的任务书中,说明了课程设计的目的是根据软件工程的方法与流程,在相对集中的实训教学时间内,通过一个功能较完整的小型应用系统的设计与开发,深入复习并进一步掌握面向对象的程序设计思想与方法。同时,培养我们采用面向对象的方法分析问题与解决问题的能力及团体组织与协作能力。这次课程设计是我们小组三个人历经一个多星期左右共同完成的,通过这一个多星期的学习、合作、交流,我们合作完成了车辆管理系统的程序设计。我们小组的三个人都是第一次做课程设计,面对我们所选的课程设计任务,一开始有点摸不着头脑,但在不断的分工,查找资料,合作交流后,我们逐步实现车辆管理系统中的功能要求。因为我们的小组长在课程设计之前就开始查阅资料,完成了程序的总体设计,在组长的带领下我们小组完成了这次任务。在这次课程设计中,我们也遇到了很多问题,当我们完成了程序的大体设计以及函数功能实现后,发现在显示功能这部分出现问题,在我们查阅书本后,使用了我们不熟悉的一个操作符setw(int n)来设置域宽,解决了显示问题,但由于界面受限制,为保证每条记录占据一行,导致输入的数据受到一些限制。在这之后,我们解决了一个困扰我们很久的数据问题,显示界面中养路费数据始终为0,虽然我们小组有分工,每个人的能力也不同,但是在我们三个人集体讨论这个问题后,我们找到了问题的根源并解决了这个问题,也正是这个问题,让我们体会到了合作的意义以及团队的力量。除此之外,在课程设计期间,遇到问题,也要学会向同学、老师请教,因为我们很可能一时思路受阻或者不熟悉某些操作,通过请教他人,能够迅速解决问题并学习到他人的长处。在课程设计中途,我们发现程序中的文件读取及功能函数中删除信息出现问题,影响了我们的进度,后来尝试了不同的方法,进行测试,并请教他人,对程序进行修改,完成了程序,在这次的问题中,我们遇到问题受到阻碍,心情也有些低落,本来以为已经完成了大部分,突然发现问题,感到一些压力,不过我们小组的人都没有放弃,一直坚持,不断尝试,最终一起努力完成了课程设计。当我们共同完成了这个课程设计,发现在这个过程中我们学习到了很多,得到了成长,学会与人沟通,与人合作,学会虚心请教他人,将所学知识与实践相结合,我们的分析解决实际问题的能力得到了锻炼,并且更真切的感受到无论做什么都需要细心和耐心,小细节也会出大错,细心和耐心,才能发现问题并解决问题从而避免问题,坚持完成。这次课程设计我们参考了部分程序进行的,对我们来说是一个挑战和锻炼。我们在完成设计要求的基础上在程序中加入了自己的想法和其他程序内容,也就是对程序改进了一番,并有一些创新。虽然感觉我们的创新还不够典型,但经过这番修改,我们对修改的程序感到满意。由于时间的紧迫和对知识的了解不够广泛,造成了系统中可能还存在一些不足,以后我们会继续努力,大胆创新,争取能编写出透射着自己思想的程序。这次课程设计让我们充分认识到了自己的不足,认识到了动手能力的重要性。我们会在以后的学习中更加努力锻炼自己,提高自己,让自己写出更好更完善的程序,为以后的编程打好基础!十、工作日志周一:我们通过共同讨论,有了各自的大致主要分工任务(A主要编写功能主函数的实现;黄晨茹主要负责代码的完善优化和实验报告;C主要负责调试代码和PPT)A在今天绘制了大致算法流程图,有了基本的设计雏形。编写了一些函数功能代码。黄晨茹在今天对一些功能函数有了优化的思路方向,并合作编写了一些函数功能实现的代码。C在今天对添加车辆函数进行了调试,并经过不断地测试调试将添加车辆函数错误基本解决。小组的每个成员对此次任务充满信心,今天都异常的激动。周二:我们今天共同编写其他所有函数的功能代码,并对各项功能进行了测试。通过请教老师和同学们,我们完成的进度越来越快。A今天在编写文件存取功能上遇到了一些麻烦。通过查阅相关书籍,将文件的相关功能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026国网甘肃省高校毕业生提前批招聘(约450人)笔试模拟试题浓缩500题及一套完整答案详解
- 2026年漯河市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)完整参考答案详解
- 2026国网四川省电力公司高校毕业生提前批招聘笔试参考题库浓缩500题附答案详解(达标题)
- 2026国网广东省电力校园招聘(提前批)笔试模拟试题浓缩500题含答案详解
- 2026国网海南省电力公司高校毕业生提前批招聘(约450人)笔试备考题库浓缩500题含答案详解(精练)
- 2026秋季国家管网集团华南公司(广东省管网公司)高校毕业生招聘考试备考试题(浓缩500题)带答案详解(模拟题)
- 2026秋季国家管网集团北京管道有限公司高校毕业生招聘笔试参考题库(浓缩500题)带答案详解(满分必刷)
- 2026秋季国家管网集团甘肃公司高校毕业生招聘考试参考题库(浓缩500题)附参考答案详解(考试直接用)
- 2026国网甘肃省电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题附答案详解ab卷
- 2026年黑河市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(易错题)
- 全北师大高一英语必修一单词表
- 平衡计分卡 课件
- 樊登读书会市级分会运营手册OK
- 车辆装卸运输规定(2篇)
- 眼内屈光手术角膜屈光手术新
- 原发性肝癌英文版
- 正大杯全国大学生市场调查与分析大赛(试题340道含答案)
- 心血管疾病介入诊疗技术规范
- 中小学高级职称英语全英答辩题
- 陈明主讲中医妇科经验方
- 附件2:深圳市第十二届职工技术创新运动会暨2022年深圳技能大赛-调饮师职业技能竞赛技术文件
评论
0/150
提交评论