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所示的信息。

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

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

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

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

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

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

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

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

三.参考代码

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

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

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

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

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

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

四. 代码实现如下:

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界面实现如下:

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

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

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

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

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

你可能感兴趣的:(C#程序设计,c#,windows,开发语言)