软件设计基础C++.doc

上传人:仙人指路1688 文档编号:2885334 上传时间:2023-03-01 格式:DOC 页数:23 大小:297KB
返回 下载 相关 举报
软件设计基础C++.doc_第1页
第1页 / 共23页
软件设计基础C++.doc_第2页
第2页 / 共23页
软件设计基础C++.doc_第3页
第3页 / 共23页
软件设计基础C++.doc_第4页
第4页 / 共23页
软件设计基础C++.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《软件设计基础C++.doc》由会员分享,可在线阅读,更多相关《软件设计基础C++.doc(23页珍藏版)》请在三一办公上搜索。

1、软件设计基础-C+课程设计报告设计名称: 购置车辆保险费用计算器 专业班级: 建筑环境与设备工程(3)班 成绩:指导教师评语: 指导教师签字: 年 月 日目 录1.课程设计目的2.课程设计任务与要求3.课程设计说明书4.课程设计成果5.程序调试过程6.设计问题的不足和改进方案7.课程设计心得8.参考文献1课程设计目的软件设计基础-C+课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C+的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C+这门课

2、程的主要内容,养成良好的编程习惯,更好的完成教学任务。2课程设计任务与要求:要求:本次课程设计利用软件设计基础-C+课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图要清楚5、课题完成后必须按要求提交课程设计报告任务:1、 设计内容:根据输入的车型(:小客车:卡车:公共汽车)、汽车排量和购车金额、保险年限等计算不同保险公司所收取的车辆保险费用金额。 2、设计要求:(1)使用Visual C+中的M

3、FC AppWizard创建基于对话框的应用程序;(2)使用Visual C+中的资源编辑器对程序的对话框进行可视化编辑,实现程序所需的操作界面; (3)编辑对话框所对应的对话框类,添加成员变量来操纵控件,建立按铵的消息映射和消息映射函数,最后编写函数代码实现其功能3课程设计说明书概要设计模块说明:在我设计的程序中一共包括了四个模块:车辆基本信息模块、联系人信息模块、输出结果模块、信息的输出与重置模块。外部的显示的框架结构中,车辆排量、保险年限均用switch选择结构来对当前的保险金额做一个百分比的划分,以计算出最后的实际价格。行驶区域、车牌号码、购车时间均直接显示车辆信息。内部计算的框架结构

4、当中,车辆损失险、第三者责任险、全车抢盗险、玻璃损失险、车辆自燃险全部采用if-else选择结构来计算不同车型的不同的保险项目的保险金额。输出结果模块中,显示出各项保险类型的保险金额及汇总的保险金额。购置车辆保险计算器车辆基本信息联系人信息行驶区域车牌号码购车时间保险年限车辆排量购车金额姓名电子邮件手机号码车辆各项保险项目及总保险车费输出信息重置模块结构图: 车辆保险计算器模块结构图详细设计 开始输 入 信 息车辆及联系人部分基本信息关于车辆保险全额计算的基本信息汇总计算各类保险金额保险年限汽车排量折扣后的保险金额汇总所有项目保险金额及最终实际保险费重置总体流程图:车辆保险计算器总体流程图各功

5、能模块流程图:车辆损失险购 车 金 额第三者责任险全车抢盗险玻璃破碎险自燃损失险无过责任险不计免赔险车辆排量保险年限实际收取保险金额 各按钮和编辑框等对象的属性对象ID标题或说明按钮IDC_EDIT1车牌号码按钮IDC_EDIT2购车金额按钮IDC_EDIT5联系人姓名按钮IDC_EDIT6电子邮件按钮IDC_EDIT7结果显示按钮IDC_EDIT8联系人手机号码按钮IDC_RADIO1男士按钮IDC_RADIO2女士按钮IDC_RADIO4卡车按钮IDC_RADIO5公共汽车按钮IDC_RADIO_MINBUS小客车按钮IDC_COMBO1行驶区域按钮IDC_COMBO5保险年限按钮IDC_

