C#课程设计自动提款机模拟软件.doc
《C#课程设计自动提款机模拟软件.doc》由会员分享,可在线阅读,更多相关《C#课程设计自动提款机模拟软件.doc(21页珍藏版)》请在沃文网上搜索。
1、*学院 ( C#程序设计)课程设计说明书课程名称 : C#软件程序设计 题 目 : 自动提款机模 拟软件 专业班级 : 学生姓名 : 放羊娃 学 号: 指导教师 :设计周数 : 2周 2013年1月12号1、 课程设计目的(1)系统功能实现用户在提款机上提取现金,查询余额,修改密码等业务。(2)掌握使用C#的使用方法,包括软件的设计,调试的全过程。(3)通过本次设计掌握使用c#语言中窗体的建立,各个控件的使用,以及界面的设计。2、系统的分析与设计ATM是最普遍的自动银行设备,可以提供最基本的银行基本业务。取款机系统向用户提供一个方便、简单、及时、随时随地可以随心所欲存取款的互联的现代计算机化的
2、网络系统。最为自助式金融服务终端,除了提供金融服务外,ATM自动提款机还具有维护,测试,管理等多种功能。2.1需求分析2.1.1 课设任务(1)根据技术要求和现有开发环境,分析题目(2)选定设计方案(3)画出软件框架结构图,关键程序流程图(4)使用C#语言和.net框架,并结合数据库,实现软件(5)调试,修改并完善程序2.1.2 课设要求(1)模仿银行ATM的运行界面。(2)凭正确的卡号和密码进入系统。(3)实现取款,余额查询,修改密码,交费,转账操作。2.2系统的设计(1)输入:用户通过键盘进行输入。(2)性能:可使用户在无任何经验的情况下进行操作ATM自助式服务。(3)功能方面:取款、查询
3、余额、修改密码、记录查询、交费、转账。2.2.1 数据库的分析与设计本次课设涉及到的数据库有ACCESS数据库和SQL数据库。ACCESS数据库是由美国微软公司于年推出的微机数据库管理系统,它是0ffice办公软件中一个重要的组成部分。它具有较强的数据处理功能,便于生成各种数据对象,能够利用web检索和发布数据等优点。与ACCESS数据库相比,SQLServer数据库属于大型数据库,SQLServer数据库是基于.ne t的一个重要数据源,它是美国微软公司开发的一款关系型数据库管理系统的产品。由自动提款机模拟软件系统的需求分析可知,本系统应为windows应用窗体的设计,据提供的实验环境及以前
4、所学的理论知识,采用SQL数据库,根据自动提款机模拟软件的功能要求,在AtmInfo数据库中建立两张表来存储信息,分别为CardInfo和Record。table1表中用来存储用户的卡号,密码,用户名,余额及用于卡号锁定的字段表2-1 用户基本信息表(Table1)列名数据类型长度允许为空是否为主键说明kahaonvarchar19否是卡号标识 mima nvarchar6否否密码xingmingnvarchar20是否户主姓名dianhuanvarchar11是否户主电话yuemoney是否账户余额locknvarchar2是否卡号锁定recordInfo表中用于存储用户的卡号,用户名,存取
5、结余,主要用于数据库的更新操作。表2-2 用户操作信息表(recordInfo)列名数据类型长度允许为空是否为主键说明xingmingnvarchar20是否户主姓名 kahaonvarchar19否是卡号标识acctimedatetime否是操作时间acctiyenvarchar20是否操作类型exchangemoneydecimal(18,0)是否交易金额2.2.2逻辑层次的设计本次课设的自动提款机模拟软件系统可以使用户进行登录、取款、转账、查询余额、修改密码、输入3次密码不对,自动锁定和交费等基本业务。 ATM系统基本结构框图如图2-1所示:启动软件用户登录系统主页退出系统取款余额查询转
6、账修改密码记录查询交费图2-1 ATM系统的基本框图2.3.1 程序流程图软件设计程序流程图如图2-2所示:图2-2程序流程图2.3.2系统实施本系统主要通过运用C#的Windows窗体的设计进行开发和实施,主要通过如下几个功能模块来完成系统的具体的实施过程:(1)用户登陆窗体:通过登陆界面可以进行用户的登陆过程,进而实现相应的用户操作。即当用户名与密码都正确时用户就可以登陆进行所需的操作,其界面如图2-3所示:图2-3登陆界面具体实现的代码如下:static public string jikahao; private void btnLogin_Click(object sender, E
7、ventArgs e) string connString = Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|数据库a.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True; SqlConnection conn = new SqlConnection(connString); conn.Open(); string sql = select*from UserInfor where kahao= + txtUsername.Text.Trim().
8、ToLower() + and mima=+txtPassword.Text.Trim() + ; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() jikahao = drkahao.ToString(); frmMain frm = new frmMain(); frm.Show(); this.Hide(); else MessageBox.Show(用户名或密码错误!); dr.Close(); conn.Close(); private v
9、oid txtUsername_TextChanged(object sender, EventArgs e) txtUsername.Focus(); private void txtUsername_MouseHover(object sender, EventArgs e) txtUsername.Focus(); private void txtPassword_MouseHover(object sender, EventArgs e) txtPassword.Focus(); private void txtUsername_KeyPress(object sender, KeyP
10、ressEventArgs e) if (e.KeyChar = (char)13) txtUsername.Focus(); private void txtPassword_KeyPress(object sender, KeyPressEventArgs e) if (e.KeyChar = (char)13) txtPassword.Focus(); private void btnReset_Click(object sender, EventArgs e) txtUsername.Text = ; txtPassword.Text = ; private void button3_
11、Click(object sender, EventArgs e) MessageBox.Show(请取出你的卡); this.Hide(); private void Form1_Load(object sender, EventArgs e) (2)主窗体:通过主窗体可以进行用户的办理业务过程,进而实现相应的用户操作。具体实现的代码如下: private void button4_Click(object sender, EventArgs e) Form3 frm = new Form3(); frm.Show(); private void button2_Click(object s
12、ender, EventArgs e) Form6 frm = new Form6(); frm.Show(); this.Hide(); private void button5_Click(object sender, EventArgs e) Form4 frm = new Form4(); frm.Show(); this.Hide(); private void button1_Click(object sender, EventArgs e) Form5 frm = new Form5(); frm.Show(); this.Hide(); private void button3
13、_Click(object sender, EventArgs e) Form2 frm = new Form2(); frm.Show(); this.Hide(); (3)取款窗体:通过该界面用户可以从自己的账户中进行取款操作,但是取款的金额必须在规定范围内且为100元的整数倍,否则无法进行操作,当用户余额不足以提取时提示余额不足,其界面如图2-4所示:图2-4取款界面具体实现的代码如下:string connString = Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|数据库a.mdf;Integrated Securi
14、ty=True;Connect Timeout=30;User Instance=True; SqlConnection conn = new SqlConnection(connString); conn.Open(); string sql = SELECT * FROM UserInfor WHERE kahao= + Form1.jikahao + ; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); decimal jine = Convert.
15、ToDecimal(dr4); decimal sqje = Convert.ToDecimal(textBox1.Text); decimal change = sqje; string presentname = Convert.ToString(dr1); string time = Convert.ToString(DateTime.Now); dr.Close(); if (jine sqje) if (sqje % 100 = 0) decimal leftmoney = jine - sqje; string ssql = Update UserInfor set yue = +
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 课程设计 自动 提款 模拟 软件