zoukankan      html  css  js  c++  java
  • 几年前我们用的Bank系统

    大家知道我们以前古老的Bank系统到底有多少漏洞吗?当然是由我和大家介绍一下!!

    从学习Java到C#我陆陆续续的学习了这两种语言的一点小知识!和大家分享一下!当然上面的都是为了吸引小伙伴的!下面接入正题!请大神们多多手下留情

    一般的Bank系统由:开户存款取款查询转账修改密码这几部分组成!

    首先大家先把要写的代码的提纲打出来,这样就会有目标的一步一步的填充,和解决困难!

     1   public void Welcome()
     2        {
     3            Console.WriteLine("欢迎进入微冷的雨ATM系统,亲");
     4            Console.WriteLine("功能:1.开户  2.存款 3.取款  4.查询余额 5.转账  6.修改密码  7.退出");
     5            Console.WriteLine("请选择您要操作的功能模块,亲");
     6            string choice = Console.ReadLine();
     7            switch (choice)
     8            {
     9                case "1":
    10                    //开户
    11                    CreateAccount();
    12                    break;
    13                case "2":
    14                    //存款
    15                    MoneyIn();
    16                    break;
    17                case "3":
    18                    //取款
    19                    MoneyOut();
    20                    break;
    21                case "4":
    22                    //查询余额
    23                    SelectMoney();
    24                    break;
    25                case "5":
    26                    //转账
    27                    TransferMoney();
    28                    break;
    29                case "6":
    30                    //修改密码
    31                    ModifyPwd();
    32                    break;
    33                case "7":
    34                    Console.WriteLine("成功退卡!");
    35                    break;
    36                    
    37 
    38            }
    39        

    然后当然就是该一步步的填充!当然一般我们储存数据一般都是用数组!而要储存的内容有 :1.用户名 2.帐号 3.密码 4.余额

    所以要开出4个数组,每个数组都给适当的空间,而我那么大方的人,所以我每个数组给的空间都是100。

    class Card
        {
            private int cardNum; //卡号
            private string cardName; //持卡人
            private int password;    //密码
            private double money;    //余额
    
            public double Money
            {
                get { return money; }
                set { money = value; }
            }
            public int Password
            {
                get { return password; }
                set { password = value; }
            }
          
            public string CardName
            {
                get { return cardName; }
                set { cardName = value; }
            }
           
            public int CardNum
            {
                get { return cardNum; }
                set { cardNum = value; }
            }
            
        }

    并且初始化了3个用户

     class Bank
        {
            Card[] card=new Card[100];  //定义卡的对象数组
    
            //给前三张卡初始化
            public void InitialData()
            {
                Card card1 = new Card();  //创建卡的第一个对象
                card1.CardName = "张三";
                card1.CardNum = 1234;
                card1.Password = 1234;
                card1.Money = 1000;
                card[0] = card1;    //将第一个卡的对象中的元素存储到数组中去.
    
    
                Card card2 = new Card();  //创建卡的第二个对象
                card2.CardName = "李四";
                card2.CardNum = 12345;
                card2.Password = 12345;
                card2.Money = 9850;
                card[1] = card2;    //将第二个卡的对象中的元素存储到数组中去.
    
    
                Card card3 = new Card();  //创建卡的第三个对象
                card3.CardName = "王五";
                card3.CardNum = 123456;
                card3.Password = 123456;
                card3.Money = 10000;
                card[2] = card3;    //将第三个卡的对象中的元素存储到数组中去.
    
            }

    初步做完后就是开始写方法了,这些方法我就不一一介绍了,我就单独给大家说说转账这一方面的难题吧!

      public void ChangeMoney()
            {
                Console.WriteLine("请输入卡号");
                int cardNo = int.Parse(Console.ReadLine());
                Console.WriteLine("请输入密码");
                int cardPwd = int.Parse(Console.ReadLine());
                for (int i = 0; i < card.Length; i++)
                {
                    if (card[i] == null)
                    {
                        Console.WriteLine("输入相关卡的信息错误!");
                        break;
                    }
                    else if (cardNo == card[i].CardNum && cardPwd == card[i].Password)  //判断账户和密码是否正确
                    {
                        Console.WriteLine("请输入对方卡号:");
                        int cardNb = int.Parse(Console.ReadLine());
                        for (int j = 0; j < card.Length; j++)
                        {
                            if (card[j] == null)
                            {
                                Console.WriteLine("输入信息错误!!");
                                break;
                            }
                            else if (cardNb == card[j].CardNum) //判断是否存在该转账人信息
                            {
                                Console.WriteLine("请输入转账金额:");
                                double changeMoney = double.Parse(Console.ReadLine());
                                if (changeMoney > card[i].Money)    //判读余额是否足够转账
                                {
                                    Console.WriteLine("操作失败!!您的余额不足!");
                                    break;
                                }
                                else
                                {
                                    card[i].Money -= changeMoney;   //转账人扣除相应的金额
                                    card[j].Money += changeMoney;   //接收人增加相应金额
                                    Console.WriteLine("转账成功!!!");
                                    break;
                                }
                            }
                        }
                        break;
                    }
                }
                Welcome();
            }
    
    
    
    
            //展示用户信息功能
            public void show()
            {
                foreach (Card item in card)    //foreach循环输出对象数组中的对象值
                {
                    if (item!= null)
                    {
                        Console.WriteLine("用户名:{0}	账号:{1}",item.CardName,item.CardNum);
                    }
                }
                Welcome();
            }
        }

    转账功能最主要的就是判断用户输入的帐号密码,是否存在和正确,还有就是判断转账的余额是否满足转账!所以这些都需要大家紧密的思维和运用if嵌套结构的用法啦!

    剩下的就不多多介绍了!我这人就是有些懒!不知道写的符不符合大家的胃口!希望能对大家有帮助!也谢谢你们抽出宝贵的时间来看!!!!

  • 相关阅读:
    弹窗
    [转]JNI字段描述符“([Ljava/lang/String;)V”
    [转]JNIEnv解析
    [转]"error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
    [转]Linux下如何查看版本信息
    [转]apt-get 与 yum的区别 (转)
    我的tesseract学习记录(二)
    [转]pkg-config的用法
    [转]linux 创建连接命令 ln -s 软链接
    如何写makefile
  • 原文地址:https://www.cnblogs.com/csdwan/p/4912146.html
Copyright © 2011-2022 走看看