My Bank 操作系统

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

namespace MyBank
{
    class User
    {

       
        private string _name;// 用户名  

        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        private string _password;

        public string Password // 密码
        {
            get { return _password; }
            set { _password = value; }
        }

        private string _identityNum;// 身份证号

        public string IdentityNum
        {
            get { return _identityNum; }
            set { _identityNum = value; }
        }

        private double _balance;// 账户余额

        public double Balance
        {
            get { return _balance; }
            set { _balance = value; }
        }

        private string _account;

        public string Account
        {
            get { return _account; }
            set { _account = value; }
        }
        
               
          
        
               
         
                                 
                  
        // 用户取款操作             
        public double MinusMoney(double money)
        {
            if (money > 0)
            {
                if (money <= _balance)
                {
                    _balance -= money;
                    return _balance;
                }
                else
                {
                    return -1;
                }

            }
            else
            {
                return -1;
            }
        }

        public double SaveMoney(double money)
        {
            if (money > 0)
            {
                
                    _balance += money;
                    return _balance;
                }
                else
                {
                    return -1;
                }

            
           
        }

    }
}



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

namespace MyBank
{
     class Bank
    {
        User user = new User();

        User[] _userGroup = new User[3];

        public void Initial()
        {
            //初始化第一个对象
            _userGroup[0] = new User();
            _userGroup[0].Account = "179708064356";
            _userGroup[0].Name = "石岩";
            _userGroup[0].Password = "1234";
            _userGroup[0].IdentityNum = "147";
            _userGroup[0].Balance = 1000;

            //初始化第二个对象
            _userGroup[1] = new User();
            _userGroup[1].Account = "17970804359";
            _userGroup[1].Name = "石小岩";
            _userGroup[1].Password = "12345";
            _userGroup[1].IdentityNum = "258";
            _userGroup[1].Balance = 1000;

            //初始化第三个对象
            _userGroup[2] = new User();
            _userGroup[2].Account = "179708064368";
            _userGroup[2].Name = "石岩岩";
            _userGroup[2].Password = "123456";
            _userGroup[2].IdentityNum = "369";
            _userGroup[2].Balance = 1000;

        }


        public void CreateAccount()        // 开户 
        {
            //接受输入的数据                //实例化User对象并赋值
            Console.WriteLine("请输入用户名:");
            user.Name = Console.ReadLine();
            Console.WriteLine("请输入账户:");
            user.Account = Console.ReadLine();
            Console.WriteLine("请输入用户密码:");
            user.Password = Console.ReadLine();
            Console.WriteLine("请输入用户身份证号:");
            user.IdentityNum = Console.ReadLine();
            Console.WriteLine("账户:{0},用户名:{1},创建成功!", user.Account, user.Name);

            
        }


        public void showAllUser()
        {

            foreach (User userItem in _userGroup)
            {

                Console.WriteLine("账户姓名:" + userItem.Name + "账户账户:" + userItem.Account +
                    "账户密码:" + userItem.Password + "身份证号码:" + userItem.IdentityNum + "账户余额:" + userItem.Balance);
            }

        }

        public void cunKuan()//存款
        {
            string account = "";
            double money;
            Console.WriteLine("请输入账号:");
            account = Console.ReadLine();
            User user = CheckUserByAccount(account);
            if (user == null)
            {
                Console.WriteLine("账户不存在");
                return;
            }
            Console.WriteLine("请输入存款:");
            money = double.Parse(Console.ReadLine());
            Console.WriteLine("存款成功,成功存款:" + user.Balance);

        }

        public void WithDraw()
        { //取款      
            string account = "";             //账号
            string pwd;                      //密码

            Console.WriteLine("请输入账号:");
            account = Console.ReadLine();
            Console.WriteLine("请输入账户密码:");   //接收账户密码,并验证
            pwd = Console.ReadLine();
            User user = CheckUser(account, pwd);
            if (user == null)
            {
                Console.WriteLine("账号或密码错误!");
                return;
            }
            Console.WriteLine("请输入取款金额");
            double money = double.Parse(Console.ReadLine());
            double result = user.MinusMoney(money);
            if (result == -1)  //标识符
            {
                Console.WriteLine("取款失败");
            }
            else
            {
                Console.WriteLine("取款成功!当前余额:" + result);
            }
        }




