c#第二章上机题1-4------MyBank
2016-11-08 17:14
423 查看
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 4000 ._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(); } } }
相关文章推荐
- ACCP7.0S2深入.NET和C#编程第二章上机1,2
- accp7.0S2深入.NET和C#第二章上机3
- c# MyBank 上机题1 2 3
- 深入.NET平台和C#编程 第二章 上机3 经理评分
- 深入.NET和C#第二章上机3
- c#第二章上机题1-4-----------MYBNAK
- C#第二章上机题
- <<展现C#>> 第二章 NGWS Runtime 技术基础(修订)
- Head First C# 中文版 图文皆译 第二章 page48
- Head First C# 中文版 图文皆译 第二章 page45
- Head First C# 中文版 图文皆译 第二章 page53
- Head First C# 中文版 图文皆译 第二章 page57
- 【翻译】Pro LINQ Language Integrated Query in C# 2008 -- 第二章 部分内容
- Head First C# 中文版 图文皆译 第二章 page54
- Head First C# 中文版 图文皆译 第二章 page46
- Head First C# 中文版 图文皆译 第二章 page50
- Head First C# 中文版 图文皆译 第二章 page52
- 第二章 C#基础
- 7期同学12月5日的上机问题总结【C#类中成员实例化的执行顺序】
- 读书笔记_C#技术内幕_第二章