《银行》

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

namespace autoBank
{
    class Person
    {
        public string name;
        public double money;
        public string idNumber;
        public string number; 
    }
}
 
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace autoBank
{
    class Program
    {
        static void Main(string[] args)
        {
            Bank demo = new Bank();
            demo.CreatAccount();
            demo.Theme();
            Console.ReadLine();
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace autoBank
{
    class Bank
    {
        Person[] user = new Person[30];
        public void CreatAccount()
        {
            bool result;
              for(int i=0;i<user.Length;i++)
              {
                  if(user[i]==null)
                  {
                    user[i]=new Person();
                    Console.WriteLine("请输入用户名:");
                    user[i].name = Console.ReadLine();
                    user[i].number = user[i].name;
                    do{
                    Console.WriteLine("请输入密码");
                    user[i].password = Console.ReadLine(); 
                    Console.WriteLine("请再次输入密码:");
                    string passwords = Console.ReadLine();
                    result=IsSame(user[i].password,passwords);
                        if(!result)
                        {
                        Console.WriteLine("两次密码不一致,重新输入:");
                        }
                    }while(!result);
                    Console.WriteLine("请输入身份证号:");
                    user[i].idNumber = Console.ReadLine();
                    Console.WriteLine("请输入存款金额:");
                    user[i].money = int.Parse(Console.ReadLine());
                    Console.WriteLine("账户:{0},用户名:{1},存款金额:{2},创建成功!", user[i].number, user[i].name, user[i].money);
                    break;
                  }
                  
              }
       
        }
        private bool IsSame(string password,string passwords) 
        {
            if (password==passwords) 
            {
                return true;
            }
            return false;
        }
        public void WithDraw()
        {
            Console.WriteLine("请输入账号:");
            string account = Console.ReadLine();
            Console.WriteLine("请输入密码");
            string pwd = Console.ReadLine();
            Person a = checkOutAccount(account, pwd);
            if (a != null)
            {
                Console.WriteLine("请输入取款金额");
                double outmoney = double.Parse(Console.ReadLine());
                double result = UserMoney(outmoney, a);
                if (result == -1)
                {
                    Console.WriteLine("取款失败");
                }
                else
                {
                    Console.WriteLine("取款成功,当前金额{0}", a.money);
                }

            }
            else
            {
                Console.WriteLine("账号或密码不存在");
            }
        }     
        private double UserMoney(double outmoney,Person people05)
        {
            if (outmoney > 0)
            {
                if (outmoney <= people05.money)
                {
                    people05.money -= outmoney;
                    return people05.money;
                }
                else
                {
                    return -1;
                }
            }
            else
            {
                return -1;
            }
        }
        public void Show()
        {
            Console.WriteLine("请输入账号:");
            string account = Console.ReadLine();
            Console.WriteLine("请输入密码:");
            string password = Console.ReadLine();
            Person checkIn = checkOutAccount(account, password);
            if (checkIn == null)
            {
                Console.WriteLine("账号或密码错误");
            }
            else
            {
                Console.WriteLine("账户余额是{0}", string.Format("{0:F3}", checkIn.money.ToString()));
            }

        }
        public void Theme()
        {
            Console.WriteLine("=================欢迎使用自动银行服务============================");
            Console.WriteLine("1.存款2.取款3.转账4.查询余额5.退出6.修改密码 7.继续注册账户");
            Console.WriteLine("================================================================");
            do
            {
                Console.WriteLine("请选择:");
                int choice = int.Parse(Console.ReadLine());
                switch (choice)
                {
                    case 1:
                        AddMoney();
                        continue;
                    case 2:
                        WithDraw();
                        continue;
                    case 3:
                        Transfer();
                        continue;
                    case 4:
                        Show();
                        continue;
                    case 5:
                        break;
                    case 6:
                        Change();
                        continue;
                    case 7:
                        CreatAccount();
                        continue;
                    default:
                        Console.WriteLine("输入无效");
                        continue;
                }
                break;
            } while (true);

        }
        public void Transfer()
        {
            Console.WriteLine("请输入转出账号:");
            string outAccount = Console.ReadLine();
            Console.WriteLine("请输入转出账户密码");
            string outPassword = Console.ReadLine();
            Console.WriteLine("请输入转入账号");
            string inAccount = Console.ReadLine();
            Console.WriteLine("请输入转账金额");
            double tranMoney = double.Parse(Console.ReadLine());
            double outMoney = 0, inMoney = 0;
            int result = Back(outAccount, outPassword, inAccount, tranMoney, ref outMoney, ref inMoney);
            if (result == 1)
            {
                Console.WriteLine("转账成功,转出账号{0}余额为:{1},转入账号{2}余额为:{3}", outAccount, outMoney, inAccount, inMoney);
            }
            else if (result == -1)
            {
                Console.WriteLine("转出账户账号或密码错误");
            }
            else if (result == -2)
            {
                Console.WriteLine("转入账号不正确");
            }
            else if (result == -3)
            {
                Console.WriteLine("转账操作失败");
            }
        }
        public void AddMoney()
        {
            Console.WriteLine("请输入账号:");
            string account = Console.ReadLine();
            Person a = InAccount(account);
            if (a != null)
            {
                Console.WriteLine("请输入存款:");
                int addMoney = int.Parse(Console.ReadLine());
                a.money += addMoney;
                Console.WriteLine("存款成功:余额{0}", a.money);
            }
            else 
            {
                Console.WriteLine("账号不存在");
            }
        } 
        public void Change()
        {
            Console.WriteLine("请输入账号:");
            string isAccount = Console.ReadLine();
            Console.WriteLine("请输入密码:");
            string isPassword = Console.ReadLine();
            Person c = AChange(isAccount, isPassword);
            if (c != null)
            {
                Console.WriteLine("请输入新密码:");
                string password1 = Console.ReadLine();
                Console.WriteLine("请再次输入密码:");
                string password2 = Console.ReadLine();
                if (PChange(password1, password2, ref c) == null)
                {
                    Console.WriteLine("两次密码不一致");
                }
                else
                {
                    Console.WriteLine("密码修改成功");
                }
            }
            else
            {
                Console.WriteLine("账号或密码错误");
            }
        }
        private Person InAccount(string inAccount)
        {
            foreach (Person temp in user)
            {
                if (inAccount == temp.number)
                {
                    return temp;
                }

            }
            return null;
        }
        private int Back(string outAccount, string outPassword, string inAccount, double tranMoney, ref double outMoney, ref double inMoney)
        {
            Person a = checkOutAccount(outAccount, outPassword);
            if (a == null)
            {
                return -1;
            }
            Person b = checkInAccount(inAccount, outAccount);
            if (b == null)
            {
                return -2;
            }
            outMoney = checkOutMoney(tranMoney, ref a);
            if (outMoney <= 0)
            {
                return -3;
            }
            inMoney = checkInMoney(ref b, tranMoney);
            if (inMoney < b.money)
            {
                return -3;
            }

            return 1;
        }
        private Person checkOutAccount(string outAccount, string outPassword)
        {
            foreach (Person temp in user)
            {
                if (outAccount == temp.number && outPassword == temp.password)
                {
                    return temp;
                }
            }
            return null;
        }
        private Person checkInAccount(string inAccount, string outAccount)
        {
            foreach (Person temp in user)
            {
                if (inAccount == temp.number && outAccount != inAccount)
                {
                    return temp;
                }

            }
            return null;
        }
        private double checkOutMoney(double tranMoney, ref Person people01)
        {
            if (people01 != null)
            {
                if (tranMoney <= people01.money)
                {
                    people01.money -= tranMoney;
                    return people01.money;
                }
                return people01.money;
            }
            return people01.money;
        }
        private double checkInMoney(ref Person people02, double tranMoney)
        {
            people02.money += tranMoney;
            return people02.money;
        }
        private Person AChange(string account, string oldPassword)
        {
            foreach (Person temp in user)
            {
                if (account == temp.number && oldPassword == temp.password)
                {
                    return temp;
                }
                return null;
            }
            return null;
        }
        private string PChange(string num1, string num2, ref Person people03)
        {
            if (num1 == num2)
            {
                people03.password = num1;
                return people03.password;
            }
            return null;
        }
       
    }
}

猜你喜欢

转载自www.cnblogs.com/lowerma/p/10081003.html