        //转账
       private  User CheckUser(string account,string password)   //检查转出账户是否存在  密码和账户都用
        {
            foreach (User userItem in _userGroup)
            {
                if (userItem.Account == account && userItem.Password == password)
                {
                    return userItem;
                }
            }
            return null;
        }



        private  User CheckUserByAccount(string account)  //检查转入账户是否存在   只用账户
        {
            foreach (User userItem in _userGroup)
            {
                if (userItem.Account==account)
                {
                    return userItem;
                }
            }
            return null;
        }

      

        public void InputTransferDate() {
            Console.WriteLine("请输入转出账号:");
            string fromAccount = Console.ReadLine();

            Console.WriteLine("请输入转出账号密码:");
            string fromPwd= Console.ReadLine();

            Console.WriteLine("请输入转入账号:");
            string toAccount = Console.ReadLine();

            Console.WriteLine("请输入转账金额:");
            double money = double.Parse(Console.ReadLine());

            double fbalance = 0, tbalance = 0;

            int iRet = Transfer(fromAccount, fromPwd, toAccount, money, ref  fbalance, ref  tbalance);
            if (iRet==1) {
                Console.WriteLine("转账成功,转出账户{0}余额为:{1},转入账号{2},余额为{3}",fromAccount,fbalance,toAccount,tbalance);
            }else if (iRet==-1){
                Console.WriteLine("转出账户的账号或密码输入错误!");
            }else if(iRet==-2){
                Console.WriteLine("转入账号不正确!");
            }else if(iRet==-3){
                Console.WriteLine("转账操作失败!");
            }
       }
        private int Transfer(string fAccount,string fPwd,string tAccount ,double money,ref double fBalance,ref double tBalance) {
            //检查转出账号和密码
            User userfrom = CheckUser(fAccount,fPwd);
            if(userfrom ==null)
            {
                return -1;
            }

        
         //检查转入账号
        User userTo = CheckUserByAccount(tAccount);
         if(userTo==null){
     return -2;
     }
         //取款
         if(userfrom.MinusMoney(money)==-1){
         return -3;
     }
        //取得余额
         fBalance = userfrom.Balance;

         //存款
         if(userTo.SaveMoney(money)==-1){
          return -3;
     }
         tBalance=userTo.Balance;
         return 1;
     }

        public void yue() {
            Console.WriteLine("请输入用户名:");
            user.Name = Console.ReadLine();
            Console.WriteLine("请输入用户密码:");
            user.Password = Console.ReadLine();
            for (int i = 0; i < _userGroup.Length;i++ ) {
            if(_userGroup[i].Name.Equals(user.Name)){
                Console.WriteLine(_userGroup[i].Balance);
                break;
            }else if (i==_userGroup.Length-1){
                Console.WriteLine("对不起,未找到!");
            }
            }

        
        }
     


        public void ShowMenu()
        {
            string option = " ";
            do
            {
                Console.WriteLine("===========欢迎使用自动银行服务================");
                Console.WriteLine("1:开户 2:存款 3:取款 4:转账 5:查询余额 6:主菜单");
                Console.WriteLine("===============================================");
                option = Console.ReadLine();
                switch (option)
                {
                    case "1":
                        CreateAccount();
                        continue;
                    case "2":
                        cunKuan();
                        continue;
                    case "3":
                        WithDraw();
                        continue;
                    case "4":
                        InputTransferDate();
                        continue;
                    case "5":
                        yue();
                        continue;
                    case "6":
                        ShowMenu();
                        break;
                    default:
                        Console.WriteLine("输入无效!");
                        continue;
                }
                break;
            } while (true);
        }

    }
}



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

namespace MyBank
{
    class Program
    {
        static void Main(string[] args)
        {
             Bank myBank = new Bank();

            myBank.Initial();      //先赋值 后使用

            myBank.showAllUser();  //显示所有账户

            myBank.ShowMenu();       //主菜单

            myBank.CreateAccount();  //开户

            myBank.WithDraw();       //取款

            myBank.cunKuan();        //存款

            myBank.InputTransferDate();  //转账

            Console.ReadLine();

        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值