using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 银行{ /// <summary> /// 账户类 /// </summary> public 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 sfzh;//身份证号 public string Sfzh { get { return sfzh; }//////封装////// set { sfzh = value; }//////封装////// } private double ckye;//存款余额 public double Ckye { get { return ckye; }//////封装////// set { ckye = value; }//////封装////// } private string zhangHao;//账号 public string ZhangHao { get { return zhangHao; }//////封装////// set { zhangHao = value; }//////封装////// } /// <summary> /// User类中的取款方法!!! /// </summary> /// <param name="money">要取的金额</param> /// <returns>返回余额,输入有误返回-1</returns> public double quKuan(double money) { if (money > 0) { if (money <= ckye) { ckye -= money; return ckye; } else { return -1; } } else { return -1; } } /// <summary> /// User类中的存款方法!!! /// </summary> public double cunKuan(double money) { if (money > 0) { ckye += money; return ckye; } else { return -1; } } }}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 银行{ class Program { static void Main(string[] args) { Bank b = new Bank(); //b.kaiHu(); //b.withDraw(); Console.WriteLine("初始化帐户信息成功!"); b.Initial();//初始化账户所有信息!!! b.ShowAllUser(); // 显示所有账户的账户姓名!! b.ShowCustoMenu();//菜单// Console.ReadLine(); } }}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 银行{ /// <summary> /// 银行类 /// </summary> public class Bank { User u = new User(); //实例化 User 对象并赋值!!! User[] _userGroup = new User[3];//定义一个 User 类型的对象数组,长度为 3!!! /// <summary> /// 初始化三个账户!!! /// </summary> public void Initial() { //初始化第一个对象! _userGroup[0] = new User(); _userGroup[0].ZhangHao="111"; _userGroup[0].Name = "王丽丽"; _userGroup[0].Password = "1234"; _userGroup[0].Sfzh = "1111111"; _userGroup[0].Ckye = 1000; //初始化第二个对象! _userGroup[1] = new User(); _userGroup[1].ZhangHao = "222"; _userGroup[1].Name = "张颖颖"; _userGroup[1].Password = "1234"; _userGroup[1].Sfzh = "222222"; _userGroup[1].Ckye = 2000; //初始化第三个对象! _userGroup[2] = new User(); _userGroup[2].ZhangHao = "333"; _userGroup[2].Name = "刘华"; _userGroup[2].Password = "1234"; _userGroup[2].Sfzh = "333333"; _userGroup[2].Ckye = 3000; } /// <summary> /// 显示所有账户的账户姓名!! /// </summary> public void ShowAllUser() { foreach (User u in _userGroup) { Console.WriteLine("账户姓名:"+u.Name+"账号:"+u.ZhangHao+"存款余额:"+u.Ckye); } } /// <summary> /// 在Bank 类中的开户!!!!!!! /// </summary> public void kaiHu() { Console.WriteLine("请输入用户名:"); u.Name = Console.ReadLine(); u.ZhangHao = "179708064356"; Console.WriteLine("请输入用户密码:"); u.Password = Console.ReadLine(); Console.WriteLine("请输入用身份证号:"); u.Sfzh = Console.ReadLine(); Console.WriteLine("请输入用户存款金额:"); u.Ckye= double.Parse(Console.ReadLine()); Console.WriteLine("账户:{0},用户名:{1},存款金额:{2}创建成功!",u.ZhangHao, u.Name,u.Ckye); // Console.ReadLine(); } /// <summary> /// Bank类中的取款方法 /// </summary> public void withDraw() { string zhangHao = ""; //账号 string pwd=""; //密码 Console.WriteLine("请输入账号:"); zhangHao = Console.ReadLine(); u = CheckUserBy(zhangHao);// 调用CheckUserBy(String zhangHao)方法 if(u==null) { Console.WriteLine("输入的账号不正确!!!"); return; } //接受账号密码,并验证 Console.WriteLine("请输入密码:"); pwd = Console.ReadLine(); if (!(u.Password.Equals(pwd))) //u为在Bank类中声明的User类对象 { Console.WriteLine("密码有误!"); return; } Console.WriteLine("请输入取款金额:"); double money = double.Parse(Console.ReadLine());//使用double.parse()方法转换为double类型!!! double resule = u.quKuan(money);//调用User类中的取款方法!!!! if (resule == -1) { Console.WriteLine("取款失败"); } else { Console.WriteLine("取款成功!当前余额:"+resule); } // Console.ReadLine(); } /// <summary> /// 创建菜单功能的方法 /// </summary> public void ShowCustoMenu() { string option = ""; do { Console.WriteLine("============欢迎使用自动银行服务=============="); Console.WriteLine("1:开户,2:存款,3:取款,4:转账,5:查询余额,6:退出"); Console.WriteLine("=============================================="); option = Console.ReadLine(); switch (option) { case "1": //开户 kaiHu(); continue; case "2": //存款 Deposit(); continue; case "3": //取款 withDraw(); continue; case "4": //转账 zhuanZhang(); continue; case "5": //查询余额 continue; case "6": //退出 break; default: Console.WriteLine("输入无效!"); continue; } // Console.WriteLine(); break; //结束do-while 循环 } while (true); } /// <summary> /// 在Bank类中的存款!!!!!!!!!!! /// </summary> public void Deposit() { string zhangHao = ""; //账号 double money = 0; //存款金额 Console.WriteLine("请输入账号:"); zhangHao = Console.ReadLine(); Console.WriteLine("请输入存款金额:"); money = double.Parse(Console.ReadLine()); User u;//账号 name password yue sfzh if((u=CheckUserBy(zhangHao))==null) { Console.WriteLine("您输入的账号不存在!!!"); return; } if (u.cunKuan(money) > 0) { Console.WriteLine("存款成功!当前余额:" + u.Ckye); } else { Console.WriteLine("存款失败!!!"); } } /// <summary> /// 通过账号判断用户是否存在 /// </summary> /// <returns>存在返回User对象,不存在返回null</returns> private User CheckUserBy(String zhangHao) { foreach (User u in _userGroup) { if(u.ZhangHao==zhangHao) { return u; } } return null; } public void zhuanZhang() { Console.WriteLine("请输入要转出的账号:"); string ZCzhangHao = Console.ReadLine(); //声明转出的账号 变量 Console.WriteLine("请输入要转出的账户密码:"); string ZCpassword = Console.ReadLine(); //声明转出的账号的密码 变量 Console.WriteLine("请输入要转入的账号:"); string ZRzhangHao = Console.ReadLine(); //声明要转入的账号 Console.WriteLine("请输入转账金额:"); double money = double.Parse(Console.ReadLine()); double fbalance=0, tbalance=0; //变量说明 //执行转账操作 int iRet = Transfer(ZCzhangHao, ZCpassword, ZRzhangHao, money,ref fbalance,ref tbalance); if(iRet==1) { Console.WriteLine("转账成功,转出账户{0},余额为:{1},转入账号{2},余额为:{3}",ZCzhangHao,fbalance,ZRzhangHao,tbalance); }else if(iRet==-1) { Console.WriteLine("转出的账号或密码输入错误!!!"); }else if(iRet==-2) { Console.WriteLine("转入账号不正确!!!"); }else if(iRet==-3) { Console.WriteLine("转账操作失败!!!"); } } /// <summary> /// 实现转账!!!! /// </summary> /// <param name="ZCzhangHao">转出的账号</param> /// <param name="ZCpassword">转出的密码</param> /// <param name="ZRzhangHao">要转入的账号</param> /// <param name="money">转账金额</param> /// <param name="fbalance">转出账户存款余额</param> /// <param name="tbalance">转入账户存款余额</param> /// <returns></returns> private int Transfer(string ZCzhangHao,string ZCpassword,string ZRzhangHao,double money, ref double fbalance, ref double tbalance) { //检查转出账号密码 User userfrom = CheckUser(ZCzhangHao,ZCpassword); if(userfrom==null) //转出账号或密码不正确 { return -1; } //检查转入账号 User userTo = CheckUserBy(ZRzhangHao); if(userTo==null) //转入账号不正确 { return -2; } //取款 if(userfrom.quKuan(money)==-1) //转账操作失败 { return -3; } //取得余额 fbalance = userfrom.Ckye;//来存放 转出 的账户存款余额 //存款 if(userTo.cunKuan(money)==-1) //转账操作失败 { return -3; } tbalance = userTo.Ckye;//来存放 转入 的账户存款余额 return 1; } /// <summary> /// 检查账号,密码是否存在和正确!!! /// </summary> /// <param name="account"></param> /// <param name="pwd"></param> /// <returns></returns> private User CheckUser(string account,string pwd) { foreach (User item in _userGroup) { if (item.ZhangHao == account && item.Password == pwd) { return item; } } return null; } }}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 银行{ class Program { static void Main(string[] args) { Bank b = new Bank(); //b.kaiHu(); //b.withDraw(); Console.WriteLine("初始化帐户信息成功!"); b.Initial();//初始化账户所有信息!!! b.ShowAllUser(); // 显示所有账户的账户姓名!! b.ShowCustoMenu();//菜单// Console.ReadLine(); } }}
0 0