ACCP C# MyBank

namespace MyBank
{
    class Program
    {
        static void Main(string[] args)
        {
            Bank b = new Bank();
            b.Initial();
            b.Alluser();
            b.ShowCustomMenu();
        }
    }
}



namespace MyBank
{
    class User
    {
        public string name;
        public string password;
        public string identitynum;
        public double balance;
        public string account;
        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;
            }
        }
    }
}



namespace MyBank
{
    class Bank
    {
        User u = new User();
        User[] ugroup = new User[3];
        public void Initial() {
            ugroup[0] = new User();
            ugroup[0].name = "王丽丽";
            ugroup[0].account = "1797080643561";
            ugroup[0].password = "1234";
            ugroup[0].identitynum = "121454243245";
            ugroup[0].balance = 1000;
            ugroup[1] = new User();
            ugroup[1].name = "张莹莹";
            ugroup[1].account = "1797543543536";
            ugroup[1].password = "1846";
            ugroup[1].identitynum = "513456456545";
            ugroup[1].balance = 2000;
            ugroup[2] = new User();
            ugroup[2].name = "李欣欣";
            ugroup[2].account = "1544545543536";
            ugroup[2].password = "5451";
            ugroup[2].identitynum = "542867654212";
            ugroup[2].balance = 8000;
        }
        public void Alluser() {
        foreach(User uu in ugroup){
            Console.WriteLine("账户姓名:{0} 账号:{1} 存款余额:{2} 密码:{3} 身份证号:{4}", uu.name,uu.account,uu.balance,uu.password,uu.identitynum);
        }
        }
        public void CreateAccont()
        {
            Console.WriteLine("请输入用户名:");
            u.name = Console.ReadLine();
            u.account = "179708064356";
            Console.WriteLine("请输入用户密码:");
            u.password = Console.ReadLine();
            Console.WriteLine("请输入用户身份证号:");
            u.identitynum = Console.ReadLine();
            Console.WriteLine("请输入用户存款金额:");
            u.balance = double.Parse(Console.ReadLine());
            Console.WriteLine("账户:{0},用户名:{1},存款金额:{2} 创建成功!", u.account, u.name, u.balance);
            Console.ReadLine();
        }
        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 (!pwd.Equals(u.password))
            {
                Console.WriteLine("密码有误!");
                return;
            }
            Console.WriteLine("请输入取款金额:");
            double money = double.Parse(Console.ReadLine());
            double result = u.MinusMoney(money);
            if (result == -1)
            {
                Console.WriteLine("取款失败");
            }
            else {
                Console.WriteLine("取款成功!当前余额:"+result);
            }
            Console.ReadLine();
        }
        public void Save()
        {
            string account;
            string pwd;
            Console.WriteLine("请输入账号:");
            account = Console.ReadLine();
            if (account.Length == 0)
            {
                Console.WriteLine("输入的账号不正确!");
                return;
            }
            Console.WriteLine("请输入密码:");
            pwd = Console.ReadLine();
            if (!pwd.Equals(u.password))
            {
                Console.WriteLine("密码有误!");
                return;
            }
            Console.WriteLine("请输入存款金额:");
            double money = double.Parse(Console.ReadLine());
            double result = u.SaveMoney(money);
            if (result == -1)
            {
                Console.WriteLine("存款失败");
            }
            else
            {
                Console.WriteLine("存款成功!当前余额:" + result);
            }
            Console.ReadLine();
        }
        
        private int Transfer(string fAccount, string fPwd, string tAccount, double money, ref double fBalance, ref double tBalance) {
            User uf = Checkuser(fAccount, fPwd);
            if (uf == null) {
                return -1;
            }
            User ut = Checkuserbyaccount(tAccount);
            if (ut == null) {
                return -2;
            }
            if (uf.MinusMoney(money) == -1) {
                return -3;
            }
            fBalance = uf.balance;
            if (ut.SaveMoney(money) == -1) {
                return -3;
            }
            tBalance = ut.balance;
            return 1;
        }
        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("转账操作失败!");
            }
            Console.ReadLine();
        }
        //访问修饰符/ 返回值类型/ 方法名(参数类型/参数列表);
        public User Checkuser(string fromAccount,string fromPwd) {
          foreach (User uu in ugroup)
            {
                if (fromAccount.Equals(uu.account) && fromPwd.Equals(uu.password))
                {
                    return uu;
                }
            }return null;         
        }
        public User Checkuserbyaccount(string taccount){
            foreach (User uu in ugroup)
            {
                if (taccount.Equals(uu.account))
                {
                    return uu;
                }
            } return null;     
        }
public void chaxun()
        {
            Console.WriteLine("请输入账号:");
            string Account = Console.ReadLine();
            Console.WriteLine("请输入密码:");
            string Pwd = Console.ReadLine();
            double a=checkzh(ref Account,ref Pwd);
            if (a !=0)
            {
                string s = string.Format("{0:F2}", a);
                Console.WriteLine("账户的余额为:" + s);
            }
            else {
                Console.WriteLine("账户不存在");
            }
            Console.ReadLine();
        }
        public double checkzh(ref string a,ref string b) {
            foreach (User uu in ugroup) {
                if (a.Equals(uu.account))
                {
                    return uu.balance;
                }
            }
            return 0;
        }

 
  
        public void ShowCustomMenu() {
            string option;
            Console.WriteLine("=========欢迎使用自助银行服务=========");
            Console.WriteLine("1:开户 2:存款 3:取款 4:转账 5:查询余额 6:修改密码 0:退出");
            Console.WriteLine("======================================");
            option = Console.ReadLine();
            switch (option) { 
                case "1":
                    CreateAccont();
                    break;
                case "2":
                    Save();
                    break;
                case "3":
                    WithDraw();
                    break;
                case "4":
                    Inputtransferdata();
                    break;
                case "5":
                    chaxun();
                    break;
                case "6":
                    break;
                case "0":
                    break;
                default:
                    Console.WriteLine("输入无效!");
                    break;
            }
        }
    }
    }



你可能感兴趣的:(ACCP C# MyBank)