6、COMBO6汽车排量按钮IDC_COMBO7邮件尾码按钮IDC_DATETIMEPICKER2购车时间按钮IDC_BUTTON1快速报价按钮IDC_BUTTON2重置4 课程设计成果一、 源代码:#include stdafx.h#include 852.h#include Calculate.h#ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE=_FILE_;#define new DEBUG_NEW#endifCCalculate:CCalculate()m_Thrid = 0; SetCarType(0); SetTime(0);SetC

7、C(0);SetMoney(0);CCalculate:CCalculate()int CCalculate:GetCar() return m_CarType; /返回输出车的类型void CCalculate:SetCarType(int i)m_CarType = i;void CCalculate:SetTime(int t)m_Time = t; switch (t) /保险年限的保险费用折扣的选择结构case 0: m_TimeDiscount = 1;break;case 1:m_TimeDiscount = 0.98;break;case 2:m_TimeDiscount =

8、0.95;break;default:m_TimeDiscount = 1;break;void CCalculate:SetCC(int cc)m_CC = cc;switch (cc) case 0: /车辆排量的保险费用折扣的选择结构m_CCDiscount = 0.95;break;case 1:m_CCDiscount = 0.98;break;case 2:m_CCDiscount = 1;void CCalculate:SetMoney(double money)m_Money = money;void CCalculate:SetThrid(double t)m_Thrid =

9、 t;double CCalculate:GetDamageMoney()if (0 = m_CarType) /车辆损失险针对于不同车型的选择计算结构return 630+m_Money*0.01; else if(1 = m_CarType)return 630+m_Money*0.02;elsereturn 630+m_Money*0.03;double CCalculate:GetThird()if (0 = m_CarType) / 第三者责任险针对于不同车型的选择计算结构SetThrid(2000);return 2000; else if(1 = m_CarType)SetThr

10、id(5000);return 5000;elseSetThrid(3000);return 3000;double CCalculate:GetStealMoney()if (0 = m_CarType) /车辆抢盗险针对于不同车型的选择计算结构return m_Money*0.015; else if(1 = m_CarType)return 630+m_Money*0.025;elsereturn 630+m_Money*0.035;double CCalculate:GetGlassMoney()if (0 = m_CarType) /玻璃破碎险针对于不同车型的选择计算结构return

11、 m_Money*0.001; else if(1 = m_CarType)return m_Money*0.002;elsereturn m_Money*0.003;double CCalculate:GetselfigniteMoney()if (0 = m_CarType) /车辆自燃损失险针对于不同车型的选择计算结构return m_Money*0.0015; else if(1 = m_CarType)return m_Money*0.0025;elsereturn m_Money*0.0035;double CCalculate:GetDutyMoney()return m_Thr

12、id*0.2; /无过责任险double CCalculate:GetTeyueMoney()if (0 = m_CarType) /不计免赔特约保险return (GetDamageMoney()+m_Thrid)*0.1; else if(1 = m_CarType)return (GetDamageMoney()+m_Thrid)*0.2;elsereturn (GetDamageMoney()+m_Thrid)*0.3;二、 运行结果:本个保险计算器的计算项目包括: 1、车辆损失保险费 2、第三者责任保险费 3、全车抢盗保险费 4、玻璃单独破碎保险费 5、自然损失保险费 6、无过责任险

13、 7、不计免赔特约保险费 本次车辆保险计算器针对于三种车型:1、小客车 2、卡车 3、公共汽车 三种不同的车型有三种不同的计算方法,其中最主要的部分是三种车型保险费的费率不同,输入车辆信息和个人信息后,框架中显示出各种保险费的金额以及最后汇总的保险金额。5.程序调试过程写出程序调试步骤,及遇到的问题。一、 程序的开展步骤:(1)建立AppWizardexe工程,工程名称为车辆保险计算器 (2)定义程序类型为基本对话框(3)点击IDD-MY-DIALOG出来框图架,(4)更改静态控件属性标题(5)对信息编辑框进行属性编辑(6)对快速报价建立类向导,将各个项目保险的函数联系起来。二、 遇到的问题:

