C# 面向对象基础,简单的银行存钱取钱程序

题目:

代码实现:

BankAccount部分:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Bank
{
    internal class BankAccount
    {
        private decimal balance = 0;//账户余额
        public static bool accountOK = true;
        public string Name { get; set; }
        public decimal Balance
        {
            get
            {
                return balance;
            }
            set
            {
                if(value>=0)
                {
                    balance = value;
                }
                else
                {
                    Console.WriteLine("余额有误!!!");
                    accountOK = false;
                }
            }
        }

        public BankAccount(string name,decimal initiaBalance)//构造函数
        {
            Name = name;
            Balance = initiaBalance;
        }

        public void Deposit(BankAccount a)
        {
            decimal cun;
            Console.WriteLine("存款金额:");
            cun = decimal.Parse(Console.ReadLine());
            a.Balance += cun;
            Console.WriteLine($"账户余额:{balance}");
            
        }

        public void Withdraw(BankAccount a)
        {
            decimal num;
            Console.WriteLine("取款金额:");
            num = decimal.Parse(Console.ReadLine());
            
            if(num>a.balance)
            {
                Console.WriteLine("余额不足!!!");
            }
            else
            {
                a.balance -= num;
            }

        }
        public void Display(BankAccount a)
        {
            Console.WriteLine($"账户:{Name}\t余额:{a.balance}");
        }
    }
}

注意点:

balance的赋值过程,用value来判断输入的是否合法,判断的是value不是balance(判断完value之后才使用value给balance赋值)

program部分:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace Bank
{
    internal class Program
    {
        static void menu()
        {
            Console.WriteLine("存钱输入'0',取钱输入'1',结束输入'2'");
        }


        static void Main(string[] args)
        {
            string name;
            decimal qian = 0;
            char op;
            Console.WriteLine("姓名:");
            name = Console.ReadLine();
            Console.WriteLine("初始余额:");
            qian = decimal.Parse(Console.ReadLine());

            BankAccount account = new BankAccount(name, qian);
            if(BankAccount.accountOK)  
            do
            {
                menu();
                op = char.Parse(Console.ReadLine());

                switch (op)
                {
                    case '0':
                        account.Deposit(account);
                        break;
                    case '1':
                        account.Withdraw(account);
                        if (BankAccount.accountOK)
                            account.Display(account);
                        break;
                    case '2':
                            BankAccount.accountOK = false;
                        break;
                }
            }
            while (BankAccount.accountOK);

        }
    }
}

end......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值