银行123

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

namespace 银行
{
    /// <summary>
    /// 账户类
    /// </summary>
    public 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 sfzh;//身份证号

        public string Sfzh
        {
            get { return sfzh; }//////封装//////
            set { sfzh = value; }//////封装//////
        }
        private double ckye;//存款余额

        public double Ckye
        {
            get { return ckye; }//////封装//////
            set { ckye = value; }//////封装//////
        }
        private string zhangHao;//账号

        public string ZhangHao
        {
            get { return zhangHao; }//////封装//////
            set { zhangHao = value; }//////封装//////
        }


        /// <summary>
        /// User类中的取款方法!!!
        /// </summary>
        /// <param name="money">要取的金额</param>
        /// <returns>返回余额,输入有误返回-1</returns>
        public double quKuan(double money) 
        {
            if (money > 0)
            {
                if (money <= ckye)
                {
                    ckye -= money;
                    return ckye;
                }
                else
                {
                    return -1;
                }
            }
            else 
            {
                return -1;
            }
            
        }
        /// <summary>
        /// User类中的存款方法!!!
        /// </summary>
        public double cunKuan(double money) 
        {
            if (money > 0)
            {

                ckye += money;
                return ckye;
            }
            else
            {
                return -1;
            }
        }

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

namespace 银行
{
    class Program
    {
        static void Main(string[] args)
        {
            Bank b = new Bank();
            //b.kaiHu();
            //b.withDraw();
           
            Console.WriteLine("初始化帐户信息成功!");
            b.Initial();//初始化账户所有信息!!!
            b.ShowAllUser(); // 显示所有账户的账户姓名!!

            b.ShowCustoMenu();//菜单//
         

            Console.ReadLine();
        }
    }
}


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

namespace 银行
{
    /// <summary>
    /// 银行类
    /// </summary>
    public class Bank
    {
        User u = new User(); //实例化 User 对象并赋值!!!
        User[] _userGroup = new User[3];//定义一个 User 类型的对象数组,长度为 3!!!
        /// <summary>
        /// 初始化三个账户!!!
        /// </summary>
        public void Initial() 
        { 
            //初始化第一个对象!
            _userGroup[0] = new User();
            _userGroup[0].ZhangHao="111";
            _userGroup[0].Name = "王丽丽";
            _userGroup[0].Password = "1234";
            _userGroup[0].Sfzh = "1111111";
            _userGroup[0].Ckye = 1000;

            //初始化第二个对象!
            _userGroup[1] = new User();
            _userGroup[1].ZhangHao = "222";
            _userGroup[1].Name = "张颖颖";
            _userGroup[1].Password = "1234";
            _userGroup[1].Sfzh = "222222";
            _userGroup[1].Ckye = 2000;

            //初始化第三个对象!
            _userGroup[2] = new User();
            _userGroup[2].ZhangHao = "333";
            _userGroup[2].Name = "刘华";
            _userGroup[2].Password = "1234";
            _userGroup[2].Sfzh = "333333";
            _userGroup[2].Ckye = 3000;
        }
        /// <summary>
        /// 显示所有账户的账户姓名!!
        /// </summary>
        public void ShowAllUser() 
        {
            foreach (User u in _userGroup)
            {
                Console.WriteLine("账户姓名:"+u.Name+"账号:"+u.ZhangHao+"存款余额:"+u.Ckye);
            }
        }
        /// <summary>
        /// 在Bank 类中的开户!!!!!!!
        /// </summary>
        public void kaiHu() 
        {
            Console.WriteLine("请输入用户名:");
            u.Name = Console.ReadLine();
            u.ZhangHao = "179708064356";
            Console.WriteLine("请输入用户密码:");
            u.Password = Console.ReadLine();
            Console.WriteLine("请输入用身份证号:");
            u.Sfzh = Console.ReadLine();
            Console.WriteLine("请输入用户存款金额:");
            u.Ckye= double.Parse(Console.ReadLine());

            Console.WriteLine("账户:{0},用户名:{1},存款金额:{2}创建成功!",u.ZhangHao,
            u.Name,u.Ckye);
           // Console.ReadLine();
        }
        /// <summary>
        /// Bank类中的取款方法
        /// </summary>
        public void withDraw() 
        {
            string zhangHao = ""; //账号
            string pwd="";          //密码
            Console.WriteLine("请输入账号:");
            zhangHao = Console.ReadLine();
            u = CheckUserBy(zhangHao);//   调用CheckUserBy(String zhangHao)方法
            if(u==null)
            {
                Console.WriteLine("输入的账号不正确!!!");
                return;
            }
            //接受账号密码,并验证
            Console.WriteLine("请输入密码:");
            
            pwd = Console.ReadLine();
           
            if (!(u.Password.Equals(pwd)))     //u为在Bank类中声明的User类对象
            {
                Console.WriteLine("密码有误!");
                return;
            }
            Console.WriteLine("请输入取款金额:");
            double money = double.Parse(Console.ReadLine());//使用double.parse()方法转换为double类型!!!
            double resule = u.quKuan(money);//调用User类中的取款方法!!!!
            if (resule == -1)
            {
                Console.WriteLine("取款失败");
            }
            else 
            {
                Console.WriteLine("取款成功!当前余额:"+resule);
            }
           // Console.ReadLine();
        }
        /// <summary>
        /// 创建菜单功能的方法
        /// </summary>
        public void ShowCustoMenu()
        {
            string option = "";
            do
            {
                Console.WriteLine("============欢迎使用自动银行服务==============");
                Console.WriteLine("1:开户,2:存款,3:取款,4:转账,5:查询余额,6:退出");
                Console.WriteLine("==============================================");
                option = Console.ReadLine();
                switch (option)
                {
                    case "1":    //开户
                        kaiHu();
                        continue;
                    case "2":    //存款
                        Deposit();
                        continue;
                    case "3":    //取款
                        withDraw();
                        continue;
                    case "4":    //转账
                        zhuanZhang();
                        continue;
                    case "5":    //查询余额

                        continue;
                    case "6":    //退出

                        break;
                    default:
                        Console.WriteLine("输入无效!");
                        continue;
                }
               // Console.WriteLine();
                break;   //结束do-while 循环
            } while (true);
        }    

        
        /// <summary>
        /// 在Bank类中的存款!!!!!!!!!!!
        /// </summary>
        public void Deposit() 
        {
            string zhangHao = "";  //账号
            double money = 0;      //存款金额
            Console.WriteLine("请输入账号:");
            zhangHao = Console.ReadLine();
            Console.WriteLine("请输入存款金额:");
            money = double.Parse(Console.ReadLine());

            User u;//账号 name password yue sfzh
            if((u=CheckUserBy(zhangHao))==null)
            {
                Console.WriteLine("您输入的账号不存在!!!");
                return;
            }
            if (u.cunKuan(money) > 0)
            {
                Console.WriteLine("存款成功!当前余额:" + u.Ckye);
            }
            else 
            {
                Console.WriteLine("存款失败!!!");
            }
        }
        /// <summary>
        /// 通过账号判断用户是否存在
        /// </summary>
        /// <returns>存在返回User对象,不存在返回null</returns>
        private User CheckUserBy(String zhangHao) 
        {
            foreach (User u in _userGroup)
            {
             if(u.ZhangHao==zhangHao)
             {
                 return u;
             }   
            }
            return null;
        }
        public void zhuanZhang()
        {
            Console.WriteLine("请输入要转出的账号:");
            string ZCzhangHao = Console.ReadLine(); //声明转出的账号 变量
            Console.WriteLine("请输入要转出的账户密码:");
            string ZCpassword = Console.ReadLine(); //声明转出的账号的密码 变量
            Console.WriteLine("请输入要转入的账号:");
            string ZRzhangHao = Console.ReadLine(); //声明要转入的账号
            Console.WriteLine("请输入转账金额:");
            double money = double.Parse(Console.ReadLine());
            double fbalance=0, tbalance=0;  //变量说明

            //执行转账操作
            int iRet = Transfer(ZCzhangHao, ZCpassword, ZRzhangHao, money,ref fbalance,ref tbalance);
             if(iRet==1)
             {
                 Console.WriteLine("转账成功,转出账户{0},余额为:{1},转入账号{2},余额为:{3}",ZCzhangHao,fbalance,ZRzhangHao,tbalance);

             }else if(iRet==-1)
             {
                 Console.WriteLine("转出的账号或密码输入错误!!!");
             }else if(iRet==-2)
             {
                  Console.WriteLine("转入账号不正确!!!");
             }else if(iRet==-3)
             {
                 Console.WriteLine("转账操作失败!!!");
             }
        }
        /// <summary>
        /// 实现转账!!!!
        /// </summary>
        /// <param name="ZCzhangHao">转出的账号</param>
        /// <param name="ZCpassword">转出的密码</param>
        /// <param name="ZRzhangHao">要转入的账号</param>
        /// <param name="money">转账金额</param>
        /// <param name="fbalance">转出账户存款余额</param>
        /// <param name="tbalance">转入账户存款余额</param>
        /// <returns></returns>
        private int Transfer(string ZCzhangHao,string ZCpassword,string ZRzhangHao,double money,
            ref double fbalance, ref double tbalance) 
        {
            //检查转出账号密码
            User userfrom = CheckUser(ZCzhangHao,ZCpassword);
            if(userfrom==null)     //转出账号或密码不正确
            {
                return -1;
            }
            //检查转入账号
            User userTo = CheckUserBy(ZRzhangHao);
            if(userTo==null)     //转入账号不正确
            {
                return -2;
            }
            //取款
            if(userfrom.quKuan(money)==-1)   //转账操作失败
            {
                return -3;
            }
            //取得余额
            fbalance = userfrom.Ckye;//来存放  转出  的账户存款余额
            //存款
            if(userTo.cunKuan(money)==-1) //转账操作失败
            {
                return -3;
            }
            tbalance = userTo.Ckye;//来存放  转入  的账户存款余额
            return 1;
        }

        /// <summary>
        /// 检查账号,密码是否存在和正确!!!
        /// </summary>
        /// <param name="account"></param>
        /// <param name="pwd"></param>
        /// <returns></returns>
        private User CheckUser(string account,string pwd) 
        {
            foreach (User item in _userGroup)
            {
                if (item.ZhangHao == account && item.Password == pwd)
                {
                    return item;
                }
            }
            return null;
        }
    }
}




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

namespace 银行
{
    class Program
    {
        static void Main(string[] args)
        {
            Bank b = new Bank();
            //b.kaiHu();
            //b.withDraw();
           
            Console.WriteLine("初始化帐户信息成功!");
            b.Initial();//初始化账户所有信息!!!
            b.ShowAllUser(); // 显示所有账户的账户姓名!!

            b.ShowCustoMenu();//菜单//
         

            Console.ReadLine();
        }
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值