> 文章列表 > C#程序设计——面向对象编程基础,设计一个Windows应用程序,模拟一个简单的银行账户管理系统。实现创建账户、取款、存款和查询余额的模拟操作。

C#程序设计——面向对象编程基础,设计一个Windows应用程序,模拟一个简单的银行账户管理系统。实现创建账户、取款、存款和查询余额的模拟操作。

C#程序设计——面向对象编程基础,设计一个Windows应用程序,模拟一个简单的银行账户管理系统。实现创建账户、取款、存款和查询余额的模拟操作。

一、实验目的                 

1、理解简单程序中的面向对象思想的应用

2、掌握C#的定义类和创建对象的方法

3、理解方法中参数的传递

二、实验内容

1、设计一个Windows应用程序,模拟一个简单的银行账户管理系统。实现创建账户、取款、存款和查询余额的模拟操作。界面如图3-1、3-2、3-3、3-4所示。具体要求如下:

(1)设计一下账户类(Account)包含以下数据信息:卡号(creditNo)、余额(balance)等。

(2)当单击“创建账户”按钮时,显示如图3-1所示信息,其中卡号为随机生成的一个在100000-499999的一个值,余额初始化为100元。

(3)在“取款”文本框中输入取款金额后,单击“取款”按钮,显示如图3-2所示的信息。如果没有创建账户或没有输入金额而单击“取款”按钮或余额不足时,需要给出适当提示。

(4)在“存款”文本框中输入取款金额后,单击“存款”按钮,显示如图3-3所示的信息。如果没有创建账户或没有输入金额而单击“取款”按钮时,需要给出适当提示。

(5)当单击“查询余额”按钮时,显示如图3-4所示的信息。

 图3-1 “创建账户”运行效果  

      图3-2 “取款”运行效果

 图3-3“存款”运行效果

 图3-4“查询余额”运行效果

三.参考代码

(1)“账户类”的核心代码如下(存款操作需要补齐):

 

(2)“窗体程序设计”的核心代码如下:

 

四. 代码实现如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WindowsFormsApp6
{public partial class Form1 : Form{ Account account;decimal money;int accountNo;public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){account = new Account();accountNo = account.CreditNo;string message = String.Format("创建账户成功,用户卡号为:{0}", accountNo);label2.Text = "\\n" + message + "\\n";}private void label2_Click(object sender, EventArgs e){}private void button2_Click(object sender, EventArgs e)  //取钱按钮{string message;if (account == null){message = "请先创建账户!";}else if (textBox1.Text == ""){message = "请输入取款金额!";}else{decimal money = decimal.Parse(textBox1.Text.Trim());account.WithDraw(money, out message);}label2.Text = "\\n" + message + "\\n";}private void button3_Click(object sender, EventArgs e)  //存钱按钮{string message;if (account == null){message = "请先创建账户!";}else if (textBox2.Text == ""){message = "请输入存款金额!";}else{decimal money = decimal.Parse(textBox2.Text.Trim());account.deposit(money, out message);}label2.Text = "\\n" + message + "\\n";}private void button4_Click(object sender, EventArgs e)   //查询余额按钮{label2.Text = "储蓄卡账户:\\n" + accountNo + "\\n" + "当前余额为:" + account.Balance;}}public class Account{protected int creditNo;protected decimal balance;public Account(){Random r = new Random();creditNo = r.Next(100000, 499999);balance = 100;}public decimal Balance{get{return this.balance;}}public int CreditNo{get{return this.creditNo;}}public bool WithDraw(decimal money, out string message)  //取钱{if (money < 0){message = "操作失败!\\n输入的金额不正确";return false;}else if (balance >= money){balance -= money;message = "操作成功!\\n取款"+money+"元";return true;}else{message = "操作失败!\\n余额不足";return false;}}  public bool deposit(decimal money,out string message)   //存钱{if (money < 0){message = "操作失败!\\n输入的金额不正确";return false;}else{balance += money;message = "操作成功!\\n存款"+money+"元";return true;}}} 
}

4.1界面实现如下: