亲们! 首次见面! 带来不适!多多见谅!--------->>Bank系统

亲们!您们好!

讲一下Bank系统的做法:

01.首先创建一个Card类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace VS1
{
    //账号类
  public class Card
    {
      //姓名
      public string name;
      //账号
      public string account;
      //密码
      public string password;
      //身份证号
      public string id;
      //余额
      public double balance;
    }
}

02.创建一个Bank类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace VS1
{
    //银行类
   public class Bank
    {
       //定义卡数组
       Card[] cards=new Card[100];
        #region 01.给原有2卡赋值
       public void InitialData()
       {
           Console.WriteLine("===========================================");
           Console.WriteLine("=================现有卡有==================>>");
           //卡1
           Card card1 = new Card();
           card1.name = "阿乐";//用户名
           card1.account = "111111";//卡号
           card1.password = "123456";//mima
           card1.id = "342225199504262055";//身份证号
           card1.balance = 1000200;//余额
           cards[0] = card1;//把卡值赋值数组

           //卡2
           Card card2 = new Card();
           card2.name = "阿龙";
           card2.account = "222222";
           card2.password = "654321";
           card2.id = "34222519514562115";
           card2.balance = 1000200;
           cards[1] = card2;

       }

       #endregion

        #region 02.欢迎页面
          public void Welcome()
       {
           Console.WriteLine("欢迎进入天尽头ATM系统,亲");
           Console.WriteLine("功能:1.开户 2.存款 3.取款 4.查询余额 5.转账 6.修改密码 7.退卡");
           Console.WriteLine("请选择您要操作的功能模块,亲");
           string choice = Console.ReadLine();
           switch (choice)
           {
               case "1":
                   //开户
                   CreateAccount();
                   break;
               case "2":
                   //存款
                  bool flag= MoneyIn();
                  if (flag==false)
                  {
                      Console.WriteLine("对不起,您输入信息(密码和卡号)有误!,登录失败....");
                      Console.WriteLine("====>>自动转回主页面");
                      Welcome();
                  }

                   break;
               case "3":
                   //取款
                   bool flag1 = MoneyOut();
                   if (flag1 == false)
                   {
                       Console.WriteLine("对不起,您输入信息(密码和卡号)有误!");
                       Console.WriteLine("====>>自动转回主页面");
                       Welcome();
                   }
                   break;
               case "4":
                   //查询余额
                   bool flag2 = SelectMoney();
                   if (flag2 == false)
                   {
                       Console.WriteLine("对不起,您输入信息(密码和卡号)有误!,登录失败....");
                       Console.WriteLine("====>>自动转回主页面");
                       Welcome();
                   }
                   break;
               case "5":
                   //转账
                   bool flag3 = TransferMoney();
                   if (flag3 == false)
                   {
                       Console.WriteLine("对不起,您输入信息(密码和卡号)有误!,登录失败....");
                       Console.WriteLine("====>>自动转回主页面");
                       Welcome();
                   }
                   break;
               case "6":
                   //修改密码
                   bool flag6 = ModifyPwd();
                   if (flag6 == false)
                   {
                       Console.WriteLine("对不起,您输入信息(密码和卡号)有误!,登录失败....");
                       Console.WriteLine("====>>自动转回主页面");
                       Welcome();
                   }
                   break;
               default:
                   Console.WriteLine("成功退卡!");
                   break;

           }
       }
        #endregion

        #region 03.输出原卡信息
          public void PrintCustomerInfo() {
          foreach(Card item in cards){
          if(item!=null){

              Console.WriteLine("用户名:{0},卡号:{1},密码:{2},身份证号:{3},余额:{4}", item.name, item.account,item.password,item.id,item.balance);
              Console.WriteLine("===========================================");
          }

          }

          }
          #endregion

        #region 04.开户功能
          public void CreateAccount() {
              Console.WriteLine("============这里是开户===================");
              Console.WriteLine("===================>>>>>>>>>");

              Console.WriteLine("请输入身份证号:");
              string id = Console.ReadLine();
              Console.WriteLine("请输入用户名");
              string name = Console.ReadLine();
              Console.WriteLine("请输入密码");
              string password = Console.ReadLine();
              Console.WriteLine("请输入开户金额");
              double balance = double.Parse(Console.ReadLine());

              //先将四个零散的属性装配成一个Card对象
              Card card = new Card();
              card.id = id;
              card.name = name;
              card.password = password;
              card.balance = balance;
              card.account = "987654";
              for (int i = 0; i < cards.Length; i++)
              {
                  if(cards[i]==null){
                      cards[i] = card;
                      Console.WriteLine("您好!{0},您开户成功!您的卡号为:{1},您卡余额为:{2},请牢记您的密码!",cards[i].name,cards[i].account,cards[i].balance);
                      Console.WriteLine("=====>>自动转回主页面");
                      break;
                  }
              }
              Console.WriteLine("==============================");
              Welcome();

          }

        #endregion

        #region 05.存款功能
          public bool MoneyIn() {
              bool flag = false;
           Console.WriteLine("============这里是存款===================");
           Console.WriteLine("===================>>>>>>>>>");
           Console.WriteLine("请输入卡号:");
           string account = Console.ReadLine();
           Console.WriteLine("请输入密码:");
           string password = Console.ReadLine();
           for (int i = 0; i < cards.Length;i++ )
           {
               if(cards[i]!=null){
               if (cards[i].account == account&&cards[i].password==password)
               {
                   flag = true;
                   Console.WriteLine("您好!{0},请输入您要存的金额:", cards[i].name);
                   double balance=double.Parse(Console.ReadLine());
                   cards[i].balance = cards[i].balance + balance;
                   Console.WriteLine("{0},您存款成功,现在您的卡总余额为:{1}", cards[i].name, cards[i].balance);
                   Console.WriteLine("====>>自动转回主页面");
                   Welcome();
                   break;
               }
               }
           }
           return flag;

          }

        #endregion

        #region 06.取款功能
          public bool MoneyOut()
          {
              bool flag1 = false;

           Console.WriteLine("============这里是取款===================");
           Console.WriteLine("===================>>>>>>>>>");
           Console.WriteLine("请输入卡号:");
           string account = Console.ReadLine();
           Console.WriteLine("请输入密码:");
           string password = Console.ReadLine();
           for (int i = 0; i < cards.Length;i++ )
           {
               if(cards[i]!=null){
               if (cards[i].account == account&&cards[i].password==password)
               {
                   flag1 = true;
                   Console.WriteLine("您好!{0},请输入您要取的金额:", cards[i].name);

                   double balance=double.Parse(Console.ReadLine());
                   if(cards[i].balance>balance){
                   cards[i].balance = cards[i].balance - balance;
                   Console.WriteLine("{0},您取款成功,现在您的卡总余额为:{1}",cards[i].name,cards[i].balance);
                   Console.WriteLine("====>>自动转回主页面");
                   Welcome();
                   break;
                   }else{
                   Console.WriteLine("可能不要瞎输,你卡里有这么多钱吗?");
                   Console.WriteLine("====>>自动转回主页面");
                   Welcome();
                   break;
                   }
               }
               }
           }
          return flag1;
          }
        #endregion

        #region 07.查询余额
          public bool SelectMoney(){
              bool flag2 = false;
              Console.WriteLine("============这里是查询===================");
              Console.WriteLine("===================>>>>>>>>>");
              Console.WriteLine("请输入卡号:");
              string account = Console.ReadLine();
              Console.WriteLine("请输入密码:");
              string password = Console.ReadLine();
              for (int i = 0; i < cards.Length; i++)
              {
                  if(cards[i]!=null){

                  if (cards[i].account == account && cards[i].password == password)
                  {
                      flag2 = true;
                      Console.WriteLine("{0},您好,现在您的卡总余额为:{1}", cards[i].name, cards[i].balance);
                      Console.WriteLine("====>>自动转回主页面");
                      Welcome();
                      break;
                  }
                  }
              }
              return flag2;
          }
        #endregion

        #region 08.转账
          public bool TransferMoney()
          {
              bool flag3 = false;
              Console.WriteLine("============这里是转账===================");
              Console.WriteLine("===================>>>>>>>>>");
              Console.WriteLine("请输入卡号:");
              string account = Console.ReadLine();
              Console.WriteLine("请输入密码:");
              string password = Console.ReadLine();
              for (int i = 0; i < cards.Length; i++)
              {
                  if (cards[i] != null)
                  {
                      if (cards[i].account == account && cards[i].password == password)
                      {
                          bool flag4 = false;
                          bool flag5 = false;
                          flag3 = true;
                          Console.WriteLine("您好!{0},请输入您要转账的卡号:", cards[i].name);
                          string account1=Console.ReadLine();
                          for (int j = 0; j < cards.Length;j++ )
                          {

                              if(cards[j]!=null){
                                  if (cards[j].account == account1)
                                  {
                                      flag4 = true;
                                      Console.WriteLine("您好!{0},您输入要转账的卡号为:{1},请您输入要转账的金额:", cards[i].name,account1);
                                      double balance=double.Parse(Console.ReadLine());

                                      if(cards[j].balance>balance){
                                          flag5 = true;
                                      cards[j].balance = cards[j].balance - balance;
                                      cards[i].balance = cards[i].balance + balance;
                                      Console.WriteLine("您好!{0},转账后,您的余额:{1}", cards[i].name, cards[i].balance);
                                      Console.WriteLine("您好!{0},转账后,您的余额:{1}", cards[j].name, cards[j].balance);
                                      Console.WriteLine("====>>自动转回主页面");
                                      Welcome();
                                      break;
                                      }
                                  }
                              }
                          }
                          if (flag4 == false)
                          {
                              Console.WriteLine("您输入的未找到相匹配的卡号!!请核对!!");
                              Console.WriteLine("====>>自动转回主页面");
                              Welcome();
                          }
                          if (flag5 == false)
                          {
                              Console.WriteLine("您的卡里没有这么多钱!!请核对!!");
                              Console.WriteLine("====>>自动转回主页面");
                              Welcome();
                          }
                      }

                  }

              }
              return flag3;
          }
        #endregion

        #region 09.修改密码
          public bool ModifyPwd() {
              bool flag6 = false;

              Console.WriteLine("============这里是修改密码===================");
              Console.WriteLine("===================>>>>>>>>>");
              Console.WriteLine("请输入卡号:");
              string account = Console.ReadLine();
              Console.WriteLine("请输入密码:");
              string password = Console.ReadLine();
              for (int i = 0; i < cards.Length; i++)
              {
                  if (cards[i] != null)
                  {
                      if (cards[i].account == account && cards[i].password == password)
                      {
                          flag6 = true;
                          Console.WriteLine("您好!{0},请再次输入您的原始密码:", cards[i].name);
                          string password1 = Console.ReadLine();
                          if (password == password1)
                          {
                              Console.WriteLine("您好!{0},请输入您的新密码:", cards[i].name);
                              string password2 = Console.ReadLine();
                              Console.WriteLine("您好!{0},请再次输入您的新密码:", cards[i].name);
                              string password3 = Console.ReadLine();
                              if (password2 == password3)
                              {
                                  Console.WriteLine("{0},您改密码成功,现在您的卡新密码为:{1}", cards[i].name, password2);
                                  cards[i].password = password3;
                                  Console.WriteLine("====>>自动转回主页面");
                                  Welcome();
                              }
                              else {
                                  Console.WriteLine("您好!{0},您输入的两次新密码密码不一致", cards[i].name);
                                  Console.WriteLine("====>>自动转回主页面");
                                  Welcome();
                              }

                          }
                          else {
                              Console.WriteLine("您好!{0},您输入的两次原始密码不一致", cards[i].name);
                              Console.WriteLine("====>>自动转回主页面");
                              Welcome();
                          }
                          break;
                      }
                  }
              }
              return flag6;
          }
        #endregion

        #region 10.退卡

        #endregion
    }
}

