using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
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 string _account;
public string Account
{
get { return _account; }
set { _account = value; }
}
private double _balance;
public double Balance
{
get { return _balance; }
set { _balance = value; }
}
//取款操作
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;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Bank
{
User user = new User();
User[] _userGroup = new User[3];
//初始账户
public void Initial()
{
_userGroup[0] = new User();
_userGroup[0].Account = "179708064356";
_userGroup[0].Name = "王丽丽";
_userGroup[0].Password = "1234";
_userGroup[0].Id = "210050619890808185";
_userGroup[0].Balance = 10000;
_userGroup[1] = new User();
_userGroup[1].Account = "179708064357";
_userGroup[1].Name = "张";
_userGroup[1].Password = "2345";
_userGroup[1].Id = "210050619890808186";
_userGroup[1].Balance = 4000;
_userGroup[2] = new User();
_userGroup[2].Account = "179708064358";
_userGroup[2].Name = "刘华";
_userGroup[2].Password = "6789";
_userGroup[2].Id = "210050619890808187";
_userGroup[2].Balance = 8000;
}
//显示所有账户
public void ShowAllUser()
{
foreach (User item in _userGroup)
{
Console.WriteLine("账户姓名:"+item.Name+"账户:"+item.Account+"存款余额:"+item.Balance+"密码:"+item.Password+"身份证号:"+item.Id);
}
}
//开户
public void CreatAccount()
{
user.Account = "179708064356";
Console.WriteLine("请输入用户名:");
user.Name = Console.ReadLine();
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);
}
//判断账户
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 Deposit()
{
string account = "";
double money = 0;
Console.WriteLine("请输入账号:");
account = Console.ReadLine();
Console.WriteLine("请输入存入金额:");
money = double.Parse(Console.ReadLine());
User user=CheckUserByAccount(account);
if (user == null)
{
Console.WriteLine("您输入的账号不存在!");
}
if (user.SaveMoney(money) > 0)
{
Console.WriteLine( "操作成功,当前余额:" + user.Balance);
}
else
{
Console.WriteLine("存款失败!");
}
}
//取款
public void WithDraw() {
string account = "";
string pwd;
Console.WriteLine("请输入账号:");
account = Console.ReadLine();
Console.WriteLine("请输入账户密码:");
pwd = Console.ReadLine();
User user = CheckUser(account,pwd);
if (user == null)
{
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 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 i = Transfer(fromAccount, fromPwd, toAccount, money,ref fBalance,ref tBalance);
if (i == 1)
{
Console.WriteLine("转账成功,转出账号{0}余额为:{1},转入账号{2}余额为:{3}",fromAccount,fBalance,toAccount,tBalance);
}
else if (i == -1)
{
Console.WriteLine("转出账户的账号或密码输入错误");
}
else if (i == -2)
{
Console.WriteLine("转入账号不正确");
}
else if (i == -3)
{
Console.WriteLine("转账操作失败");
}
}
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 (userfrom.SaveMoney(money) == -1)
{
return -3;
}
tBalance = userto.Balance;
return 1;
}
//查询余额
public void ShowBalance()
{
Console.WriteLine("请输入账号:");
string account = Console.ReadLine();
Console.WriteLine("请输入密码:");
string pwd = Console.ReadLine();
User user = CheckUser(account, pwd);
if (user == null)
{
Console.WriteLine("当前账号不存在!");
}
else
{
Console.WriteLine("账户余额:" + user.Balance.ToString("0.00"));
}
}
//修改密码
public void xiuPwd ()
{
string accountName = "";
string password = "";
Console.WriteLine("请输入账号:");
accountName = Console.ReadLine();
Console.WriteLine("请输入原密码:");
password = Console.ReadLine();
Console.WriteLine("请输入新密码:");
string newPwd = Console.ReadLine();
Console.WriteLine("请再次输入新密码:");
string newPwdConfirm = Console.ReadLine();
if (CheckPwd(accountName, password, newPwd, newPwdConfirm))
{
Console.WriteLine("账户密码修改成功!");
}
else
{
Console.WriteLine("账户密码修改失败!");
}
}
private bool CheckPwd(string accountName, string password, string newPwd, string newPwdConfirm)
{
User user = CheckUser(accountName, password);
if (user == null)
{
Console.WriteLine("当前账户不存在!");
return false;
}
if (newPwd != newPwdConfirm)
{
Console.WriteLine("两次密码输入不一致!");
return false;
}
else
{
user.Password = newPwd;
return true;
}
}
//显示菜单
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": //开户
CreatAccount();
continue;
case "2": //存款
Deposit();
continue;
case "3": //取款
WithDraw();
continue;
case "4": //转账
InputTransferData();
continue;
case "5": //查询余额
ShowBalance();
continue;
case "6": //修改密码
xiuPwd();
continue;
case "0":
break; //退出
default:
Console.WriteLine("输入无效");
continue;
}
break;
} while (true);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Bank bank = new Bank();
bank.Initial();
Console.WriteLine("初始化帐户信息成功!");
//bank.CreatAccount();
bank.ShowAllUser();
bank.ShowCustomMenu();
Console.ReadLine();
}
}
}