• 亲们! 首次见面! 带来不适!多多见谅!--------->>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}	转入卡余额{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();
            }
        }
    }
  • 相关阅读:
    MYSQL分库分表
    MYSQL主从数据库
    mysql not in用法
    python 文件及目录操作
    python 读写文件
    python字符编码
    python类的继承、封装和多态
    python之定义类创建实例
    理解OSI参考模型
    python闭包与装饰器
  • 原文地址:https://www.cnblogs.com/zhangzongle/p/4908845.html
Copyright © 2020-2023  润新知