其中08.转账也可以写为:

 //转账
       public void TransferMoney()
       {
           Console.WriteLine("请输入转出卡卡号");
           string outCardNo = Console.ReadLine(); //003
           Console.WriteLine("请输入转出卡密码");
           string outCardPwd = Console.ReadLine();
           //判定用户名和密码是否正确
           //循环对比
           //定义一个标记,标记指示转出卡号默认是不存在
           bool flag = false;//默认转出卡不存在
           bool outCardFlag = false;//默认转入卡不存在
           int type = 0;
           foreach (Card card in cards)
           {
               if (card!=null)
               {
                   if (card.CardNo.Equals(outCardNo)) //卡号一致
                   {
                       flag = true;
                       //判定密码是否一致
                       if (card.CardPwd.Equals(outCardPwd)) //密码一致
                       {
                           //用户名 密码均正确,可以执行后续内容
                           Console.WriteLine("请输入转入卡卡号");
                           string inCardNo = Console.ReadLine();
                           #region 内层循环,转入卡
                           foreach (Card card1 in cards)
                           {
                               if (card1 != null)
                               {
                                   if (card1.CardNo.Equals(inCardNo)) //转入卡存在
                                   {
                                       type = 1;
                                       //存在,可以提示输入转账金额
                                       Console.WriteLine("请输入转账金额");
                                       int money = Convert.ToInt32(Console.ReadLine());
                                       if (money <= card.Balance) //合法
                                       {
                                           while (money % 100 != 0) //不是面值100的
                                           {
                                               Console.WriteLine("您输入的不合法");
                                               Console.WriteLine("请输入转账金额");
                                               money = Convert.ToInt32(Console.ReadLine());
                                           }
                                           //代码执行到这里,证明转账金额合法
                                           //100元
                                           //改变双方的余额
                                           card.Balance -= money;
                                           card1.Balance += money;
                                           Console.WriteLine("转账成功!");
                                           outCardFlag = true;
                                           Console.WriteLine("转出卡余额{0}\t转入卡余额{1}", card.Balance, card1.Balance);

                                       }
                                       else
                                       {
                                           Console.WriteLine("余额不足,退出");
                                       }
                                       break;

                                   }
                               }

                           }
                           #endregion

                           if (outCardFlag == false&&type==0)
                           {
                               Console.WriteLine("转入卡不存在!");
                           }

                       }
                       else
                       {
                           Console.WriteLine("转出卡密码错误!");
                       }
                       break;
                   }
               }
           }
           //出了循环,如果flag还是false,就证明没有该卡!
           if (flag==false)
           {
               Console.WriteLine("没有该卡");
           }

       }

