ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:582.94KB ,
资源ID:4753769      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4753769.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c#与net课程设计报告ATM交易管理系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c#与net课程设计报告ATM交易管理系统.docx

1、c#与net课程设计报告ATM交易管理系统C#与.NET课程设计报告学 院 计算机学院、软件学院专 业 计算机科学与技术 学 生 学 号 学 生 姓 名 指 导 教 师 日 期 1、课程设计目的(1)通过本次设计掌握使用c#语言中窗体的建立,各个控件的使用,以及界面的设计(2)进一步巩固所学的C#及数据库的相关理论知识,提高分析和解决实际问题的能力(3)初步掌握使用C#工具设计一个具体实例的方法,包括软件的设计,调试的全过程2、系统的分析与设计ATM应用系统为更进一步的提供银行交易服务,实现24小时不间断自助服务,对提高银行间的业务竞争能力有很大的帮助。通过ATM系统的项目实施和建设可以更进一

2、步的提供自身竞争力,紧跟网路技术的潮流,为银行业务的进一步的电子化、自动化迈出坚实的一步。本次课设实现了一个银行业务自动取款系统,客户通过ATM系统可以实现基本的业务操作。2.1需求分析2.1.1 课设任务(1)根据技术要求和现有开发环境,分析题目(2)选定设计方案(3)画出软件框架结构图,关键程序流程图(4)使用C#语言和.net框架,并结合数据库,实现软件(5)调试,修改并完善程序2.1.2 课设要求(1)仿某银行ATM的运行界面(2)凭正确的卡号和密码进入系统(3)实现存款、取款、余额查询登记本业务操作2.2系统的设计本系统属于中小型的银行取款系统,可以为银行用户提供各项基本服务,通过本

3、系统可以达到以下目标:(1)功能方面:取款、存款、修改密码、余额查询(2)性能:可使用户在无任何经验的情况下进行操作ATM自助式服务2.2.1 数据库的分析与设计 本次数据库是利用ACCESS建立,共包含三张表userInfo、cardInfo、transInfo。表的具体要求如下: 表一userInfo列名数据类型长度允许为空是否为主键说明customerIDint4否是客户唯一编号,自增customerNamenvarchar10否否客户姓名customerPIDnvarchar18否否身份证号Telephonenvarchar13否否客户电话Addressnvarchar50否否地址表二

4、 cardInfo列名数据类型长度允许为空是否为主键说明cardIDchar19否是卡号 cardTypenvarchar5否否卡类型savingTypenvzrchar8否否存款类型openDatedatetime20否否开户日期openMoneymoney50是否交易金额Balancemoney50是否余额passWordchar6否否密码isLossbit否否是否挂失customerIDint4否否客户编号 表三 transInfo列名数据类型长度允许为空是否为主键说明transIdint4否是交易明细号transDatadatatime8否否交易日期transTypechar4否否交易

5、类型cardIDchar19否否卡号transMoneymoney50否否交易金额表的实现:表一:表二:表三:2.2.2逻辑层次的设计本次课设的自动提款机模拟软件系统可以使用户进行登录、取款、存款、查询余额、修改密码等基本业务。 ATM系统基本结构框图如图1所示:图1 ATM系统的基本框图2.2.3界面的设计根据个人业务界面所提供的按钮,用户可以进行取款,存款、查询余额,修改密码等操作,个人业务界面如图所示:图 个人业务界面2.3程序设计用户进入系统后,点击用户登录进入登陆界面,在登录窗口中输入卡号和密码,判断卡号与密码是否正确,若卡号与密码正确则进入用户操作界面,并根据用户的相关操作给用户提

6、供相应的服务。若卡号与密码不正确,弹出对话框提示用户确认卡号和密码错误后重新输入,并对输入错误次数进行计数,若输入密码错误次数大于3次,则锁定该帐号。2.3.1 程序流程图软件设计程序流程图如图所示:图程序流程图2.3.2系统实施本系统主要通过运用C#的Windows窗体的设计进行开发和实施,主要通过如下几个功能模块来完成系统的具体的实施过程:(1)用户登陆窗体:通过登陆界面可以进行用户的登陆过程,进而实现相应的用户操作。即当用户名与密码都正确时用户就可以登陆进行所需的操作,其界面如图所示: 图登陆界面具体实现的代码如下:namespace ATM自动取款机设计 public partial

