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();
}
}
}