03.最后使用main方法调用输出:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Bank
{
    class Program
    {
        static void Main(string[] args)
        {
            Bank bank=new Bank();
            bank.InitialData();//保证数组中前3项有值
            bank.PrintCustomerInfo();
            bank.Welcome();
            Console.ReadKey();
        }
    }
}

是不是好难看,我也是这么认为的!初次使用,请多关照!!

时间有限! 到此再见! 后会有期!

时间: 2024-10-13 15:52:20

亲们! 首次见面! 带来不适!多多见谅!--------->>Bank系统的相关文章

【亲测可用】Cobbler自动批量部署Linux系统

Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便,使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP.DNS.TFTP.RSYNC以及yum仓库.构造系统ISO镜像. Cobbler支持命令行管理,web界面管理,还提供了API接口,可以方便二次开发使用. Cobbler客户端Koan支持虚拟机安装和操作系统重新安装,使重装系统更便捷. 环境准备 VMware 12 虚拟机 Centos 7

一个初中生到程序员的辛酸经历

一个初中生到程序员的辛酸经历 转自木板 前言:我将写下一个穷苦家庭的农村孩子的经历.我念书不多,文笔不好,基本上是流水式的叙述,大家多多见谅.如果你现在年轻或迷惘,那你看下这篇文章或许有帮助.如果你想了解社会的底层,也可以看看本文.在这篇文章里我会写一些我对人生的看法,希望可以给各位参考参考. 我今年二十八岁,个子不高,长得还算端正.在学校受的教育不高,就读到初中二年级下学期.   我干过很多行业,学过厨师,学过装修,做过酒店服务员,送过报纸.可以说在在社会底层的经历十分的丰富.后来参加自考拿了

