《Vb课程设计-按揭购房还款计划(共7页).doc》由会员分享,可在线阅读,更多相关《Vb课程设计-按揭购房还款计划(共7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上按揭购房还款计划设计报告一、设计思路1.要达到的目的培养学生综合利用VB语言进行程序设计的能力,主要是利用VB的图像控件进行界面设计,用VB的鼠标事件进行控件的拖拽处理以及利用数组进行数据处理的能力。进一步巩固和加深对“VB程序设计”课程基本知识的理解和掌握,了解VB语言在项目开发中的应用。 学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。 通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力。 掌握自顶而下的设计方法,将大问题进行模块化分解,领会结构化程序设计的方法,同时
2、深刻认识到面向对象程序设计与面向过程设计的根本区别。 进一步掌握在集成环境下调试程序和修改程序的方法和技巧。2.关键问题的解决用户输入贷款总额、选择还款年数、政策性贷款人数和还款起始年月,但后单击“等额本息还款法”按钮弹出“等额本息还款法”对话框,显示以“等额还款本息还款法”还款时每月的还款额、全部本息总和、还款额与贷款额之比。)在主窗体中单击“等额本金还款法”按钮,弹出“等额本金还款法”对话框,列表框中显示出从起始还款年月开始每月的还款额以及全部本息总和及还款比。单击“保存到文件”按钮,显示提示文件名即路径的窗口。然后将列表框中的内容以文本文件的形式保存到指定文件中。“等额本金还款法”和“等
3、额本息还款法”窗口都以模态窗口显示,即必须单击“关闭”按钮后才能继续使用之窗口。“等额本金还款法”窗口中“每月还款额”列表框中显示的内容要求上下对齐。如果未输入贷款总额就单击“计算”按钮,则显示消息框给予提示。二、模块之间的调用关系,或程序流程图Command1Command2Command3 主程序实现等额本息还款法实现等额本金还款法退出应用程序每月还款额元全部本息总和元还款与货款之比全部本息总和元还款比保存路径三、部分程序关键源代码及注释对于主窗体Form1的代码编写为Private Sub Form_Load() Dim i As IntegerFor i = 1 To 30Combo1
4、.AddItem i 设置还款年数Next iCombo1.Text = 15 系统默认还款年数为15年For i = 2008 To 2020Combo2.AddItem i 还款起始的年份Next iCombo2.Text = 2008 系统默认的还款起始年份For i = 1 To 12Combo3.AddItem I 还款的月份Next iCombo3.Text = 1 系统默认的还款起始月Text1.Text = 0Option1(2).Value = TrueEnd Sub针对实现等额本息还款法的程序代码:Private Sub Command1_Click()Dim s As S
5、ingle, z As Single, s1 As Single, z1 As SingleDim Year As Integer, i As IntegerIf Val(Text1.Text) = 0 Or Val(Combo1.Text) = 0 Then MsgBox 请输入合适的贷款额。, 48, 注意: Exit Subs = Text1.Text S为贷款的数额Year = Combo1.Text Year为还款的年数For i = 0 To 3 i为享受政策性贷款的人数If Option1(i) Then Exit ForNext iz = i * 6If sz thens =
6、s - zElsez = ss = 0 计算出各种情况下的政策性贷款额和商业性贷款额End Ifs = s * 10000z = z * 10000s1 = (s * (0.05 / 12) * (1 + 0.05 / 12) (Year * 12) / (1 + 0.05 / 12) (Year * 12) - 1)z1 = (z * (0.04 / 12) * (1 + 0.04 / 12) (Year * 12) / (1 + 0.04 / 12) (Year * 12) - 1)Load Form2 下载窗体 form2Form2.Text1 = Format(s1 + z1, 0.0
7、0) 用于显示每月还款额Form2.Text2 = Format(s1 + z1) * Year * 12, 0.00) 用于显示全部本息总和Form2.Text3 = (s1 + z1) * Year * 12 / (s + z) 用于显示还款与货款之比 Form2.Show 1 显示窗体form2End Sub=对于加载的窗体form2的代码编写为:Private Sub Command1_Click() Unload Me 只是退出程序而不是停止运行程序End Sub=针对等额本金还款法的程序代码:Private Sub Command2_Click()Dim s As Single,
8、z As Single, Rate As Single, s1 As Single, z1 As SingleDim Year As Integer, i As Integer, j As Integer, start_year As Integer, start_month As IntegerIf Val(Text1.Text) = 0 Or Val(Combo1.Text) = 0 Then MsgBox 请输入合适的贷款额。, 48, 注意: Exit Subs = Text1.TextYear = Combo1.Textstart_year = Combo2.Text start y
9、ear为开始还款的年份start_month = Combo3.Text start month为开始还款的月份ReDim b1(Year * 12)ReDim b2(Year * 12)For i = 0 To 3 得到享受政策性还款的人数 If Option1(i) Then Exit ForNext iz = i * 6If s z Thens = s - zElsez = ss = 0End Ifs = s * 10000 得到商业性贷款的数额z = z * 10000 得到政策性贷款的数额Load Form3 下载form3窗体For i = 1 To Year * 12b1(i)
10、= s / (Year * 12) + (s - s / (Year * 12) * (i - 1) * (0.05 / 12)b2(i) = z / (Year * 12) + (z - z / (Year * 12) * (i - 1) * (0.04 / 12)s1 = s1 + b1(i) 用for循环求商业性还款额z1 = z1 + b2(i) 用for循环求政策性还款额Form3.List1.AddItem start_year & 年 & Format(start_month, 00) & 月: & Format(b1(i) + b2(i), 0.00) & 元start_mon
11、th = start_month + 1If start_month = 13 Then start_month = 1: start_year = start_year + 1Next iForm3.Text1 = s1 + z1 计算等额本金还款的全部本息总和Form3.Text2 = (s1 + z1) / (s + z) 计算其还货比Form3.Show 1 显示form3窗体End Sub=对于加载的Form3窗体编写的程序代码为:Private Sub Command1_Click()Dim s As StringDim i As Integers = InputBox(请输入文件
12、名及路径。, 文件名) 利用InputBox函数来引入输入对话框If s = Then Exit Sub 如果s为空则退出不保存Open s For Output As #1 打开文件供输出For i = 0 To List1.ListCount - 1Print #1, List1.List(i) 输出i行内容Next iClose #1 关闭文件#1End Sub=Private Sub Command2_Click() Unload MeEnd Sub=针对退出应用程序的程序代码:Private Sub Command3_Click()End 结束运行End Sub四、设计方案的完善及目
13、前存在的问题1设计方案要完善的地方 框中每月还款额的陈述不一定非得使用列表框,因为需要用到循环程序,所以有时候脑子转不过来,可以用文本框加上滚动条来显示更能让人理解。 政策性贷款额和商业性贷款额的计算比较繁琐。2. 目前存在的问题 当对Form3的每月还款额进行保存路径时,必须提前在计算机中建立text文档,这使得过程繁琐,希望可以找到一种方式可以让它直接存盘。五、本次设计的收获及心得体会这个程序虽然难度系数是B,但是我还是摸索一阵,它的有些程序我也找了一下,一般的用到的程序我在书上都能找到。但是由于我的计算机编程知识只是学了一点皮毛,没有达到专业的水平,我还是花了一点时间来研究的。在做的过程
14、中,虽然程序编好了,但还是会遇到运行不起来的情况,于是我就调试它。还会有一些拼写错误。好在还是把它做完了,功能还算完善,可以运行。我希望自己在接下来的学习中更好的去学习计算机编程,可以在日后学以致用,不能荒废了。在学习过程中,我遇到问题会问同学,会自己查书,养成了很好的自主学习的习惯,让我体会了认真、投入的去做一件事也可以得到很多快乐,只要自己全身心的投入,也可以很享受,乐在其中。同时,程序的设计也教会了我要有思维、有逻辑的做事才能做好,做精,这就是我一个月的学习体会。在这次编程过程中我通过建立Option1,Option2,Option3,Option4四个单选框,了解了什么叫控件数组。当然
15、有些东西在书本上是找不到的,于是我就到图书馆查阅资料。当我翻及“常用控件”那一章节细读之后,学习了不少东西。在设计的过程中,我们需要足够的耐心与细心。六、对该题目和VB设计的意见和建议1. 对该题目的意见和建议本题目所主要涉及的领域比较窄,比较单一,除了对各种控件以及命令按钮的使用以外,没有更加新颖和创新的地方。所以本题目的扩展方向还有很多,能创新的地方还有不少。希望下次能对要求有所创新,比如对控件的使用,使其界面更加人性化,以及增设更多的功能。2对本次设计的意见和建议1.VB设计时最好能提供更多有关的有针对性的书籍资料,以方便设计者在短期之内能有所建树。2.由于时间的限制,限制了设计者更多的创新机会,如有条件,最好增加设计的时间。3.增加学生和老师的交流,老师尽可能多的提供多种解决方案,既使设计者有路可寻,也能开阔视野。专心-专注-专业