using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;
namespace My Bank
{
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;}}}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;
namespace My Bank{class Person{public string name;public double money;public string password;public string idNumber;public string number; }}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;
namespace My Bank{class Program{static void Main(string[] args){Bank demo = new Bank();demo.CreatAccount();demo.Theme();Console.ReadLine();}}}
转载于:https://www.cnblogs.com/Chencheno/p/10081126.html
相关资源:使用属性升级MyBank.zip