漫谈MySql中的事务

最近一直在做订单类的项目,使用了事务.我们的数据库选用的是MySql,存储引擎选用innoDB,innoDB对事务有着良好的支持.这篇文章我们一起来扒一扒事务相关的知识. 为什么要有事务? 事务广泛的运用于订单系统.银行系统等多种场景.如果有以下一个场景:A用户和B用户是银行的储户.现在A要给B转账500元.那么需要做以下几件事: 1. 检查A的账户余额>500元: 2. A账户扣除500元: 3. B账户增加500元: 正常的流程走下来,A账户扣了500,B账户加了500,皆大欢喜.那如果A账

优秀的JavaScript模块是怎样炼成的

引言:如今的JavaScript已经是Web上最流行的语言,没有之一.从Github上的语言排行榜https://github.com/languages上即可看出,也是如今最为活跃的开源社区.随着Node的加入,JavaScript开枝散叶进入服务器领域,为这个语言榜的占比,也贡献了几分热度.尽管经历了Web2.0的洗礼 ,但在国内谈及开源,开源人士似乎都当这门语言并不存在,这也意味着国内的开发中坚阶层,并没有改变JavaScript以及前端过去二流形象的认识,也没意识到JavaScript如

大海扬波,靠地球自转、潮汐和飓风

