本人小白一个,不懂的可以参考一下,有什么不足或好的意见在下方评论 ,不喜勿喷 谢谢!!!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloWorld.ATM
{
class MyBankTest
{
static void Main(string[] args)
{
//创建对象
Bank bank = new Bank();
//调用方法
bank.Initial();//初始化用户的方法
Console.WriteLine("初始化帐户信息成功!");
//bank.CreatAccount(); 这里可以直接注册
bank.ShowUser();//显示所有账户
bank.Menu();//显示菜单的方法
//停留
Console.ReadLine();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloWorld.ATM
{
class Bank
{
//创建对象
User user = new User();
//类名 数组名=new 类名[值]
User[] _userGroup = new User[3];//声明数组用来存取用户的信息
#region 初始化账户的方法
//初始账户
public void Initial()
{
//数组名的下标=new 类名
_userGroup[0] = new User();
_userGroup[0].Account = "10001";//数组名.给属性赋值
_userGroup[0].Name = "张三";
_userGroup[0].Password = "123456";
_userGroup[0].Id = "530181111234567890";
_userGroup[0].Balance = 1220000;
_userGroup[1] = new User();
_userGroup[1].Account = "10002";
_userGroup[1].Name = "李四";
_userGroup[1].Password = "123456";
_userGroup[1].Id = "530181111234567891";
_userGroup[1].Balance = 40030;
_userGroup[2] = new User();
_userGroup[2].Account = "10003";
_userGroup[2].Name = "王五";
_userGroup[2].Password = "123456";
_userGroup[2].Id = "530181111234567892";
_userGroup[2].Balance = 18000;
}
#endregion
#region 显示所有账户的方法
//显示所有账户
public void ShowUser()
{
//元素类型 变量名 in 数组名或集合
foreach (User item in _userGroup)
{
Console.WriteLine("账户姓名:" + item.Name + ";账户:" + item.Account + "存款余额:" + item.Balance + "密码:" + item.Password + "身份证号:" + item.Id);
}
}
#endregion
#region 开户的方法
//开户
public void CreatAccount()
{
//类似于给属性赋值
user.Account = "10004";
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;
}
#endregion
#region 存款的方法
//存款
public void Deposit()
{
//声明变量
string account = null;//账号为空
double money = 0;//金额默认为0
Console.WriteLine("请输入账号:");
account = Console.ReadLine();
Console.WriteLine("请输入存入金额:");
money = double.Parse(Console.ReadLine());
//类名
User user=ByAccount(account);
if (user == null)
{
Console.WriteLine("您输入的账号不存在!");
}
if (user.SaveMoney(money) > 0)
{
Console.WriteLine( "操作成功,当前余额:" + user.Balance);
}
else
{
Console.WriteLine("存款失败!");
}
}
private User ByAccount(string account)
{
throw new NotImplementedException();
}
#endregion
#region 取款的方法
//取款
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("输入的帐号不正确!");
}
Console.WriteLine("请输入取款余额:");
double money = double.Parse(Console.ReadLine());
double result = user.MinusMoney(money);
if (result == -1)
{
Console.WriteLine("取款失败");
}
else
{
Console.WriteLine("取款成功!当前余额:" + result);
}
}
#endregion
#region 查询余额的方法
//查询余额
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"));
}
}
#endregion
#region 修改密码的方法
//修改密码
public void xiuPwd ()
{
string accountName = null; //账号
string password = null; //密码
Console.WriteLine("请输入账号:");
accountName = Console.ReadLine();
Console.WriteLine("请输入原密码:");
password = Console.ReadLine();
Console.WriteLine("请输入新密码:");
string newPwd = Console.ReadLine();
Console.WriteLine("请再次输入新密码:");
string newPwd1 = Console.ReadLine();
if (CheckPwd(accountName, password, newPwd, newPwd1))
{
Console.WriteLine("账户密码修改成功!");
}
else
{
Console.WriteLine("账户密码修改失败!");
}
}
//封装检查密码
private bool CheckPwd(string accountName, string password, string newPwd, string newPwd1)
{
User user = CheckUser(accountName, password);
if (user == null)
{
Console.WriteLine("当前账户不存在!");
return false;
}
if (newPwd != newPwd1)
{
Console.WriteLine("两次密码输入不一致!");
return false;
}
else
{
user.Password = newPwd;
return true;
}
}
#endregion
#region 显示菜单方法
//显示菜单
public void Menu()
{
string option = null;
do
{
Console.WriteLine("\n================欢迎使用自动银行服务===================");
Console.WriteLine(" 1:开户 2:存款 3:取款 4:查询余额 5:修改密码 0:退出");
Console.WriteLine("=======================================================");
option = Console.ReadLine();
switch (option)
{
case "1": //开户
CreatAccount();
continue;
case "2": //存款
Deposit();
continue;
case "3": //取款
WithDraw();
continue;
case "4": //查询余额
ShowBalance();
continue;
case "5": //修改密码
xiuPwd();
continue;
case "0":
Console.WriteLine("退出成功");
break; //退出
default:
Console.WriteLine("输入无效");
continue;
}
break;
} while (true);
#endregion
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloWorld.ATM
{
class MyBankTest
{
static void Main(string[] args)
{
//创建对象
Bank bank = new Bank();
//调用方法
bank.Initial();//初始化用户的方法
Console.WriteLine("初始化帐户信息成功!");
//bank.CreatAccount(); 这里可以直接注册
bank.ShowUser();//显示所有账户
bank.Menu();//显示菜单的方法
//停留
Console.ReadLine();
}
}
}