練習4:實現MyBank系統的存款業務 teacher
阿新 • • 發佈:2019-02-08
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MyBank { /// <summary> /// 帳戶類 /// </summary> public class User { #region 成員變數 /// <summary> /// 帳戶姓名 /// </summary> public string _name; /// <summary> /// 密碼 /// </summary> public string _password; /// <summary> /// 身份證號 /// </summary> public string _identityNum; /// <summary> /// 帳戶餘額 /// </summary> public double _balance; /// <summary> /// 帳戶 /// </summary> public string _account; #endregion #region 取款 /// <summary> /// 取款操作 /// </summary> /// <param name="money">要取的金額</param> /// <returns>返回餘額,輸入有誤返回-1</returns> public double MinusMoney(double money) { if (money > 0) { if (money <= _balance) { _balance -= money; return _balance; } else { return -1; } } else { return -1; } } #endregion #region 存款 /// <summary> /// 存款 /// </summary> /// <param name="money">存款金額</param> public double SaveMoney(double money) { if (money > 0) { _balance += money; return _balance; } else { return -1; } } #endregion } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MyBank { public class Bank { User user = new User(); //例項化User物件並賦值 User[] _userGroup = new User[3]; const string MESSAGE = "操作成功!"; #region 初始化帳戶 /// <summary> /// 初始化三個帳戶 /// </summary> public void Initial() { _userGroup[0] = new User(); _userGroup[0]._account = "179708064356"; _userGroup[0]._name = "王麗麗"; _userGroup[0]._password = "1234"; _userGroup[0]._identityNum = "210050619890808185"; _userGroup[0]._balance = 1000; _userGroup[1] = new User(); _userGroup[1]._account = "179708064359"; _userGroup[1]._name = "張穎穎"; _userGroup[1]._password = "4321"; _userGroup[1]._identityNum = "510010619891231127"; _userGroup[1]._balance = 2000; _userGroup[2] = new User(); _userGroup[2]._account = "179708064368"; _userGroup[2]._name = "劉華"; _userGroup[2]._password = "4567"; _userGroup[2]._identityNum = "410207198904051271"; _userGroup[2]._balance = 8000; } #endregion #region 顯示所有帳戶資訊 /// <summary> /// 顯示所有帳戶的姓名 /// </summary> public void ShowAllUser() { foreach (User userItem in _userGroup) { Console.WriteLine("帳戶姓名:" + userItem._name + " 帳號:" + userItem._account + " 存款餘額:" + userItem._balance); //Console.WriteLine("帳戶姓名:" + userItem._name); } } #endregion #region 顯示選單 /// <summary> /// 顯示選單 /// </summary> 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": CreateAccount(); continue; case "2": Deposit(); continue; case "3": WithDraw(); continue; case "4": continue; case "5": continue; case "6": continue; case "0": break; //結束switch default: Console.WriteLine("輸入無效!"); continue; } break; //結束do-while迴圈 } while (true); } #endregion #region 開戶 /// <summary> /// 開戶 /// </summary> public void CreateAccount() { //接受輸入的資料 Console.WriteLine("請輸入帳戶姓名"); user._name = Console.ReadLine(); user._account = "179708064356"; Console.WriteLine("請輸入帳戶密碼"); user._password = Console.ReadLine(); Console.WriteLine("請輸入帳戶身份證號"); user._identityNum = Console.ReadLine(); Console.WriteLine("請輸入帳戶存款金額"); user._balance = double.Parse(Console.ReadLine()); Console.WriteLine("帳號:{0},帳戶姓名:{1},存款金額:{2} {3}", user._account, user._name, user._balance, MESSAGE); //Console.ReadLine(); } #endregion #region 取款 /// <summary> /// 取款 /// </summary> public void WithDraw() { string account = ""; //帳號 string pwd; //密碼 Console.WriteLine("請輸入帳號:"); account = Console.ReadLine(); if (account.Length == 0) { Console.WriteLine("輸入的帳號不正確!"); return; } // 新增:在3個帳戶中查詢指定的帳戶 User user = CheckUserByAccount(account); if (user == null) { Console.WriteLine("輸入的帳號不正確!"); return; } //接收帳戶密碼,並驗證 Console.WriteLine("請輸入帳戶密碼:"); pwd = Console.ReadLine(); if (user._password != pwd) { 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); } } #endregion #region 存款 /// <summary> /// 存款 /// </summary> public void Deposit() { string account = ""; //賬號 double money = 0; //存款金額 Console.WriteLine("請輸入賬號:"); account = Console.ReadLine(); Console.WriteLine("請輸入存入金額:"); money = double.Parse(Console.ReadLine()); User user;//賬號111 name password yue shenfenz if ((user = CheckUserByAccount(account)) == null) { Console.WriteLine("您輸入的賬號不存在!"); } if (user.SaveMoney(money) > 0) { Console.WriteLine(MESSAGE + "當前餘額:" + user._balance); } else { Console.WriteLine("存款失敗!"); } } #endregion #region 判斷使用者是否存在 /// <summary> /// 通過帳號判斷使用者是否存在 /// </summary> /// <param name="account">賬號111</param> /// <returns>存在返回user物件,不存在返回null</returns> private User CheckUserByAccount(string account) { foreach (User user in _userGroup) { if (user._account == account) { return user;//賬號111 name password yue shenfenz } } return null; } #endregion } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MyBank { class Program { static void Main(string[] args) { Bank myBank = new Bank(); //開戶 //myBank.CreateAccount(); //初始化資料 myBank.Initial(); Console.WriteLine("初始化帳戶資訊成功!"); myBank.ShowAllUser(); //選單 myBank.ShowCustomMenu(); //取款 //myBank.WithDraw(); //顯示所有帳戶 //myBank.ShowAllUser(); Console.ReadLine(); } } }