MyBank

来源:互联网 发布:武汉程序员培训机构 编辑:程序博客网 时间:2024/06/13 10:37
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 id;                 //身份证号        public string Id        {           get { return id; }           set { id = 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 (balance >= money)                {                    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;            }        }    }}


 

 

 

 

 

namespace MyBank{    class Bank    {        User user = new User();        const string MESSAGE = "操作成功!";        User[] userGroup = new User[3];        public void Initial()        {            //初始化第一个对象            userGroup[0] = new User();            userGroup[0].Account = "1";            userGroup[0].Name = "王丽丽";            userGroup[0].Password = "1234";            userGroup[0].Id = "111111";            userGroup[0].Balance = 1000;            //初始化第二个对象            userGroup[1] = new User();            userGroup[1].Account = "2";            userGroup[1].Name = "张颖颖";            userGroup[1].Password = "4321";            userGroup[1].Id = "222222";            userGroup[1].Balance = 2000;            //初始化第三个对象            userGroup[2] = new User();            userGroup[2].Account = "3";            userGroup[2].Name = "刘华";            userGroup[2].Password = "4567";            userGroup[2].Id = "333333";            userGroup[2].Balance = 8000;        }                public void CreateAccount()                    //开户        {            Console.WriteLine("请输入用户名:");            user.Name = Console.ReadLine();            user.Account = "179708064356";            Console.WriteLine("请输入用户密码:");            user.Password = Console.ReadLine();            Console.WriteLine("请输入用户身份证号:");            user.Id = Console.ReadLine();            Console.WriteLine("请输入用户存款金额:");            user.Balance = double.Parse(Console.ReadLine());            Console.WriteLine("账户{0},用户名:{1},存款金额:{2} 创建成功!",user.Account,user.Name,user.Balance);        }        public void WithDraw()                         //取款        {            string account = "";                        //账号            string pwd;                                 //密码            Console.WriteLine("请输入账号:");            account = Console.ReadLine();            if (account.Length == 0)            {                Console.WriteLine("输入的账号不正确!");                return;            }            Console.WriteLine("请输入账户密码:");            pwd = Console.ReadLine();            if (user.Password != pwd)            {                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);            }        }        public void ShowCustomMenu()                 //菜单        {            string option = "";            do            {                Console.WriteLine("==================欢迎使用自动银行服务==================");                Console.WriteLine("1:开户 2:存款 3:取款 4:转账 5:查询余额 6:修改密码 0:退出");                Console.WriteLine("========================================================");                option = Console.ReadLine();                switch (option)                {                    case "1":                         //开户                        CreateAccount();                        continue;                    case "2":                         //存款                        Deposit();                        continue;                    case "3":                         //取款                        WithDraw();                        continue;                    case "4":                         //转账                        InputTransferData();                        continue;                    case "5":                         //查询余额                        ShowUser();                        continue;                    case "6":                         //修改密码                        ModifyPwd();                        continue;                    case "0":                         //退出                        break;                    default:                        Console.WriteLine("输入无效");                        continue;                }                break;            } while (true);        }        public void Deposit()                                                 //存款        {            string account = "";            double money = 0;            Console.WriteLine("请输入账号:");            account=Console.ReadLine();            if ((user=CheckUserByAccount(account))==null)            {                Console.WriteLine("您输入的账号不存在!");            }            Console.WriteLine("请输入存款金额:");            money=double.Parse(Console.ReadLine());            if (user.SaveMoney(money) > 0)            {                Console.WriteLine(MESSAGE+"当前余额:"+user.Balance);            }            else            {                Console.WriteLine("存款失败!");            }        }        private User CheckUserByAccount(string account)                            //判断用户是否存在        {            foreach (User user in userGroup)            {                if (user.Account == account)                {                    return user;                }            }            return null;        }        private User CheckUser(string account, string pwd)                         //根据账号密码判定用户是否存在        {            foreach (User user in userGroup)            {                if (user.Account == account && user.Password == pwd)                {                    return user;                }            }            return null;        }        public void InputTransferData()                                 //转账        {            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("转账操作失败!");            }        }        ///<param name="fAccount">转出账号</param>        ///<param name="fPwd">转出账户密码</param>        ///<param name="tAccount">转入账号</param>        ///<param name="money">转账金额</param>        ///<param name="fBalance">转出账户存款余额</param>        ///<param name="tBalance">转入账户存款余额</param>        ///<returns>1:转账成功;-1:转出账号或密码不正确;        ///-2:转入账号不正确;-3转账失败</returns>        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 ShowUser()        {            string account = "";            string pwd = "";            Console.WriteLine("请输入账号:");            account = Console.ReadLine();            Console.WriteLine("请输入密码:");            pwd = Console.ReadLine();            if ((user = CheckUserByAccount(account)) == null)            {                Console.WriteLine("当前账号不存在!");            }            else            {                if ((user=CheckUser(account,pwd))==null)                {                    Console.WriteLine("输入密码不正确:");                }                else                {                    Console.WriteLine("账户的余额是:"+String.Format("{0:F2}",user.Balance));                }            }        }        public void ModifyPwd()                    //修改密码        {            string accountName = "";            string password = "";            Console.WriteLine("请输入账号:");            accountName = Console.ReadLine();            Console.WriteLine("请输入原密码:");            password = Console.ReadLine();            string newPwd1, newPwd2;            Console.WriteLine("请输入新密码:");            newPwd1 = Console.ReadLine();            Console.WriteLine("请再次输入新密码:");            newPwd2 = Console.ReadLine();            if (CheckPwd(accountName,password,newPwd1,newPwd2)==true)            {                Console.WriteLine("账户密码修改成功!");            }            else            {                Console.WriteLine("账户密码修改失败!");            }        }        public bool CheckPwd(string accountName, string password, string newPwd1, string newPwd2)        {            User user = CheckUser(accountName, password);            if (user==null)            {                Console.WriteLine("当前账号不存在");                return false;            }            if (newPwd1!=newPwd2)            {                Console.WriteLine("两次输入的账户密码不一致!");                return false;            }            else            {                user.Password = newPwd1;                return true;            }        }    }}


 

 

 

 

 

 

 

 

namespace MyBank{    class Program    {        static void Main(string[] args)        {            Bank bank = new Bank();            //bank.CreateAccount();            bank.Initial();            bank.ShowCustomMenu();            Console.ReadLine();        }    }}


 

0 0
原创粉丝点击