7、class frmzuichu : Form public frmzuichu() InitializeComponent(); private void button2_Click(object sender, EventArgs e) Form1 form1 = new Form1(); this.Hide(); form1.Show(); private void button3_Click(object sender, EventArgs e) Application.ExitThread(); Application.Exit(); public partial class Form

8、1 : Form public Form1() InitializeComponent(); public int a = 0; public string b; public int i = 0; public static string 帐号; public static string 密码; private void button12_Click(object sender, EventArgs e) string connString = Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|ziliaoku.mdf;Integ

9、rated Security=True;User Instance=True; SqlConnection conn = new SqlConnection(connString); string sql = SELECT 锁定FROM xinxi WHERE 帐号= + textBox2.Text.Trim() + ; using (SqlConnection conna = new SqlConnection(connString) conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader dr = cmd

10、.ExecuteReader(); if (dr.Read() b = dr锁定.ToString(); dr.Close(); string sql1 = SELECT * FROM xinxi WHERE 帐号= + textBox2.Text.Trim() + ; string sql2 = SELECT * FROM xinxi WHERE 帐号= + textBox2.Text.Trim() + AND 密码= + textBox1.Text.Trim() + ; /try / if (OperateDB.ExecuteReader(sql1) if (b = 0) if (Oper

11、ateDB.ExecuteReader(sql2) 帐号? = textBox2.Text.Trim(); 密码? = textBox1.Text.Trim(); frmMain main = new frmMain(); main.Show(); this.Hide(); else a = a + 1; if (a 2) OperateDB.ExecuteNonQuery(UPDATE xinxi SET 锁定=1 WHERE 帐号= + textBox2.Text.Trim() + ); frmTunKa tunka = new frmTunKa(); tunka.Show(); this

12、.Hide(); else MessageBox.Show(密码不正确,请重新输入!注意最多可输入三次!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); else MessageBox.Show(该帐号已被锁定,请与银行管理员联系!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); else MessageBox.Show(此用户不存在,请重新输入帐号!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); / /catch / / M

13、essageBox.Show(软件错误!); / private void button13_Click(object sender, EventArgs e) textBox1.Text = ; textBox1.Text =; private void groupBox1_Enter(object sender, EventArgs e) private void textBox2_MouseEnter(object sender, EventArgs e) textBox2.Focus(); private void textBox1_MouseEnter(object sender,

14、EventArgs e) textBox1.Focus(); private void textBox2_KeyPress(object sender, KeyPressEventArgs e) if (e.KeyChar = (char)13)/13表示回车 textBox1.Focus(); private void textBox1_KeyPress(object sender, KeyPressEventArgs e) if (e.KeyChar = (char)13) button12_Click(sender, e); private void Form1_Load(object

15、sender, EventArgs e) textBox2.Focus(); private void button1_Click(object sender, EventArgs e) frmzuichu zuichu = new frmzuichu(); this.Hide(); zuichu.Show(); (2)个人业务窗体:根据界面所提供的按钮用户可以进行取款,存款,查询余额等操作,其界面如图所示:图个人业务界面具体实现的代码如下:private void button1_Click(object sender, EventArgs e) frmQuKuan qukuan = new

16、 frmQuKuan(); qukuan.Show(); this.Hide(); private void button2_Click(object sender, EventArgs e) frmCunKuan cunkuan = new frmCunKuan(); /frmCKQR ckqr = new frmCKQR(); cunkuan.Show(); this.Hide(); /Thread.Sleep(5000); /cunkuan.Close(); /ckqr.Show(); private void button3_Click(object sender, EventArgs

17、 e) frmYuEChaXun yuechaxun = new frmYuEChaXun(); yuechaxun.Show(); this.Hide(); private void button4_Click(object sender, EventArgs e) frmXiuGaiMiMa xiugaimima = new frmXiuGaiMiMa(); xiugaimima.Show(); this.Hide(); private void button7_Click(object sender, EventArgs e) frmShaoDeng3 shaodeng3 = new f

18、rmShaoDeng3(); shaodeng3.Show(); this.Close(); (3)取款窗体:通过该界面用户可以从自己的账户中进行取款操作,但是取款的金额必须在规定范围内且为100元的整数倍,否则无法进行操作,当用户余额不足以提取时提示余额不足,其界面如图所示: 图取款界面具体实现的代码如下:public partial class frmQuKuan : Form public frmQuKuan() InitializeComponent(); public int abc; private void button12_Click(object sender, EventA

19、rgs e) string ab = textBox1.Text.Trim(); int a = Convert.ToInt16(ab); string connString = Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|ziliaoku.mdf;Integrated Security=True;User Instance=True; SqlConnection conn = new SqlConnection(connString); string sql = SELECT 储蓄 FROM xinxi WHERE 帐号=

20、+ Form1.帐号 + ; using (SqlConnection conna = new SqlConnection(connString) conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() string bc = dr储蓄.ToString(); abc=Convert .ToInt32 (bc); dr.Close(); if (a = abc) if (a != 0) if (a % 100) = 0) if (

21、OperateDB.ExecuteNonQuery(DECLARE xc int EXECUTE dbo.StoredProcedure1 + Form1.帐号? + , + textBox1.Text.Trim() + ,xc OUT) = 1) frmShaoDeng1 shaodeng1 = new frmShaoDeng1(); frmTiQuXianJin tiquxianjin = new frmTiQuXianJin(); frmMain main = new frmMain(); shaodeng1.Show(); shaodeng1.Focus(); this.Close()

22、; else frmQKTS qkts = new frmQKTS(); qkts.Show(); qkts.Focus(); this.Hide(); else this.Hide(); /Thread.Sleep(5000); /qkje1.Close(); /this.Focus(); /timer5.Start(); else textBox1.Text = ; frmYEBZ yebz = new frmYEBZ(); yebz.Show(); yebz.Focus(); this.Hide(); private void button1_Click(object sender, E

23、ventArgs e) frmMain main = new frmMain(); this.Hide(); main.Show(); private void button13_Click(object sender, EventArgs e) textBox1.Text = ; (4)查询余额窗体:在业务类型窗体上点击余额查询,可查询当前用户银行卡上的可用余额,其界面如图所示:图查询余额界面具体实现的代码如下:public partial class frmYuEChaXun : Form public frmYuEChaXun() InitializeComponent(); priva

24、te void frmYuEChaXun_Load(object sender, EventArgs e) string connString = Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|ziliaoku.mdf;Integrated Security=True;User Instance=True; SqlConnection conn = new SqlConnection(connString); string sql = SELECT 储蓄 FROM xinxi WHERE 帐号= + Form1.帐号 + ; u

25、sing (SqlConnection conna = new SqlConnection(connString) conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() textBox1.Text = dr储蓄.ToString(); dr.Close(); private void button1_Click(object sender, EventArgs e) this.Close(); frmMain main = ne

26、w frmMain(); main.Show(); private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) /string sql = SELECT 储蓄 FROM xinxi WHERE 帐号= + Form1.帐号 + ; /DataSet myDs = OperateDB.ExecuteDataset(sql); /dataGridView1.DataSource = myDs.Tables0.DefaultView; private void button2_Clic

27、k(object sender, EventArgs e) frmShaoDeng3 shaodeng3 = new frmShaoDeng3(); shaodeng3.Show(); this.Close(); (5)修改密码窗体:通过该界面用户可以给自己的账户进行修改密码的操作,两次输入的新密码一样将修改成功,否则将失败,其界面如图所示:图 修改密码界面具体实现的代码如下:public partial class frmXiuGaiMiMa : Form public frmXiuGaiMiMa() InitializeComponent(); private void button1_C

28、lick(object sender, EventArgs e) if (textBox3.Text.Trim() = textBox2.Text.Trim() try if (OperateDB.ExecuteNonQuery(UPDATE xinxi SET 密码= + textBox2.Text.Trim() + WHERE 帐号= + Form1.帐号 + ) = 1) frmXGCG xgcg = new frmXGCG(); xgcg.Show(); xgcg.Focus(); this.Hide(); else frmXGSB xgsb = new frmXGSB(); xgsb.Show(); xgsb.Focus(); this.Hide(); catch MessageBox.Sho

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1