14、1、编译时提示错误:c:documents and settingsadministrator桌面新建文件夹 (2)33dlg.cpp(4) : fatal error C1083: Cannot open precompiled header file: Debug/3.pch: No such file or directory执行 cl.exe 时出错.解决方案:经过调试之后,发现出现这个问题的原因是,工程设置C+预编译头文件自动使用预补偿页眉,开始系统自定义的是选择使用预补偿页眉文件。所以经过查询资料并调试之后,问题得以解决。2、 重做时调用其他工程中的对话框资源后编译链接运行后还是本

15、来有的那个对话框,后来将原先的对话框资源删除并将调用的对话框的ID改为原先的对话框的ID,再次编译链接运行之后没有反应了。解决方案:经过多次摸索发现调用过来的对话框是关联了菜单了,而新建的工程里没有菜单,因此将调用的对话框取消与菜单的关联,再次再次编译链接运行之后一切正常。6.设计问题的不足和改进方案这个这个车辆保险计算器的设计缺陷和改进措施: 1、计算器的计算保险金额的保险项目不够完善,与保险公司的实际保险类别还相差一定项目的保险类别。 改进方案:通过网络查询各个保险公司网站的保险率,并且通过对比,然后以唐山保险费额的计算,将保险率尽可能的符合实际。 2、计算器的界面设计不够漂亮,仅仅是单一

16、色彩的框架结构。 改进方案:深入学习MFC的教学内容,学习框架结构的颜色的运用,将计算器的可视化程度增强。 3、程序的选择结构上尚存在问题,车型若未选择,却可以默认计算出小客车的保险金额。改进方案:在程序结构上深入学习一下,在框架结构上作出错误信息提示的小窗口。 4、计算器的输入框和下拉窗口没有信息的错误提示。 改进方案:在代码中,新增加一个信息错误提示的窗口。 7.课程设计心得经过将近半个月的自学MFC内容,终于设计出符合题目要求的汽车保险计算器。在这半个月的时间内,我在同学的帮助,并且自己看教学视频,模仿教学视频的内容来一遍遍的尝试,顺利完成该课程设计,这个设计过程当中我感觉自己收获很大。

17、现在终于明白“纸上谈兵终觉浅,觉知此事要躬行”这个道理。所以,这学期的C+课程设计是锻炼我们的一次好机会,这次课程设计不仅能加深我们对MFC程序设计的掌握,而且为以后的自主学习打下了坚实的基础。在此次的课程设计当中,我深深领悟到:1、学会自主学习。提高自己查询信息的能力,善于运用周围的资源,图书馆、网络来寻求帮助。开始着手设计程序时,感觉自己无从下手。但是,经过在图书馆计算机书架查询一番之后,发现关于MFC内容的资料还是很多的,所以,经过把图书馆的资料整合,教学视频的引导之后,终于自己头脑中有个清晰的脉络层次。2、善于多询问问题。开始做车辆保险计算器界面的时候,经过网络查询,感觉还是不能将计算

18、器设计达到自己心中理想的程度,于是,经过打保险公司的客服电话,经过详细的了解,客服人员给予了我很大的帮助,对我完成这次课程设计起到了很大的帮助。3、注重细节很关键。这次课程设计,一个预编译的头文件的错误选择,影响了我开始课程设计的进程,仅仅这一个小小的问题,最后经过计算机专业同学的帮助下才得以解决,因此,我深深感悟到细节决定成败。这次课程设计让我学到了很多,不仅自学了MFC程序设计知识,而且也培养了我的动手能力和独立思考的能力,更令我的创造性思维得到拓展。这次课程设计让我体会到独立创造出成果的自豪感和喜悦感!8.参考文献1 王育坚. Visual C+面向对象编程教程.清华大学出版社,20052 罗丽琼. Visual C+6.0使用与开发.清华大学出版社,20063 求是科技. C&C+实效编程百例.人民邮电出版社,20044 吴金平. Visual C+6.0编程与实践,中国水利水电出版社,20055 陈清华.Visual C+课程设计案例精选与编程指导.东南大学出版社,20046Visual C+6.0 简易计算器编程的教学视频

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号