最近新学习了一个bank系统来和大家分享一下,新人求罩!
破索式之_链子枪_
废话不多说了直接本主题
如果我们要写出bank系统,就要先考虑这个问题:总共需要几个类?
既然是银行系统,那么必不可少的就是银行了, 这里我们就需要一个1.银行类
我们都知道去银行办理业务都是要有一张属于你自己的卡 所以这里就需要一个2.卡的类
有了这些类,我们在main方法里进行调用这些就ok了,接下来我就带大家一起来实现一个bank!
首先我们先来个卡的类,因为通篇下来都是要从这里调用他们的初始赋值的;
1 class Card 2 { 3 private string cardNo;//卡号 4 private string cardOwner;//持卡人 5 private string cardPwd;//密码 6 private double balance;//余额 7 8 public double Balance 9 { 10 get { return balance; } 11 set { balance = value; } 12 } 13 public string CardPwd 14 { 15 get { return cardPwd; } 16 set { cardPwd = value; } 17 } 18 19 public string CardOwner 20 { 21 get { return cardOwner; } 22 set { cardOwner = value; } 23 } 24 25 public string CardNo 26 { 27 get { return cardNo; } 28 set { cardNo = value; } 29 } 30 31 }
ok! 大家看上去是不是感觉很简单呢? 其实接下来更加的简单哦~
接下来就到了我们的bank模块,大家都知道bank一般都是有好多功能的对吧?
那么这些东东到底是怎么实现的呢? 就让我们一起来走进bank的真相吧!
那么 大家所熟知的bank功能都有什么呢?大致就是下面这些喽!
1.开户 2.存款 3.取款 4.查询余额 5.转账 6.修改密码 7.退出 8.输出所有账户的持卡人以及余额
对吧, 那么我们也就按照步骤来一步步的实现bank中的每一项功能吧>>>>>>>>>>
//开户模块
1 Console.WriteLine("欢迎进入开户模块"); 2 Console.WriteLine("请输入卡号"); 3 string cardNo = Console.ReadLine(); 4 Console.WriteLine("请输入密码"); 5 string cardPwd = Console.ReadLine(); 6 Console.WriteLine("请输入用户名"); 7 string cardOwner = Console.ReadLine(); 8 Console.WriteLine("请输入开户后要存储的金额"); 9 double balance = double.Parse(Console.ReadLine()); 10 //将bank里的值重新赋给Card中 11 Card card = new Card(); 12 card.CardNo = cardNo; 13 card.CardPwd = cardPwd; 14 card.CardOwner = cardOwner; 15 card.Balance = balance; 16 17 //将card对象赋值给数组第一个为null的项目 18 for (int i = 0; i < cards.Length; i++) 19 { 20 if (cards[i]==null) 21 { 22 cards[i] = card; 23 Console.WriteLine("开户成功!"); 24 break; 25 } 26 }
//存款模块
1 Console.WriteLine("请输入您的账号"); 2 string cardno = Console.ReadLine(); 3 for (int i = 0; i < cards.Length; i++) 4 { 5 if (cards[i] != null && cards[i].CardNo == cardno) 6 { 7 flag = true; 8 Console.WriteLine("请输入密码"); 9 string pwd = Console.ReadLine(); 10 if (cards[i].CardPwd == pwd) 11 { 12 Console.WriteLine("恭喜您登陆成功!请输入您要存款的金额:"); 13 double GiveMoney = double.Parse(Console.ReadLine()); 14 cards[i].Balance = cards[i].Balance + GiveMoney; 15 Console.WriteLine("恭喜您存款成功,您的当前余额为:{0}", cards[i].Balance); 16 break; 17 } 18 else 19 { 20 Console.WriteLine("您输入的密码有误!"); 21 break; 22 } 23 } 24 }
//取款模块
1 Console.WriteLine("请输入您的账号"); 2 string cardno = Console.ReadLine(); 3 for (int i = 0; i < cards.Length; i++) 4 { 5 if (cards[i] != null && cards[i].CardNo == cardno) 6 { 7 flag1 = true; 8 Console.WriteLine("请输入密码"); 9 string pwd = Console.ReadLine(); 10 if (cards[i].CardPwd == pwd) 11 { 12 Console.WriteLine("恭喜您登陆成功!请输入您要取款的金额:"); 13 double TakeMoney = double.Parse(Console.ReadLine()); 14 cards[i].Balance = cards[i].Balance - TakeMoney; 15 Console.WriteLine("恭喜您存款成功,您的当前余额为:{0}", cards[i].Balance); 16 break; 17 } 18 else 19 { 20 Console.WriteLine("您输入的密码有误!"); 21 break; 22 } 23 } 24 }
//转账模块
注意!注意!
上面的对于大家来说基本上就是过家家~ 那么接下来我要讲的就是本文的真正的藏金殿了!
对于转账相信对于我这样的初学者也是被搞得头晕脑胀的吧?
接下来就让我们一起来ko他吧!
1 Console.WriteLine("请输入您的账号"); 2 string cardno = Console.ReadLine(); 3 for (int i = 0; i < cards.Length; i++) 4 { 5 if (cards[i] != null && cards[i].CardNo == cardno) 6 { 7 flag2 = true; 8 Console.WriteLine("请输入密码"); 9 string pwd = Console.ReadLine(); 10 if (cards[i].CardPwd == pwd && cards[i].Balance!=0) 11 { 12 if (cards[i].Balance!=0) 13 { 14 Console.WriteLine("恭喜您登陆成功!请输入您要转账的对象账户:"); 15 string Target = Console.ReadLine(); 16 for (int j = 0; j < cards.Length; j++) 17 { 18 if (cards[j].CardNo.Equals( Target) || cards[j].CardNo!=null ) 19 { 20 Console.WriteLine("请输入您的操作金额:"); 21 double Transform = double.Parse(Console.ReadLine()); 22 if (Transform < cards[i].Balance && Transform != 0) 23 { 24 cards[i].Balance -= Transform; 25 cards[j].Balance += Transform; 26 Console.WriteLine("恭喜您转账成功!您的当前余额为:{0}", cards[i].Balance); 27 break; 28 } 29 else 30 { 31 Console.WriteLine("请输入正确的操作金额:"); 32 } 33 } 34 break; 35 } 36 break; 37 } 38 else 39 { 40 Console.WriteLine("您当前的余额不足!不能进行转账!"); 41 } 42 } 43 else 44 { 45 Console.WriteLine("您输入的密码有误!"); 46 break; 47 } 48 } 49 } 50 return flag2; 51 } 52 53 //查询余额 54 public bool SelectMoney() 55 { 56 bool flag3 = false; 57 Console.WriteLine("==================="); 58 Console.WriteLine("这里是查询余额模块"); 59 Console.WriteLine("==================="); 60 61 Console.WriteLine("请输入您的账号"); 62 string cardno = Console.ReadLine(); 63 for (int i = 0; i < cards.Length; i++) 64 { 65 if (cards[i] != null && cards[i].CardNo == cardno) 66 { 67 flag3 = true; 68 Console.WriteLine("请输入密码"); 69 string pwd = Console.ReadLine(); 70 if (cards[i].CardPwd == pwd) 71 { 72 Console.WriteLine("恭喜您登陆成功!您的当前余额为:{0}:",cards[i].Balance); 73 Welcome(); 74 break; 75 } 76 else 77 { 78 Console.WriteLine("您输入的密码有误!"); 79 break; 80 } 81 } 82 }
怎么样? 看到这么调理清晰的把转账给大家呈现出来,是不是有点小惊讶?
//修改密码
1 Console.WriteLine("请输入您的账号"); 2 string cardno = Console.ReadLine(); 3 for (int i = 0; i < cards.Length; i++) 4 { 5 if (cards[i] != null && cards[i].CardNo == cardno) 6 { 7 flag4= true; 8 Console.WriteLine("请输入你的密码"); 9 string pwd = Console.ReadLine(); 10 if (cards[i].CardPwd == pwd) 11 { 12 Console.WriteLine("请输入您的新密码:"); 13 string pwd3=Console.ReadLine(); 14 Console.WriteLine("请再次输入您的新密码:"); 15 string pwd2=Console.ReadLine(); 16 if (pwd2==pwd3) 17 { 18 cards[i].CardPwd = pwd3; 19 } 20 Console.WriteLine("恭喜您密码修改成功!您的新密码是{0}",cards[i].CardPwd); 21 Welcome(); 22 break; 23 } 24 else 25 { 26 Console.WriteLine("您输入的密码有误!"); 27 break; 28 } 29 } 30 }
//退卡 略....
其实在写这样的项目时,小编总结出来个方法,在这里分享给大家:就是每次拿到一个项目时,不要感觉头大,首先总体的把内容过一下,
梳理出思路,这样在接下来的编程中就会感觉涛涛不绝~~!
感谢大家的耐心观看!关注我,给你最好的呈现~