using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyBank
{
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 _identityNum;// 身份证号
public string IdentityNum
{
get { return _identityNum; }
set { _identityNum = value; }
}
private double _balance;// 账户余额
public double Balance
{
get { return _balance; }
set { _balance = value; }
}
private string _account;
public string Account
{
get { return _account; }
set { _account = 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 MyBank
{
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].IdentityNum = "147";
_userGroup[0].Balance = 1000;
//初始化第二个对象
_userGroup[1] = new User();
_userGroup[1].Account = "17970804359";
_userGroup[1].Name = "石小岩";
_userGroup[1].Password = "12345";
_userGroup[1].IdentityNum = "258";
_userGroup[1].Balance = 1000;
//初始化第三个对象
_userGroup[2] = new User();
_userGroup[2].Account = "179708064368";
_userGroup[2].Name = "石岩岩";
_userGroup[2].Password = "123456";
_userGroup[2].IdentityNum = "369";
_userGroup[2].Balance = 1000;
}
public void CreateAccount() // 开户
{
//接受输入的数据 //实例化User对象并赋值
Console.WriteLine("请输入用户名:");
user.Name = Console.ReadLine();
Console.WriteLine("请输入账户:");
user.Account = Console.ReadLine();
Console.WriteLine("请输入用户密码:");
user.Password = Console.ReadLine();
Console.WriteLine("请输入用户身份证号:");
user.IdentityNum = Console.ReadLine();
Console.WriteLine("账户:{0},用户名:{1},创建成功!", user.Account, user.Name);
}
public void showAllUser()
{
foreach (User userItem in _userGroup)
{
Console.WriteLine("账户姓名:" + userItem.Name + "账户账户:" + userItem.Account +
"账户密码:" + userItem.Password + "身份证号码:" + userItem.IdentityNum + "账户余额:" + userItem.Balance);
}
}
public void cunKuan()//存款
{
string account = "";
double money;
Console.WriteLine("请输入账号:");
account = Console.ReadLine();
User user = CheckUserByAccount(account);
if (user == null)
{
Console.WriteLine("账户不存在");
return;
}
Console.WriteLine("请输入存款:");
money = double.Parse(Console.ReadLine());
Console.WriteLine("存款成功,成功存款:" + user.Balance);
}
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);
}
}
//转账
private User CheckUser(string account,string password) //检查转出账户是否存在 密码和账户都用
{
foreach (User userItem in _userGroup)
{
if (userItem.Account == account && userItem.Password == password)
{
return userItem;
}
}
return null;
}
private User CheckUserByAccount(string account) //检查转入账户是否存在 只用账户
{
foreach (User userItem in _userGroup)
{
if (userItem.Account==account)
{
return userItem;
}
}
return null;
}
public void InputTransferDate() {
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("转账操作失败!");
}
}
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(userTo.SaveMoney(money)==-1){
return -3;
}
tBalance=userTo.Balance;
return 1;
}
public void yue() {
Console.WriteLine("请输入用户名:");
user.Name = Console.ReadLine();
Console.WriteLine("请输入用户密码:");
user.Password = Console.ReadLine();
for (int i = 0; i < _userGroup.Length;i++ ) {
if(_userGroup[i].Name.Equals(user.Name)){
Console.WriteLine(_userGroup[i].Balance);
break;
}else if (i==_userGroup.Length-1){
Console.WriteLine("对不起,未找到!");
}
}
}
public void ShowMenu()
{
string option = " ";
do
{
Console.WriteLine("===========欢迎使用自动银行服务================");
Console.WriteLine("1:开户 2:存款 3:取款 4:转账 5:查询余额 6:主菜单");
Console.WriteLine("===============================================");
option = Console.ReadLine();
switch (option)
{
case "1":
CreateAccount();
continue;
case "2":
cunKuan();
continue;
case "3":
WithDraw();
continue;
case "4":
InputTransferDate();
continue;
case "5":
yue();
continue;
case "6":
ShowMenu();
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 MyBank
{
class Program
{
static void Main(string[] args)
{
Bank myBank = new Bank();
myBank.Initial(); //先赋值 后使用
myBank.showAllUser(); //显示所有账户
myBank.ShowMenu(); //主菜单
myBank.CreateAccount(); //开户
myBank.WithDraw(); //取款
myBank.cunKuan(); //存款
myBank.InputTransferDate(); //转账
Console.ReadLine();
}
}
}
My Bank 操作系统
最新推荐文章于 2021-03-23 20:01:51 发布