车辆管理系统课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程设计题目:车辆管理系统
学生姓名:A B C
专业:软件工程
班级:16*****
指导教师:*祥 **康
(完整源代码和注释在我上次的另一篇文章里)2017年 6 月 18 日
东华理工大学
学生姓名:A 班级16***** 学号:****课程设计题目:
格式要求:
中文正文使用五号字体,英文及代码使用小五号字体
东华理工大学
学生姓名:B 班级16***** 学号:****课程设计题目:
格式要求:
中文正文使用五号字体,英文及代码使用小五号字体
东华理工大学
学生姓名:C 班级16***** 学号:****课程设计题目:
格式要求:
中文正文使用五号字体,英文及代码使用小五号字体
【目录】
一、题目 (03)
二、课程设计任务 (03)
三、数据结构 (04)
四、模块划分 (04)
五、程序的总体设计 (05)
六、流程图 (06)
七、主要源程序代码(附件源代码) (09)
八、测试情况及调试中问题与解决方案 (10)
九、实验小结及心得 (15)
十、工作日志 (16)
十一、东华理工大学评分表 (17)
一、题目:车辆管理系统设计
二、课程设计任务:
车辆管理系统主要负责各种车辆的常规信息管理工作。系统中的车辆主要有大客车、小轿车和卡车。每种车辆有车辆编号、车牌号、车辆制造公司、车辆购买时间、车辆型号(大客车、小轿车和卡车)、总公里数、耗油量/公里、基本维护费用、养路费、累计总费用等信息。大客车还有载客量(最大载客数)信息,小轿车还有箱数(两厢或三厢)信息,卡车还有载重量等信息。每台车辆当月总费用=油价*耗油量/公里+基本维护费用。基本维护费用:客车:2000元/月,小轿车:1000元/月,卡车:1500元/月。
(1)添加车辆:主要完成车辆信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当车辆信息库已满,则提示不能再添加新的数据。
(2)查询车辆:可按照三种方式来查询物品,分别为:按车辆制造公司查询:输入车辆制造公司,输出所查询的信息,若不存在该记录,则提示“该车辆制造公司不存在!”;按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”;按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有车辆!”;
(3)显示车辆信息库:输出当前车辆信息库中所有车辆信息,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除车辆:主要完成车辆信息的删除。如果当前车辆信息库为空,则提示“车辆信息库为空!”,并返回操作;否则,输入要删除的编号,根据编号删除该车辆的记录,如果该编号不在车辆信息库库中,则提示“该编号不存在”。
(6)统计信息:输出当前车辆信息库中总物品数,以及按车辆类别,统计出当前车辆信息库中各类别的物品数并显示。
(7)车辆信息存盘:将当前程序中的车辆信息存入文件中。
(8)读出车辆信息:从文件中将车辆信息读入程序。。
要求:
1、用C++语言实现程序设计;
2、利用类和对象数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。
三、数据结构
车辆制造公司查询 *"< cout<<"* 2.按编号查询 *"< cout<<"* 3.按类别查询 *"< cout<<"****************************"< cout<<" 请输入你的选项:"; while(1) { cin>>i; cout< if(i=='1'||i=='2'||i=='3') break; cout<<"输入错误,重输:"; } if(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(car[j].made, t) == 0||car[j].num == n||car[j].type == m) {cout<<"编号车牌号制造商购买时间型号特性总公里养路费维护费油耗总费用"< for( j = 0; j < top; j++) if(strcmp(car[j].made, t) == 0||car[j].num == n||car[j].type == m) { cout< (7)< if(car[j].type == 1 ) cout< else if(car[j].type == 2 ) cout< else cout< cout< a++; } if(a != 0) { cout<<"是否进行修改?(1-是,2-否):"; cin>>choose; if(choose == 1) edit(); } else { if(i=='1') cout<<"车辆制造公司不存在!"< if(i=='2') cout<<"车辆编号不存在!"< else if (i=='3') cout<<"车辆型号不存在!"< } cout<<"按任意键返回功能主界面"< char zz=getch(); jiemian(); } 八、测试情况及调试中问题与解决方案 以下几点分别为我们在课程设计期间测试情况及调试中问题与解决方案 1.显示车辆出现问题 1)问题:养路费数据有问题以及功能3中显示车辆信息库要求每条记录占据一行,当前程序显示没有达到要求(图) 2)解决方案:发现代码分别在169 201 233 282行由于复制出现问题,将top 改为j后养路费数据正常(图),使用setw设置域宽来控制显示将每条记录占据一行,修正后的正确显示(图) 图 图 图 2.文件无法自动创建问题 1)问题:这是开始编的读取文件功能,当D盘根目录存在文件时,功能运行正