c_课程设计—自动存取款机软件设计

上传人:aa****6 文档编号:38365249 上传时间:2018-05-01 格式:DOC 页数:19 大小:364KB
返回 下载 相关 举报
c_课程设计—自动存取款机软件设计_第1页
第1页 / 共19页
c_课程设计—自动存取款机软件设计_第2页
第2页 / 共19页
c_课程设计—自动存取款机软件设计_第3页
第3页 / 共19页
c_课程设计—自动存取款机软件设计_第4页
第4页 / 共19页
c_课程设计—自动存取款机软件设计_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《c_课程设计—自动存取款机软件设计》由会员分享,可在线阅读,更多相关《c_课程设计—自动存取款机软件设计(19页珍藏版)》请在金锄头文库上搜索。

1、科信学院课程设计说明书课程设计说明书(2012/2013 学年第一学期)课程名称 : 软件程序设计 题 目 : 自动存取款机软件设计 专业班级 : 学生姓名 : 放羊娃 学 号: 指导教师 : 设计周数 : 2 周 设计成绩 : 2013 年 1 月 18 日1 1 课程设计目的课程设计目的(1)初步掌握使用 C#工具设计一个具体实例的方法,包括软件的设计,调试的全过程。(2)通过本次设计掌握使用 c#语言中窗体的建立,各个控件的使用,以及界面的设计。(3)进一步巩固所学的 C#及数据库的相关理论知识,提高分析和解决实际问题的能力。2 2 课程的分析课程的分析ATM 自动取款机系统向用户提供一

2、个方便、简单、及时、随时随地可以随心所欲存取款的互联的现代计算机化的网络系统。可以大大减少工作人员,节约人力资源的开销,同时由于手续程序减少也可以减轻业务员的工作负担,有效地提高了整体的工作效率和精确度。 减少了用户办理业务的等待时间;用户可以随时随地可以随心所欲存取款,并且操作简单易懂;用户还可以选择在柜台办理业务或自己在自动提款机和自动取款机办理业务。2.12.1 需求分析需求分析2.1.12.1.1 课设任务课设任务(1)根据技术要求和现有开发环境,分析题目(2)选定设计方案(3)画出软件框架结构图,关键程序流程图(4)使用 C#语言和.net 框架,并结合数据库,实现软件(5)调试,修

3、改并完善程序2.1.22.1.2 课设要求课设要求(1)模仿银行 ATM 的运行界面。(2)凭正确的卡号和密码进入系统。(3)实现取款,余额查询,修改密码,交费,转账,存款操作。2.22.2 系统的设计系统的设计(1)输入:用户通过键盘进行输入。(2)性能:可使用户在无任何经验的情况下进行操作 ATM 自助式服务。(3)功能方面:取款、查询余额、修改密码、存款、交费、转账。2.2.12.2.1 数据库的分析与设计数据库的分析与设计由自动提款机模拟软件系统的需求分析可知,本系统应为 windows 应用窗体的设计,据提供的实验环境及以前所学的理论知识,采用 SQL 数据库,根据自动提款机模拟软件

4、的功能要求,在 shuju 数据库中建立两张表来存储信息,分别为 Table1 和 RecordIofo。Table1 表中用来存储用户的卡号,密码,用户名,余额及用于卡号锁定的字段用户基本信息表(Table1)列名数据类型长度允许为空是否为主键说明kahaonvarchar19否是卡号mima nvarchar6否否密码xingmingnvarchar20是否姓名dianhuanvarchar11是否电话yuemoney是否余额locknvarchar2是否卡号锁定recordIofo 表中用于存储用户的卡号,用户名,存取结余,主要用于数据库的更新操作。用户操作信息表(recordIofo)

5、列名数据类型长度允许为空是否为主键说明kahaonvarchar19否是卡号xingmingnvarchar20是否姓名shijiandatetime否否操作时间leixingnvarchar20是否操作类型kashangyuyedecimal(18,0)是否交易金额2.2.22.2.2 取款机逻辑层次设计取款机逻辑层次设计本次课设的自动提款机模拟软件系统可以使用户进行登录、取款、转账、查询余额、修改密码、存款和交费等基本业务。ATM 系统基本结构框图如图 2-1 所示:存款修改密码余额交费取款转账退出主页用户登录启动2.32.3 程序设计程序设计用户进入后,点击用户登录进入登陆界面,在登录窗

