银行存取款管理.docx
《银行存取款管理.docx》由会员分享,可在线阅读,更多相关《银行存取款管理.docx(17页珍藏版)》请在冰豆网上搜索。
![银行存取款管理.docx](https://file1.bdocx.com/fileroot1/2022-12/30/abc5ee78-f97e-4636-a255-677b9cfce65e/abc5ee78-f97e-4636-a255-677b9cfce65e1.gif)
银行存取款管理
沈阳航空航天大学
课程设计
学号2009040301015
班级94030101
姓名李帅
指导教师刘学平
2011年3月18日
沈阳航空航天大学
课程设计任务书
学院:
航宇专业:
飞行器制造工程班级:
94030101
学号:
2009040301015题目:
银行存取款管理
一、课程设计时间
2011年3月7日~11日(第1周),共计1周。
二、课程设计内容
以VB+Access组合,实现银行系统储户存取款管理。
要求考虑存款类型:
活期、定期,要按现有的实际利率计算,储户数据表至少应包括:
编号、用户名称、身份证号、密码、存款日期、存款金额、取款日期、利息等,只有在取款时才计算利息。
用户界面中的菜单至少应包括“建立新储户”、“存款”、“取款”、“退出”4项。
三、课程设计要求
程序质量:
✧贯彻事件驱动的程序设计思想。
✧用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
✧课设结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字
指导教师:
________学生签名:
________
五、成绩
六、教师评语
目录
一、需求分析4
二、设计分析5
三、关键技术7
四、总结15
五、完整的源程序16
六、参考文献22
一、需求分析
模拟银行存取款业务,主要指“存款”和“取款”2种业务。
由于存款具有利息,所以每次取款时系统必须计算出利息。
要求:
①在Access中创建books表,以“存款”和“取款”2方面信息。
此表的结构应如下定义:
编号,用户名称,身份证号,密码,存款日期,账户余额,取款日期,存款类型,定期存款时间,利息,税后利息。
②能够显示出存款类型。
③能够显示出存取款时间。
④能够显示出账户余额和利息以及税后利息。
二、设计分析
(1)基本原理:
建立程序设计与数据库的连接,用SQL语句在数据库中查找,添加和更改数据。
(2)总体设计:
图1总体设计
(3)详细设计:
图2详细设计
(4)数据库设计:
数据库设计是总体设计阶段非常重要的环节,数据库结构的变化会造成编码的改动,所以必须认真设计数据库结构后再进行编码,从而避免无谓的重复工作。
本系统的数据库包括1个表,即用户信息表。
1)用户信息表(rsb.dbf)
用户信息表(rsb.dbf)用于记录编号,用户名称,身份证号,密码,存款日期,账户余额,取款日期,存款类型,定期存款时间,利息,税后利息,其逻辑结构如表1所示。
表1用户信息表
编号
身份名称
身份证号
密码
存款日期
账户余额
取款日期
存款类型
定期存款时间
利息
税后利息
三、关键技术
(1)存款代码如下。
OptionExplicit
PrivateSubCombo1_Click()
IfCombo1.Text="定期"Then
Combo2.Visible=True
Label11.Visible=True
EndIf
EndSub
PrivateSubCommand1_Click()
Dima!
a=Text1.Text
Adodc1.Recordset.Find"编号="&"'"&a&"'"'根据编号寻找记录
IfText2=Text6AndText3=Text4Then
Combo1.Visible=True
Frame2.Visible=True
MsgBox"登陆成功"
Else
MsgBox"用户名或密码错误",0,"提示"
EndIf
EndSub
PrivateSubCommand2_Click()
Form1.Show
EndSub
PrivateSubCommand4_Click()
Command3.Visible=True
Text7=Val(Text7)+Val(Text8)
Text9=Date
Adodc1.Recordset.Fields("存款类型")=Combo1.Text'给新记录的各字段赋值。
Adodc1.Recordset.Fields("定期存款时间")=Combo2.Text'给新记录的各字段赋值。
Adodc1.Recordset.Update
EndSub
PrivateSubCommand5_Click()
Form1.Show
EndSub
PrivateSubForm_Load()
Combo2.Visible=False
Label11.Visible=False
EndSub
PrivateSubCommand3_Click()
Frame1.Visible=True
Frame2.Visible=False
Combo1.Visible=False
EndSub
图3存款界面
(2)取款代码如下。
DimaAsSingle,bAsDate,cAsSingle,dAsSingle,eAsDate,fAsDate,g$
PrivateSubCommand1_Click()
Frame3.Visible=True
a=Text1.Text
Adodc1.Recordset.Find"编号="&"'"&a&"'"'根据编号寻找记录
IfText2=Text6AndText3=Text4Then
Text10=Date
Else
MsgBox"用户名或密码错误",0,"提示"
EndIf
EndSub
PrivateSubCommand2_Click()
Form1.Show
EndSub
PrivateSubCommand3_Click()
IfText9.Text>Text7.TextThen
MsgBox"对不起,余额不足"
Form3.Hide
Form1.Show
Else
Command4.Visible=True
e=Text10
f=Text11
b=DateDiff("d",f,e)
g=Text13
c=Val(Text7)
Text7=Val(Text7)-Val(Text9)
IfText12="活期"Then
d=0.004/365*c*b
Else
SelectCaseg
Case"三个月"
d=0.026/4*c
Case"六个月"
d=0.028/2*c
Case"一年"
d=0.03*c
Case"二年"
d=0.039*2*c
Case"五年"
d=0.05*5*c
EndSelect
Text8=d
Text14=0.8*d
Text15=Val(Text7)+Val(Text14)
Adodc1.Recordset.Update'确定所做的修改并保存到数据源中
Adodc1.Recordset.MoveNext'下一个记录
Adodc1.Recordset.MovePrevious'上一个记录
EndIf
EndIf
EndSub
PrivateSubCommand4_Click()
Frame1.Visible=True
Frame3.Visible=False
Label1.Visible=False
Label2.Visible=False
Label4.Visible=False
Text1.Visible=False
Text2.Visible=False
Text3.Visible=False
Command1.Visible=False
Command2.Visible=False
Command5.Visible=True
EndSub
PrivateSubCommand5_Click()
Form1.Show
EndSub
PrivateSubCommand6_Click()
Form1.Show
EndSub
图4取款界面
(3)注册新用户。
PrivateSubCommand1_Click()
Form1.Adodc1.Recordset.AddNew'在记录中增加一个新行
Form1.Adodc1.Recordset.Fields("编号")=Text1'给新记录的各字段赋值。
Form1.Adodc1.Recordset.Fields("用户名称")=Text2
Form1.Adodc1.Recordset.Fields("身份证号")=Text3
Form1.Adodc1.Recordset.Fields("密码")=Text4
Form1.Adodc1.Recordset.Update
Form4.Hide
Form1.Show
EndSub
PrivateSubCommand2_Click()
UnloadMe'卸载这个窗体
Form1.Show
EndSub
PrivateSubCommand3_Click()
IfText5.Text<>Text4.TextThen
MsgBox"密码前后不一致"
Text4=""
Text5.Text=""
Else
MsgBox"是否确认入户"
EndIf
EndSub
图5注册界面
四、总结
这次课设我的题目是银行存取款系统系统,刚开始我实在没有头绪,起初设计了一个很简单的,后来老师对我说我的很简单必须用数据库连接。
可是我还不怎么会数据库连接,于是我回去翻阅了大量关于数据库的资料,经过了三天的奋战,我渐渐掌握了数据库连接,于是又开始了我的课程设计。
通过这次课设让我了解了VB与数据库之间的联系,可以应用ADO技术使VB与数据库进行联系,还可以应用SQL语言查询和更改数据库中的信息,并能向其中添加新的信息,而且也能查询。
在课设过程中,我遇到了重重困难,但是由于老师的指点我最终克服了困难,顺利的完成了任务。
在这里我感谢我的好老师。
使我最终完成了我的课设。
在这个信息化的时代,熟练掌握一门计算机语言是社会的必须。
不会计算机语言就是文盲,因此通过这次课设我更要练习好自己的VB,使自己在以后的未来能够成为社会的有用人才。
五、完整的源程序
Form1:
PrivateSubl1_Click()
Form2.Show
EndSub
PrivateSubl2_Click()
Form3.Show
EndSub
PrivateSubl3_Click()
Form4.Show
Form4.Text1=""
Form4.Text2=""
Form4.Text3=""
Form4.Text4=""
EndSub
PrivateSubl4_Click()
End
EndSub
Form2:
PrivateSubCombo1_Click()
IfCombo1.Text="定期"Then
Combo2.Visible=True
Label11.Visible=True
EndIf
EndSub
PrivateSubCommand1_Click()
Dima!
a=Text1.Text
Adodc1.Recordset.Find"编号="&"'"&a&"'"'根据编号寻找记录
IfText2=Text6AndText3=Text4Then
Combo1.Visible=True
Frame2.Visible=True
MsgBox"登陆成功"
Else
MsgBox"用户名或密码错误",0,"提示"
EndIf
EndSub
PrivateSubCommand2_Click()
Form1.Show
EndSub
PrivateSubCommand4_Click()
Command3.Visible=True
Text7=Val(Text7)+Val(Text8)
Text9=Date
Adodc1.Recordset.Fields("存款类型")=Combo1.Text'给新记录的各字段赋值。
Adodc1.Recordset.Fields("定期存款时间")=Combo2.Text'给新记录的各字段赋值。
Adodc1.Recordset.Update
EndSub
PrivateSubCommand5_Click()
Form1.Show
EndSub
PrivateSubForm_Load()
Combo2.Visible=False
Label11.Visible=False
EndSub
PrivateSubCommand3_Click()
Frame1.Visible=True
Frame2.Visible=False
Combo1.Visible=False
EndSud
Form3:
DimaAsSingle,bAsDate,cAsSingle,dAsSingle,eAsDate,fAsDate,g$
PrivateSubCommand1_Click()
Frame3.Visible=True
a=Text1.Text
Adodc1.Recordset.Find"编号="&"'"&a&"'"'根据编号寻找记录
IfText2=Text6AndText3=Text4Then
Text10=Date
Else
MsgBox"用户名或密码错误",0,"提示"
EndIf
EndSub
PrivateSubCommand2_Click()
Form1.Show
EndSub
PrivateSubCommand3_Click()
IfText9.Text>Text7.TextThen
MsgBox"对不起,余额不足"
Form3.Hide
Form1.Show
Else
Command4.Visible=True
e=Text10
f=Text11
b=DateDiff("d",f,e)
g=Text13
c=Val(Text7)
Text7=Val(Text7)-Val(Text9)
IfText12="活期"Then
d=0.004/365*c*b
Else
SelectCaseg
Case"三个月"
d=0.026/4*c
Case"六个月"
d=0.028/2*c
Case"一年"
d=0.03*c
Case"二年"
d=0.039*2*c
Case"五年"
d=0.05*5*c
EndSelect
Text8=d
Text14=0.8*d
Text15=Val(Text7)+Val(Text14)
Adodc1.Recordset.Update'确定所做的修改并保存到数据源中
Adodc1.Recordset.MoveNext'下一个记录
Adodc1.Recordset.MovePrevious'上一个记录
EndIf
EndIf
EndSub
PrivateSubCommand4_Click()
Frame1.Visible=True
Frame3.Visible=False
Label1.Visible=False
Label2.Visible=False
Label4.Visible=False
Text1.Visible=False
Text2.Visible=False
Text3.Visible=False
Command1.Visible=False
Command2.Visible=False
Command5.Visible=True
EndSub
PrivateSubCommand5_Click()
Form1.Show
EndSub
PrivateSubCommand6_Click()
Form1.Show
EndSub
Form4:
PrivateSubCommand1_Click()
Form1.Adodc1.Recordset.AddNew'在记录中增加一个新行
Form1.Adodc1.Recordset.Fields("编号")=Text1'给新记录的各字段赋值。
Form1.Adodc1.Recordset.Fields("用户名称")=Text2
Form1.Adodc1.Recordset.Fields("身份证号")=Text3
Form1.Adodc1.Recordset.Fields("密码")=Text4
Form1.Adodc1.Recordset.Update
Form4.Hide
Form1.Show
EndSub
PrivateSubCommand2_Click()
UnloadMe'卸载这个窗体
Form1.Show
EndSub
PrivateSubCommand3_Click()
IfText5.Text<>Text4.TextThen
MsgBox"密码前后不一致"
Text4=""
Text5.Text=""
Else
MsgBox"是否确认入户"
EndIf
EndSub
六、参考文献
[1]jamesfoxall.《VisualBasic入门经典》.北京:
人民邮电出版社,2007
[2]翟彬,王凤林《VisualBasic程序设计全程指南》.北京:
电子工业出版社200
[3]周永恒.《VisualBasic程序设计教程》.北京:
高等教育出版社,2006
[4]翟彬,王凤林《VisualBasic程序设计全程指南》.北京:
电子工业出版社2009