最新版按揭购房还贷计划毕业课程设计报告.docx
《最新版按揭购房还贷计划毕业课程设计报告.docx》由会员分享,可在线阅读,更多相关《最新版按揭购房还贷计划毕业课程设计报告.docx(20页珍藏版)》请在冰豆网上搜索。
最新版按揭购房还贷计划毕业课程设计报告
VB课程设计(论文)任务书
土木建筑学 院 环境工程专 业2 班
一、课程设计(论文)题目:
按揭购房还款计划
二、课程设计(论文)工作自2013年6月17日起至2013年6月23日止
三、课程设计(论文)地点:
计算中心8#706
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)进一步巩固和加深对“VB程序设计”课程基本知识的理解和掌握,了解VB语言在项目开发中的应用。
(2)学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。
(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力。
2.课程设计的任务及要求
(1)基本要求:
(1)对系统功能进行需求分析;
(2)使用Visualbasic开发环境进行程序开发;
(3)提出系统的设计方案;
(4)编写源程序代码并进行调试。
(2)创新要求
在基本要求达到后,可进行创新设计。
(3)课程设计报告撰写及装订要求
课程设计报告的撰写要求表述简明,图表准确。
报告按如下内容和顺序用A4纸进行打印并装订成册。
(1)封面
采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。
(2)设计任务书
(3)评阅书
(4)目录
(5)正文
(6)主要参考文献
(4)课程设计评分标准:
(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;
(2)能正确回答设计的中老师所提问题,可增加10分;
(3)课程设计报告书写规范整齐,可增加10分;
(4)心得体会认真总结,可增加10分;
(5)程序有创新性,可增加10分;
成绩评定实行优秀、良好、中等、及格和不及格五个等级。
不及格者需重做。
(5)课程设计进度安排
(1)准备阶段(6学时):
选择设计题目、了解设计目的要求、查阅相关资料。
(2)程序模块设计分析阶段(8学时):
程序总体设计、详细设计。
(3)代码编写调试阶段(10学时):
程序模块代码编写、调试、测试。
(4)撰写论文阶段(6学时):
总结课程设计任务和设计内容,撰写课程设计论文。
(6)课程设计题目具体要求:
设计要求:
设计一个“按揭购房还款计划”
使用银行按揭贷款是目前购买商品房常用的方式,即一次性贷款然后每月偿还,在预定年限(还款年数)内连本带息还清为止。
本题目要求编制一个实用程序,帮助准备以按揭贷款形式购买商品房的人士计算出以不同年限、不同数额、不同还款方式贷款时每月应偿还的款数、还款的总额以及还款额和贷款额的比值。
说明:
贷款方式分为两类:
商业性贷款,年利率为5%;政策性贷款,年利率为4%(政策性贷款需要贷款人具有有效的公积金账户,且每人最多螚贷6万元)。
等额本息还款法,每月还款额相同,为:
等额本金还款法,每月还款额不相同,逐月递减,第i月的还款额为
,其中:
,月利率=年利率/12
⑴运行程序,显示主窗口(如图1),其中“还款年数”组合框默认值为“16”,“享受政策性贷款的人数”默认为“二人”,“还款起始年月”默认值为用户使用时的日期。
图1
⑵用户根据需要输入总额、选择还款年数、政策性贷款人数和还款起始年月,然后单击“等额本息还款法”按钮弹出“等额本息还款法”窗口(图2),显示以“等额本息还款法”还款时“每月的还款额”、“全部本息总和”(每月还款额×还款月数)、“还款与贷款之比”(全部本息总和÷贷款额)。
图2图3
⑶在主窗口中单击“等额本金还款法”按钮,弹出“等额本金还款法”窗口(如图3),列表框中显示出从起始还款年月开始“每月还款额”以及“全部本金总和”及“还贷比”;单击“保存到文件”按钮,显示如图4所示的输入对话框提示输入文件名及路径,然后将列表框中的内容以文本文件的形式保存到指定文件中。
图4图5
⑷“等额本金还款法”和“等额本息还款法”窗口都必须单击“关闭”按钮后返回到主窗口。
“等额本金还款法”窗口中“每月还款额”列表框中显示的内容要求上下对齐。
如果未输入贷款总额就单击计算按钮,则显示消息对话框予以提示。
学生签名:
2013年6月17日
课程设计(论文)评阅意见
序号
项目
等 级
优秀
良好
中等
及格
不及格
1
课程设计态度评价
2
出勤情况评价
3
任务难度评价
4
工作量饱满评价
5
设计中创新性评价
6
论文书写规范化评价
综合评定等级
评阅人周美玲职称讲师
2013年6月23日
目录
第1章我的系统概要2
1.1功能介绍2
第2章内容总体设计2
2.1设计思路2
2.2属性窗口3
第3章源程序代码6
3.1Form1窗口的代码6
3.2Form2窗口的代码8
3.3Form3窗口的代码8
3.4模块的代码9
第4章最后运行结果及分析10
4.1运行结果10
4.2程序分析11
4.3运行程序的相关说明13
第5章心得体会15
参考文献16
第1章我的系统概要
“
使用银行按揭贷款是目前购买商品房常用的方式,即一次性贷款后每月偿还,在预定年限(还款年数)内连本带息还清为止。
本题目要求一个实用程序,帮助准备以按揭贷款形式购买商品房的人士计算出以不同年限、不同数额、不同还款方式贷款时每月应还的款数、还款的总额以及还款额和贷款额的比例,帮助其进行决策。
1.1功能介绍
按揭购房还款计划的应用程序是一个类似于计算器的问题,但它又不同于计算器,它能够根据用户的需要快地计算出其还款的总额以及还款额和贷款额的比例,当系统界面和代码设计完成运行后,能够实现以下操作:
(1)运行程序,显示主窗口,其中“还款年数”组合框默认值为“15”,“享受政策性贷款的人数”默认为“二人”,“还款起始年月”默认为用户使用时的日期。
(2)用户根据需要输入贷款总额、选择还款年数、政策性贷款人数和还款起始年月,但后单击“等额本息还款法”按钮弹出“等额本息还款法”对话框,显示以“等额还款本息还款法”还款时每月的还款额、全部本息总和(每月还款额×还款月数)、还款额与贷款额之比(全部本息总和除以贷款额)。
(3)在主窗体中单击“等额本金还款法”按钮,弹出“等额本金还款法”对话框,列表框中显示出从起始还款年月开始每月的还款额以及全部本息总和及还款比。
单击“保存到文件”按钮,显示如图1.4所示输入窗口提示文件名即路径。
然后将列表框中的内容以文本文件的形式保存到指定文件中。
(4)“等额本金还款法”和“等额本息还款法”窗口都以模态窗口显示,即必须单击“关闭”按钮后才能继续使用之窗口。
“等额本金还款法”窗口中“每月还款额”列表框中显示的内容要求上下对齐。
如果未输入贷款总额就单击“计算”按钮,则显示消息框给予提示。
第2章内容总体设计
2.1设计思路
分析:
因为商业性贷款和政策性贷款的年利率分别为5%和4%,所以用IfCorpus1>Corpus2ThenCorpus1=Corpus1-Corpus2Else
Corpus2=Corpus1Corpus1=0EndIf来对贷款总额分类。
又因为还款方式分等额本息还款发和等额本金还款法两种,其中等额本息还款法:
由公式,每月还款额
等额本金还款法:
有公式,第i个月还款额
所以建立一个全局通用的模块,在模块中定义A函数FunctionA(CorpusAsSingle,RateAsSingle,YearAsInteger)AsSingle和B函数FunctionB(CorpusAsSingle,RateAsSingle,YearAsInteger,Arr()AsSingle)AsSingle然后再在每个Click事件中调用这两个即可。
要将得到的每个月还款额的列表框输出到指定文件中,用Open文件名For模式as代号即可。
具体流程图如下:
流程图
2.2属性窗口
用户界面:
对象属性:
控件名
属性名
属性值
Form1
Caption
1-FixedSingle
Form1
Caption
按揭还款计算软件
Form1
Caption
2-屏幕中心
Label1
caption
贷款总额
Label2
caption
(万元)
Label3
caption
还款年数
text1
text
Option1(0)
Caption
无人
Option1
(1)
Caption
一人
Option1
(2)
Caption
两人
Option1
(2)
Value
True
Option1(3)
Caption
三人
Frame1
Caption
享受政策性贷款的人数
Frame2
Caption
还款起始年月
Combo1
名称
cboYear1
Combo1
Style
2-DropdownList
Combo1
Txet
cboYear1
Combo2
名称
cboYear
Combo2
Style
2-DropdownList
Combo2
Txet
cboYear
Combo3
名称
cboMonth
Combo3
Style
2-DropdownList
Combo3
Txet
cboMonth
Command1
Caption
等额本息还款法
Command2
Caption
等额本金还款法
Command3
Caption
退出
控件名
属性名
属性值
Form2
Caption
1-FixedSingle
Form2
Caption
等额本息还款法
Form2
Caption
屏幕中心
Label1
caption
每月还款额(元)
Label2
caption
全部本息总和(元)
Label3
caption
还款与贷款之比
Text1
text
Text2
text
Text3
text
Command1
Caption
关闭
控件名
属性名
属性值
Form3
Caption
1-FixedSingle
Form3
Caption
等额本金还款法
Form3
Caption
2-屏幕中心
Frame1
Caption
每月本金还款额
Command1
Caption
关闭
Command2
Caption
保存到文件…
Text1
text
Text2
text
Label1
caption
全部本息总和(元)
Label2
caption
还款与贷款之比
第3章源程序代码
3.1Form1窗口的代码
OptionExplicit
PrivateSubForm_Load()
DimiAsInteger
Fori=1To30
cboYear1.AddItemi
Next
cboYear1.Text=15
Fori=0To9
cboYear.AddItemYear(Date)+i
Next
cboYear.Text=Year(Date)
Fori=1To12
cboMonth.AddItemi
Next
cboMonth.Text=month(Date)
EndSub
PrivateSubCommand1_Click()
DimCorpus1AsSingle
DimCorpus2AsSingle
DimRateAsSingle
DimYearAsInteger
DimiAsInteger
DimA1AsSingle
DimA2AsSingle
IfVal(txtCorpus.Text)=0OrVal(cboYear1.Text)=0ThenMsgBox"请输入合适的贷款额。
",48,"注意":
ExitSub
Corpus1=txtCorpus.Text
Year=cboYear1.Text
Fori=0To3
IfOption1(i)ThenExitFor
Next
Corpus2=i*6
IfCorpus1>Corpus2Then
Corpus1=Corpus1-Corpus2
Else
Corpus2=Corpus1
Corpus1=0
EndIf
Corpus1=Corpus1*10000
Corpus2=Corpus2*10000
A1=A(Corpus1,0.05,Year)
A2=A(Corpus2,0.04,Year)
LoadForm2
Form2.Text1=Format(A1+A2,"0.00")
Form2.Text2=Format((A1+A2)*Year*12,"0.00")
Form2.Text3=(A1+A2)*Year*12/(Corpus1+Corpus2)
Form2.Show1
EndSub
PrivateSubCommand2_Click()
DimCorpus1AsSingle
DimCorpus2AsSingle
DimRateAsSingle
DimYearAsInteger
DimiAsInteger,jAsInteger
DimA1AsSingle
DimA2AsSingle
Dimstart_yearAsInteger,start_monthAsInteger
Dimb1()AsSingle
Dimb2()AsSingle
IfVal(txtCorpus.Text)=0OrVal(cboYear1.Text)=0ThenMsgBox"请输入合适的贷款额。
",48,"注意":
ExitSub
Corpus1=txtCorpus.Text
Year=cboYear1.Text
start_year=cboYear.Text
start_month=cboMonth.Text
ReDimb1(Year*12)
ReDimb2(Year*12)
Fori=0To3
IfOption1(i)ThenExitFor
Next
Corpus2=i*6
IfCorpus1>Corpus2Then
Corpus1=Corpus1-Corpus2
Else
Corpus2=Corpus1
Corpus1=0
EndIf
Corpus1=Corpus1*10000
Corpus2=Corpus2*10000
A1=B(Corpus1,0.0504,Year,b1)
A2=B(Corpus2,0.0405,Year,b2)
LoadForm3
Fori=1ToYear*12
Form3.List1.AddItemstart_year&"年"&Format(start_month,"00")&"月:
"&Format(b1(i)+b2(i),"0.00")&"元"
start_month=start_month+1
Ifstart_month=13Thenstart_month=1:
start_year=start_year+1
Next
Form3.Text2=A1+A2
Form3.Text3=(A1+A2)/(Corpus1+Corpus2)
Form3.Show1
EndSub
PrivateSubCommand3_Click()
UnloadMe
EndSub
3.2Form2窗口的代码
PrivateSubCommand1_Click()
UnloadMe
EndSub
3.3Form3窗口的代码
OptionExplicit
PrivateSubCommand1_Click()
UnloadMe
EndSub
PrivateSubCommand2_Click()
DimsAsString
DimiAsInteger
s=InputBox("请输入文件名及路径。
","文件名")
Ifs=""ThenExitSub
OpensForOutputAs1
Fori=0ToList1.ListCount-1
Print#1,List1.List(i)
Next
Close1
EndSub
3.4模块的代码
OptionExplicit
FunctionA(CorpusAsSingle,RateAsSingle,YearAsInteger)AsSingle
DimTempAsSingle
Rate=Rate/12#
Temp=(1+Rate)^(Year*12)
A=(Corpus*Rate*Temp)/(Temp-1)
EndFunction
FunctionB(CorpusAsSingle,RateAsSingle,YearAsInteger,Arr()AsSingle)AsSingle
DimtotalAsSingle
Dimm_totalAsSingle
DimmonthAsInteger
DimiAsInteger
Rate=Rate/12
month=Year*12
total=0#
m_total=0#
Fori=1Tomonth
m_total=Corpus/month+(Corpus-Corpus/month*(i-1))*Rate
Arr(i)=m_total
total=total+m_total
Next
B=total
Endfunction
第4章最后运行结果及分析
4.1运行结果
当贷款总额为10时,运行结果如图:
单击等额本息还款法
等额本金还款法
当输入贷款总额为0时:
4.2程序分析
运行错误
在设计代码的时候,确实遇到了不少问题,首先,在设置控件的属性只能的时候,不知道哪些该改,哪些不该改。
然后,编写代码时出现了很多错误。
1模块中的通用函数A、B,一是由公式代换时出现错误,二是定义变量时漏掉许多东西,于是就调试,重新定义变量。
2在应用For循环语句和If条件语句嵌套时,漏写Next或者Then或者EndIf。
措施:
加上缺少的语句即可。
3不知道怎么计算政策性和商业性贷款的总额,上网查询。
4在调用通用过程时定义的变量有误,重新定义变量。
。
5使消息对话框出现警告,不知道用48代号,查阅书本。
6文件输出时出现路径错误,调试后才发现是文件名错误。
4.3运行程序的相关说明
用户根据需要输入贷款总额、选择还款年数、政策性贷款人数和还款起始年月,然后单击“等额本息还款法”按钮弹出“等额本息还款法”对话框,显示以“等额还款本息还款法”还款时每月的还款额、全部本息总和(每月还款额×还款月数)、还款额与贷款额之比(全部本息总和除以贷款额)。
在主窗体中单击“等额本金还款法”按钮,弹出“等额本金还款法”对话框,列表框中显示出从起始还款年月开始每月的还款额以及全部本息总和及还款比。
单击“保存到文件”按钮,显示如图1.4所示输入窗口提示文件名即路径。
然后将列表框中的内容以文本文件的形式保存到指定文件中。
如果未输入贷款总额就单击“计算”按钮,则显示如图的消息框给予提示。
第5章心得体会
说实话,vb课程设计对我来说确实有很大的挑战性,有很多东西都要自学,还要咨询有经验的学长,但通过这个课程设计让我对vb有了进一步的了解。
在这次的程序设计过程中,我遇到了很多问题。
什么定义不存在之类的问题,于是我选择了调试,可它指向的却是“IfOption1(i)ThenExitfor”这一行,我百思不得其解。
翻书查看无效之后,我便开始问学长究竟什么原因,终于让我发现了这个“Option1”,原来是我错把1(数字)写成l(英文字母)。
在VB设计的过程中类似于这样的问题有很多,看似很小的问题,即使是一个小标点或是一个英文字母对程序的影响也很大。
因此,在设计的过程中,我们需要足够的耐心。
在这次的课程设计的过程中虽然碰到很多问题,但我收获颇多。
的确,是它让我明白了万事开头难,但刚刚开始遇到一些困难没关系,慢慢来。
编程序本来就是一个比较繁琐的过程,是一个需要不断学习、不断积累的过程,而编写程序的乐趣大概也正在于这样学习的过程中吧。
这次程序的编写也让我明白编程不是一项轻松的活,尤其是对于一个VB课程设计,它并不像我们平常的上机作业那样。
面对每次的运行结果是“类型不匹配”或是“函数未定义”时,我整个人几乎面临崩溃,毕竟时间有限。
这样的VB课程设计真的很能锻炼一个人的自学水平,没有一定的基本功、细心及耐心是绝对不可能做到的。
现在回想起整个课程设计的过程,有时候真的不想做了,讨厌代码编写过程经常漏洞百出和有些程序不能正常运行,在某一个瞬间程序正常运行之后我会不自觉的开怀大笑。
总之,VB给予了我欢乐与痛苦。
通过这样一个学期VB的学习以及以这次课程设计,我对VB这门高级的程序设计语言有了许多了解。
逐渐喜欢上了编程的过程。
接下来,我一定要好好复习所学内容去迎接最后的VB期末考核。
相信我一定行。
参考文献
⑴《VisualBasic程序设计》作者:
熊李艳、周美玲主编,人民邮电出版社
⑵《VisualBasic程序设计实验教程》作者:
吴昊、杜玲玲主编人民邮电出版社
(3)按揭购房还款计划相关搜索