6、口中输入卡号和密码,判断卡号与密码是否正确,若卡号与密码正确则进入用户操作界面,并根据用户的相关操作给用户提供相应的服务。若卡号与密码不正确,弹出对话框提示用户确认卡号和密码错误后重新输入,并对输入错误次数进行计数,若输入密码错误次数大于 3 次,则锁定该帐号。2.3.12.3.1 程序流程图程序流程图2.3.22.3.2 窗体的具体实施和代码窗体的具体实施和代码(1)用户登陆窗体:通过登陆界面可以进行用户的登陆过程,进而实现相应的用户操作。即当用户名与密码都正确时用户就可以登陆进行所需的操作。代码为:if (mask1.Text.Trim() != “)string connString =

7、 “Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|shuju.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True“;SqlConnection conn = new SqlConnection(connString);conn.Open(); string ssql = “select * from Table1 where kahao=“ + mask1.Text.Trim() + “;SqlCommand ccmd = new SqlComma

8、nd(ssql, conn);SqlDataReader dr1 = ccmd.ExecuteReader();if (dr1.Read()dr1.Close();name = mask1.Text.Trim().ToString();string isornot = “select lock from Table1 where kahao=“ + mask1.Text.Trim().ToString() + “ “;SqlCommand cmd0 = new SqlCommand(isornot, conn);SqlDataReader drr = cmd0.ExecuteReader();

9、if (drr.Read() mask2.Text = “;mask1.Text = “;drr.Close();elsedrr.Close();string sql = “select * from Table1 where kahao=“ + mask1.Text.Trim().ToString() + “and mima=“ + mask2.Text.Trim().ToString() + “;SqlCommand cmd = new SqlCommand(sql, conn);SqlDataReader dr = cmd.ExecuteReader();if (dr.Read()mas

10、k1.Text = dr“kahao“.ToString();FrmMian frm = new FrmMian();frm.Show();this.Hide();elseif (this.A+ = sqje)if (sqje % 100 = 0)MessageBox.Show(“请在30秒内取款“);decimal leftmoney = jine - sqje;string ssql = “Update Table1 set yue = “ + leftmoney + “ where kahao =“ + frmlo.name + “;SqlCommand ccmd = new SqlCo

11、mmand(ssql, conn);draw frm = new draw();frm.Show();this.Hide();int i = ccmd.ExecuteNonQuery();if (i = 1)elseMessageBox.Show(“操作失败,请重试!“, “提示“, MessageBoxButtons.OK, MessageBoxIcon.Error);elseMessageBox.Show(“本机只提供以百元为单位的金额,请正确输入金额!“);txt1.Text = “;elseMessageBox.Show(“您的余额不足!“);txt1.Text = “;conn.Cl

12、ose();(4)交费窗体:通过该界面用户可以进行交费。代码为:string connString = “Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|shuju.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True“;SqlConnection conn = new SqlConnection(connString);conn.Open();string sql = “SELECT * FROM Table1 WHERE kahao=“ + frm

13、lo.name + “;SqlCommand cmd = new SqlCommand(sql, conn);SqlDataReader dr = cmd.ExecuteReader();dr.Read();decimal jine = Convert.ToDecimal(dr4);decimal sqje = Convert.ToDecimal(textBox1.Text);string presentname = Convert.ToString(dr4);string cardid = “ + frmlo.name + “;decimal change = sqje;string tim

14、e = Convert.ToString(DateTime.Now);dr.Close();if (jine = sqje)MessageBox.Show(“操作正在,请稍侯“);decimal leftmoney = jine - sqje;string ssql = “Update Table1 set yue = “ + leftmoney + “ where kahao =“ + frmlo.name + “;SqlCommand ccmd = new SqlCommand(ssql, conn);MessageBox.Show(“交费成功!“);textBox1.Text = “;i

15、nt i = ccmd.ExecuteNonQuery();if (i = 1)textBox1.Text = “;elseMessageBox.Show(“操作失败,请重试!“, “提示:“, MessageBoxButtons.OK, MessageBoxIcon.Error);elseMessageBox.Show(“ 您的余额不足!“);textBox1.Text = “; (5)转账窗体:通过该界面用户可以给除自己外的其他账户进行转账。代码为:string connString = “Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|shuju.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True“;SqlConnection conn = new SqlConnection(connString);conn.Open();string sql = “SELECT * FROM Table1 WHERE kahao=“ + frmlo.name + “;SqlCommand cmd = new SqlCommand(sql, conn);SqlDataReader dr = cmd.ExecuteReade

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号