博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBank(自助银行)
阅读量:4315 次
发布时间:2019-06-06

本文共 15821 字,大约阅读时间需要 52 分钟。

今天我来给大家说说说C#这东西的用处吧。

就拿MyBank系统来讲解吧,望大家好好看将会得到不少的收获哦。

那么这个MyBank系统我们应该怎样来写呢?请看看下面的详细解答。

首先先看一些部分功能的效果图

想要实现以上的功能以及页面我们改怎么操作呢?

关键时候到了,看清楚了哟:

1.帐户类 User

1 using System;  2 using System.Collections.Generic;  3 using System.Linq;  4 using System.Text;  5   6 namespace MyBank  7 {  8     ///   9     /// 帐户类 10     ///  11     public class User 12     { 13         #region 成员变量 14         ///  15         /// 帐户姓名 16         ///  17         private string _name; 18  19         public string Name 20         { 21             get { return _name; } 22             set { _name = value; } 23         } 24  25         ///  26         /// 密码 27         ///  28         private string _password; 29  30         public string Password 31         { 32             get { return _password; } 33             set { _password = value; } 34         } 35  36         ///  37         /// 身份证号 38         ///  39         private string _identityNum; 40  41         public string IdentityNum 42         { 43             get { return _identityNum; } 44             set { _identityNum = value; } 45         } 46  47         ///  48         /// 帐户余额 49         ///  50         private double _balance; 51  52         public double Balance 53         { 54             get { return _balance; } 55             set { _balance = value; } 56         } 57  58         ///  59         /// 帐号 60         ///  61         private string _account; 62  63         public string Account 64         { 65             get { return _account; } 66             set { _account = value; } 67         } 68         #endregion 69  70         #region 取款 71         ///  72         /// 取款操作 73         ///  74         /// 要取的金额 75         /// 
返回余额,输入有误返回-1
76 public double MinusMoney(double money) 77 { 78 if (money > 0) 79 { 80 if (money <= _balance) 81 { 82 _balance -= money; 83 return _balance; 84 } 85 else 86 { 87 return -1; 88 } 89 90 } 91 else 92 { 93 return -1; 94 } 95 } 96 #endregion 97 98 #region 存款 99 /// 100 /// 存款101 /// 102 /// 存款金额103 public double SaveMoney(double money)104 {105 if (money > 0)106 {107 108 _balance += money;109 return _balance;110 }111 else112 {113 return -1;114 } 115 }116 #endregion117 118 }119 }

2.银行类 Bank

1 using System;  2 using System.Collections.Generic;  3 using System.Linq;  4 using System.Text;  5   6 namespace MyBank  7 {  8     public class Bank  9     { 10         #region 成员变量的定义 11         User user = new User();  //实例化User对象并赋值 12         User[] _userGroup = new User[3]; 13         const string MESSAGE = "操作成功!"; 14         #endregion 15  16         #region 初始化三个帐户 17         ///  18         /// 初始化三个帐户 19         ///  20         public void Initial() 21         { 22             _userGroup[0] = new User(); 23             _userGroup[0].Account = "179708064356"; 24             _userGroup[0].Name = "王丽丽"; 25             _userGroup[0].Password = "1234"; 26             _userGroup[0].IdentityNum = "210050619890808185"; 27             _userGroup[0].Balance = 1000.1111; 28  29             _userGroup[1] = new User(); 30             _userGroup[1].Account = "179708064359"; 31             _userGroup[1].Name = "张颖颖"; 32             _userGroup[1].Password = "4321"; 33             _userGroup[1].IdentityNum = "510010619891231127"; 34             _userGroup[1].Balance = 2000; 35  36             _userGroup[2] = new User(); 37             _userGroup[2].Account = "179708064368"; 38             _userGroup[2].Name = "刘华"; 39             _userGroup[2].Password = "4567"; 40             _userGroup[2].IdentityNum = "410207198904051271"; 41             _userGroup[2].Balance = 8000; 42         } 43         #endregion 44  45         #region 显示所有帐户信息 46         ///  47         /// 显示所有帐户的帐号、姓名、密码、身份证号、帐户余额 48         ///  49         public void ShowAllUser() 50         { 51             foreach (User userItem in _userGroup) 52             { 53                 Console.WriteLine("帐户姓名:" + userItem.Name + " 帐号:" + userItem.Account + " 存款余额:" + userItem.Balance + " 密码:" + userItem.Password + " 身份证号:" + userItem.IdentityNum); 54             } 55         } 56         #endregion 57  58         #region 显示菜单 59         ///  60         /// 显示菜单 61         ///  62         public void ShowCustomMenu() 63         { 64             string option = ""; 65             do 66             { 67                 Console.WriteLine(); 68                 Console.WriteLine("==================欢迎使用自动银行服务=================="); 69                 Console.WriteLine("1:开户 2:存款 3:取款 4:转帐 5:查询余额 6:修改密码 0:退出"); 70                 Console.WriteLine("========================================================"); 71                 option = Console.ReadLine(); 72                 switch (option) 73                 { 74                     case "1": 75                         CreateAccount(); 76                         continue; 77                     case "2": 78                         Deposit(); 79                         continue; 80                     case "3": 81                         WithDraw(); 82                         continue; 83                     case "4": 84                         InputTransferData(); 85                         continue; 86                     case "5": 87                         ShowBalance(); 88                         continue; 89                     case "6": 90                         ModifyPwd(); 91                         continue; 92                     case "0": 93                         break;      //结束switch 94                     default: 95                         Console.WriteLine("输入无效!"); 96                         continue; 97                 } 98  99                 break;              //结束do-while循环100             } while (true);101         }102         #endregion103 104         #region 开户105         /// 106         /// 开户107         /// 108         public void CreateAccount()109         {110             //接受输入的数据111             Console.WriteLine("请输入帐户名");112             user.Name = Console.ReadLine();113             user.Account = "179708064356";114             Console.WriteLine("请输入帐户密码");115             user.Password = Console.ReadLine();116             Console.WriteLine("请输入帐户身份证号");117             user.IdentityNum = Console.ReadLine();118             Console.WriteLine("请输入帐户存款金额");119             user.Balance = double.Parse(Console.ReadLine());120 121             Console.WriteLine("帐户:{0},帐户名:{1},存款金额:{2}创建成功!", user.Account, user.Name, user.Balance);122             //Console.ReadLine();123         }124         #endregion125 126          #region 取款127         /// 128         /// 取款129         /// 130         public void WithDraw()131         {132             string account = "";             //帐号133             string pwd;                      //密码134 135             Console.WriteLine("请输入帐号:");136             account = Console.ReadLine();137             if (account.Length == 0)138             {139                 Console.WriteLine("输入的帐号不正确!");140                 return;141             }142             // 新增:在3个帐户中查找指定的帐户143             User user = CheckUserByAccount(account);144             if (user == null)145             {146                 Console.WriteLine("输入的帐号不正确!");147                 return;148             }149 150 151             //接收帐户密码,并验证152             Console.WriteLine("请输入帐户密码:");153             pwd = Console.ReadLine();154 155             if (user.Password != pwd)156             {157                 Console.WriteLine("密码有误!");158                 return;159             }160 161             Console.WriteLine("请输入取款金额");162             double money = double.Parse(Console.ReadLine());163             double result = user.MinusMoney(money);164             if (result == -1)165             {166                 Console.WriteLine("取款失败");167             }168             else169             {170                 Console.WriteLine("取款成功!当前余额:" + result);171             }172         }173         #endregion174    175 176         #region 存款177         /// 178         /// 存款179         /// 180         public void Deposit()181         {182             string account = "";               //帐号183             double money = 0;                //存款金额184 185             Console.WriteLine("请输入帐号:");186             account = Console.ReadLine();187             Console.WriteLine("请输入存入金额:");188             money = double.Parse(Console.ReadLine());189 190             User user;191             if ((user = CheckUserByAccount(account)) == null)192             {193                 Console.WriteLine("您输入的帐号不存在!");194             }195 196             if (user.SaveMoney(money) > 0)197             {198                 Console.WriteLine(MESSAGE + "当前余额:" + user.Balance);199             }200             else201             {202                 Console.WriteLine("存款失败!");203             }204 205         }206         #endregion207 208         #region 判断帐户是否存在209         /// 210         /// 通过帐号判断帐户是否存在211         /// 212         /// 帐号213         /// 
存在返回user对象,不存在返回null
214 private User CheckUserByAccount(string account)215 {216 foreach (User user in _userGroup)217 {218 if (user.Account == account)219 {220 return user;221 }222 }223 return null;224 }225 226 /// 227 /// 根据帐号和密码判定帐户是否存在228 /// 229 /// 帐号230 /// 密码231 ///
User & null
232 private User CheckUser(string account,string pwd)233 {234 foreach (User user in _userGroup)235 {236 if (user.Account == account && user.Password ==pwd)237 {238 return user;239 }240 }241 return null;242 }243 #endregion244 245 #region 转帐246 /// 247 /// 转帐输入输出信息248 /// 249 public void InputTransferData()250 {251 Console.WriteLine("请输入转出帐号:");252 string fromAccount = Console.ReadLine();253 Console.WriteLine("请输入转出帐户密码:");254 string fromPwd = Console.ReadLine();255 Console.WriteLine("请输入转入帐号:");256 string toAccount = Console.ReadLine();257 Console.WriteLine("请输入转帐金额:");258 double money = double.Parse(Console.ReadLine());259 double fbalance = 0, tbalance = 0;260 261 // 执行转帐操作262 int iRet = Transfer(fromAccount, fromPwd, toAccount, money, ref fbalance, ref tbalance);263 if (iRet == 1)264 {265 Console.WriteLine("转帐成功,转出帐号{0}的余额为:{1},转入帐号{2}的余额为:{3}", fromAccount, fbalance, toAccount, tbalance);266 }267 else if (iRet == -1)268 {269 Console.WriteLine("转出帐户的帐号或密码输入错误!");270 }271 else if (iRet == -2)272 {273 Console.WriteLine("转入帐号不正确!");274 }275 else if (iRet == -3)276 {277 Console.WriteLine("转帐操作失败!");278 }279 280 }281 282 /// 283 /// 执行转帐操作284 /// 285 /// 当前帐号286 /// 帐号密码287 /// 转帐帐号288 /// 转帐金额289 /// 当前帐号余额290 ///
-1:帐号或密码输入错误;1:转帐成功;0:转帐帐号不存在
291 private int Transfer(string fAccount, string fPwd, string tAccount, double money, ref double fBalance, ref double tBalance)292 {293 //检查转出帐号和密码294 User userfrom = CheckUser(fAccount, fPwd);295 if (userfrom == null) //转出帐户和密码不正确296 {297 return -1;298 }299 //检查转入帐号300 User userTo = CheckUserByAccount(tAccount);301 if (userTo == null) //转入帐号不正确302 {303 return -2;304 }305 306 //取款307 if (userfrom.MinusMoney(money) == -1) //转帐操作失败308 {309 return -3;310 }311 //取得余额312 fBalance = userfrom.Balance;313 314 //存款315 if (userTo.SaveMoney(money) == -1) //转帐操作失败316 {317 return -3;318 }319 320 tBalance = userTo.Balance;321 322 return 1;323 324 }325 #endregion326 327 328 #region 显示帐户余额329 /// 330 /// 显示帐户余额331 /// 332 public void ShowBalance()333 {334 string accountName = ""; //当前帐号335 string password = ""; //当前帐户密码336 Console.WriteLine("请输入帐号");337 accountName = Console.ReadLine();338 Console.WriteLine("请输入密码");339 password = Console.ReadLine();340 User user = CheckUser(accountName, password);341 if (user == null)342 {343 Console.WriteLine("当前帐号不存在");344 }345 else346 {347 Console.WriteLine("帐户的余额是:" + user.Balance.ToString ("0.00"));348 }349 }350 #endregion351 352 #region 修改密码353 public void ModifyPwd()354 {355 string accountName = ""; //当前帐号356 string password = ""; //当前帐户密码357 Console.WriteLine("请输入帐号");358 accountName = Console.ReadLine();359 Console.WriteLine("请输入原密码");360 password = Console.ReadLine();361 362 string newPwd1, newPwd2;363 Console.WriteLine("请输入新密码");364 newPwd1 = Console.ReadLine();365 Console.WriteLine("请再次输入新密码");366 newPwd2 = Console.ReadLine();367 368 if(CheckPwd(accountName, password, newPwd1, newPwd2)==true)369 Console.WriteLine("帐户密码修改成功!");370 else371 Console.WriteLine("帐户密码修改失败!");372 373 }374 375 public bool CheckPwd(string accountName, string password, string newPwd1, string newPwd2)376 {377 User user = CheckUser(accountName, password);378 if (user == null)379 {380 Console.WriteLine("当前帐号不存在");381 return false;382 }383 384 if (newPwd1 != newPwd2)385 {386 Console.WriteLine("两只输入的帐户密码不一致!");387 return false;388 }389 else390 {391 user.Password = newPwd1;392 return true;393 } 394 }395 #endregion396 }397 398 }

 

3.最关键的也是最后的了,Program类, 关于系统运行

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5  6 namespace MyBank 7 { 8     class Program 9     {10         static void Main(string[] args)11         {12             Bank myBank = new Bank();13 14             //开户15             //myBank.CreateAccount();16 17             //初始化数据18             myBank.Initial();19 20             //显示所有帐户21             myBank.ShowAllUser();22 23             //显示菜单24             myBank.ShowCustomMenu();25 26             //取款27             //myBank.WithDraw();28         }29     }30 }

好了,以上就是MyBank银行管理系统了哟

转载于:https://www.cnblogs.com/douzi520/p/9303107.html

你可能感兴趣的文章
React中的Refs
查看>>
自己使用MySQL中的GROUP_CONCAT(CONCAT_WS())函数查询的数据显示不全的问题. 以及在后台开发中怎么设置使用....
查看>>
Mysql强制修改密码
查看>>
100
查看>>
新手springmvc web简单搭建过程-caidachun
查看>>
Inline Edit
查看>>
Mybatis generator生成工具简单介绍
查看>>
Shellshock漏洞复现
查看>>
邮箱爆破
查看>>
Parrot os安装docker及docker-compose
查看>>
Parrot os配置源更新
查看>>
HTTP/2 简介及https原理
查看>>
JS代码静态分析及挖掘
查看>>
Jenkins漏洞利用复现
查看>>
WM_PAINT
查看>>
动态查看服务器打印日志
查看>>
来自官方的 windows 7 快捷键大全
查看>>
Deep RL Bootcamp Lecture 8 Derivative Free Methods
查看>>
iOS 关于Xcode上的Other linker flags
查看>>
.NET中的程序集(Assembly)
查看>>