几年前我们用的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}\t账号:{1}",item.CardName,item.CardNum);
                }
            }
            Welcome();
        }
    }

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

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

 

posted @ 2015-10-26 19:31  偷白菜的小兔兔  阅读(274)  评论(2编辑  收藏  举报