忠诚,就忠诚自己的土壤: 追求,就追求自己的理想. --引自友人的诗 这是一曲振奋人心的搏斗之歌.它的主旋律,就是祖国的荣誉高于一切! 人们把体育比喻为一个民族精神的橱窗.那么,就让我们打开中国女排这个小小的窗口,看一看我们中华民族应有的精神风貌吧! 挥动黄手绢唱的歌 公元一千九百七十七年深秋.苍茫的暮色,笼罩着日本的商业都市大阪. 中国女排姑娘们乘坐的大型轿车,顺着五光十色的街道缓缓向前行驶. 多彩的夜景,与中国姑娘们喜悦的心境是相吻合的.今晚,一九七七年世界杯排球赛进入最后一个高潮--发奖.

【MySQL】漫谈MySQL中的事务及其实现

最近一直在做订单类的项目,使用了事务.我们的数据库选用的是MySQL,存储引擎选用innoDB,innoDB对事务有着良好的支持.这篇文章我们一起来扒一扒事务相关的知识. 为什么要有事务? 事务广泛的运用于订单系统.银行系统等多种场景.如果有以下一个场景:A用户和B用户是银行的储户.现在A要给B转账500元.那么需要做以下几件事: 1. 检查A的账户余额>500元: 2. A账户扣除500元: 3. B账户增加500元: 正常的流程走下来,A账户扣了500,B账户加了500,皆大欢喜.那如果A账

做人心理学

1.一见钟情,靠的也是出色的外貌.但凡一个人说“我不喜欢一见钟情式的故事”,多半代表——这位,对自己的外貌不自信. 2.想知道一个人的内心缺少什么,不看别的,就看其炫耀什么:想知道一个人自卑什么,不看别的,就看其掩饰什么. 3.[从网络聊天习惯读懂一个人] 原来喜欢用“……”和“...”的人心底大多比较柔软,没有坏心眼,同时也会反映出他她对待事情的优柔寡断,大部分会有选择恐惧症... 4.[人脉交际8大心理定律]1首因效应:首次见面给人好感觉:2诚信定律:热情是焦点,真诚是最高点:3赞美定律:善

matlab2016b -ubuntu 1604 -install- and -trouble -shooting--finally-all is ok!!

Linux系统下安装matlab2016b 标签: ubuntumatlablinux 2016-09-24 22:11 16203人阅读 评论(22) 收藏 举报 分类: linux 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几日逛知乎,发现MATLAB_2016b已经可以下载,作为交大学生,自然可以从葡萄网站上进行直接下载,因为P2P内网网速绝对杠杠的.对于没有葡萄账号的同学,也可以从以下link进行下载: 链接 http://pan.baidu.com/s/1bpigeHx

[二维码生成和解析][Java]

首先必须的jar包文件:百度云盘下载   Qrcode.jar    Qrcode_Swetake.jar 这两个就是我们的主角 学习之前可以简单了解一下:二维码原理 新建JavaProject    新建lib文件夹 将jar文件复制进去,选中jar文件右键BuildPath -- Add to BuildPath (旁白:这么简单的操作你都还要讲!) 进入正题:   代码如下:    为方面同学理解 注释较多 请理解  如感不适  请见谅  (旁白:废话太多了 我要看代码!) 生成Qrcod