首先感谢大家抽出宝贵的时间来看这个Bank系统,这是我最近学的Bank系统,你们看我刚一学完就给你们分享了我的所学以及学习的一些经验,所以大家一定要耐心看下去,真的你会有所收获的,不信你看看.下面话不多说.我们直接切入正题,怎样来做这个Bank系统.还记得我给大家分享的经验吗?做这样的题目需要先理清逻辑思路,然后在来做.

1.这个Bank要实现的功能是:

1.开户2.存款3.取款4.查询余额5.转账6.修改密码7退出

2首先这个Bank系统需要这几个类:

Card类(银卡类)

Bank类(Bank系统中的核心类);

程序的入口类(实质上就是Manin方法)

3 核心类bank类中定义方法:

初始化100张卡的前3张卡信息,给前3张卡的信息赋值方法: EvaluationCard()

输出出三张卡的信息的方法outputCardShow()

欢迎菜单的方法Welcome();

开户的方法CreateAccount()

存款的方法MoneyIn()

取款的方法MoneyOut()

转账的方法TransferMoney()

查询余额的方法SelectMoney()

修改密码的方法ModifyPwd()

退出的方法ExitSystem()

4在Main方法中调用方法.

下面就是代码的部分的,来自五湖四海的朋友们,认真看吧!

Card类

public class Card

    {

        //字段

        private string cardName;//持卡人姓名

        private int cardNumber;//卡账户

        private string cardPwd;//卡密码

        private double cardMoney;//卡余额

        private string idCard;//身份证号

        //属性

        public string IdCard

        {

            get { return idCard; }

            set { idCard = value; }

        }

        public double CardMoney

        {

            get { return cardMoney; }

            set { cardMoney = value; }

        }

        public string CardPwd

        {

            get { return cardPwd; }

            set { cardPwd = value; }

        }

        public int CardNumber

        {

            get { return cardNumber; }

            set { cardNumber = value; }

        }

        public string CardName

        {

            get { return cardName; }

            set { cardName = value; }

        }
}

Bank类(核心类)

public class Bank
    {
        Card[] card = ];//实例化一个数组对象给定一个长度为100;

Bank类中的方法.

初始化100张卡的前3张卡信息,给前3张卡的信息赋值方法: EvaluationCard()

public void EvaluationCard()

        {

            Card card1 = new Card();//实例化一个card1对象

            card1.CardName = "汪苏泷";

            card1.CardMoney = ;

            card1.CardNumber = ;

            card1.CardPwd = ";

            card[] = card1;

            Card card2 = new Card();//实例化一个card2对象

            card2.CardName = "林俊杰";

            card2.CardMoney = ;

            card2.CardNumber = ;

            card2.CardPwd = ";

            card[] = card2;

            Card card3 = new Card();//实例化一个card3对象

            card3.CardName = "王力宏";

            card3.CardMoney = ;

            card3.CardNumber = ;

            card3.CardPwd = ";

            card[] = card3;

        }

打印出三张卡的信息的方法outputCardShow()

public void outputCardShow()

        {

            Console.WriteLine("********************************************");

            foreach (Card item in card)//用foreach循环遍历数组

            {

                if (item != null)//保证数组对象中的值不为null.

                {

                    Console.WriteLine("用户名:{0}\t\t银行账户:{1}", item.CardName, item.CardNumber);

                }

            }

            Console.WriteLine("********************************************");

        }

欢迎菜单的方法Welcome()

public void Welcome()

        {

            //调用打印三张卡信息,在屏幕中显示,后续开户功能会增加更多卡信息

            outputCardShow();

            Console.WriteLine("欢迎进入泪洒星辰ATM自助取款系统");
            Console.WriteLine("功能:1.开户  2.存款 3.取款  4.查询余额 5.转账  6.修改密码  7.退出");
            Console.WriteLine("请选择您要操作的功能模块,亲");
            string result = Console.ReadLine();
            switch (result)//根据对应的数字选择对应的功能模块
            {
                ":
                    //调用开户的方法
            CreateAccount();
                    break;
                ":
                    //调用存款的方法
          MoneyIn();
                    break;
                ":
                    //调用取款的方法
            MoneyOut();
                    break;
                ":
                    //调用查询余额的方法
           SelectMoney();
                    break;
                ":
                    //调用转账的方法
            TransferMoney();
                    break;
                ":
                    //调用修改密码的方法
             ModifyPwd();
                    break;
                ":
                              // 调用退卡的方法
                    ExitSystem();
                    Console.WriteLine("成功退卡!");
                    break;
                default:
                    Console.WriteLine("没有对应的功能模块!");
                    break;
             }
        }

开户的方法CreateAccount()

public void CreateAccount()

        {

            Console.WriteLine("===================");

            Console.WriteLine("这里是开户模块");

            Console.WriteLine("===================");

            Console.WriteLine("请输入省份证号码:");

            string id = Console.ReadLine();

            Random ran = new Random();//实例化一个随机数对象

            //让系统随机产生一个10000000~99999999之间的随机数

            , );

            //向屏幕打印出用户的银行账号

            Console.WriteLine("请牢记您的账户:{0}", RandKey);

            Console.WriteLine("请输入用户名:");

            string name = Console.ReadLine();

            Console.WriteLine("请输入密码:");

            string mima = Console.ReadLine();

            Console.WriteLine("请输入预存余额:");

            double money = double.Parse(Console.ReadLine());

            Card cards = new Card();

            cards.IdCard = id;

            cards.CardName = name;

            cards.CardPwd = mima;

            cards.CardMoney = money;

            cards.CardNumber = RandKey;

            ; i < card.Length; i++)

            {

                if (card[i] == null)

                {

                    card[i] = cards;

                    Console.WriteLine("*******************");

                    Console.WriteLine("恭喜开户成功!");

                    Console.WriteLine("*******************");

                    break;

                }

            }

            Welcome();

        }

存款的方法MoneyIn()

public void MoneyIn()

        {

            Console.WriteLine("===================");

            Console.WriteLine("这里是存款");

            Console.WriteLine("===================");

            Console.WriteLine("请输入账号:");

            int number = int.Parse(Console.ReadLine());

            bool flag = false;//定义一个标记,标记指示卡号默认是不存在

            ; i < card.Length; i++)//用for循环遍历数组

            {

                //如果数组中的值不为null并且输入的账号要和数组中的账号一致才能输入密码.

                if (card[i] != null && number.Equals(card[i].CardNumber))

                {

                    flag = true;//改变标记这里账号已经审核成功

                    Console.WriteLine("请输入密码:");

                    string pwd = Console.ReadLine();

                    if (pwd.Equals(card[i].CardPwd))//如果密码一致,才能进行下一步

                    {

                        Console.WriteLine("{0},您好!登录成功", card[i].CardName);

                        Console.WriteLine("============================");

                        Console.WriteLine("请输入你的存款金额:");

                        Console.WriteLine("============================");

                        double money = double.Parse(Console.ReadLine());

                        //存款金额=存款金额+账户已有余额;

                        card[i].CardMoney = card[i].CardMoney + money;

                        Console.WriteLine("============================");

                        Console.WriteLine("存款成功!目前账户余额为:{0}", card[i].CardMoney);

                        Console.WriteLine("============================");

                        Welcome();//调用欢迎菜单,返回主菜单

                        break;

                    }

                    else

                    {

                        Console.WriteLine("============================");

                        Console.WriteLine("对不起你输入的密码有误!");

                        Console.WriteLine("============================");

                        break;

                    }

                }

            }

            //出了循环证明没有匹配的账号flag的值没被改过判定flag标记是否为false

           if(flag==false)

           {

               Console.WriteLine("============================");

               Console.WriteLine("对不起!没检测到该卡");

               Console.WriteLine("============================");

           }

        }

取款的方法MoneyOut()

public void MoneyOut()

        {

            Console.WriteLine("===================");

            Console.WriteLine("这里是取款");

            Console.WriteLine("===================");

            Console.WriteLine("请输入账号:");

            int number = int.Parse(Console.ReadLine());

            bool flag = false;

            ; i < card.Length; i++)

            {

                if (card[i] != null && number.Equals(card[i].CardNumber))

                {

                    flag = true;

                    Console.WriteLine("请输入密码:");

                    string pwd = Console.ReadLine();

                    if (pwd.Equals(card[i].CardPwd))

                    {

                        Console.WriteLine("{0},您好!登录成功", card[i].CardName);

                        Console.WriteLine("请输入你的取款金额:");

                        double money = double.Parse(Console.ReadLine());

                        if (money > card[i].CardMoney)

                        {

                            Console.WriteLine("============================");

                            Console.WriteLine("对不起!你的余额不足本次取款");

                            Console.WriteLine("============================");

                        }

                        else

                        {

                            //如果输入的取款数不是100的整数倍那么输入的金额就会不合法,知道输入合法才可退出

                             != )

                            {

                                Console.WriteLine("您输入的不合法");

                                Console.WriteLine("请输入取款金额");

                                money = Convert.ToInt32(Console.ReadLine());

                            }

                            //代码执行到这里,证明转账金额合法

                            card[i].CardMoney = card[i].CardMoney - money;

                            Console.WriteLine("============================");

                            Console.WriteLine("取款成功!目前账户余额为:{0}", card[i].CardMoney);

                            Console.WriteLine("============================");

                            Welcome();//调用欢迎菜单,返回主菜单

                            break;

                        }

                    }

                    else

                    {

                        Console.WriteLine("============================");

                        Console.WriteLine("对不起你输入的密码有误!");

                        Console.WriteLine("============================");

                        break;

                    }

                }

            }

            if (flag == false)

            {

                Console.WriteLine("对不起!没检测到该卡");

            }

        }

转账的方法”难点”(这块可能要花大量时间理解if结构嵌套关系太多)TransferMoney()

public void TransferMoney()

        {

            Console.WriteLine("============================");

            Console.WriteLine("这里是转账");

            Console.WriteLine("============================");

            Console.WriteLine("请输入转出卡卡号");

            int outnum = int.Parse(Console.ReadLine());

            bool flag = false;//默认转出卡不存在

            bool outCardFlag = false;//默认转入卡不存在

            ;

            foreach (Card card1 in card)

            {

                if (card1!= null)

                {

                    if (card1.CardNumber.Equals(outnum))

                    {

                        flag = true;

                        Console.WriteLine("请输入转出卡密码");

                        string outpwd = Console.ReadLine();

                        if (card1.CardPwd.Equals(outpwd)) //判断密码是否一致

                        {

                            //用户名 密码均正确,可以执行后续内容

                            Console.WriteLine("请输入转入卡卡号");

                            int intnum = int.Parse(Console.ReadLine());

                            foreach (Card card2 in card)

                            {

                                if (card2 != null)

                                {

                                    if (card2.CardNumber.Equals(intnum)) //判断转入卡是否存在

                                    {

                                        type = ;

                                        //存在,可以提示输入转账金额                            

                                        Console.WriteLine("请输入转账金额");

                                        int money = Convert.ToInt32(Console.ReadLine());

                                        if (money <= card1.CardMoney) //合法

                                        {

                                             != ) //不是面值100的

                                            {

                                                Console.WriteLine("============================");

                                                Console.WriteLine("您输入的不合法");

                                                Console.WriteLine("请输入转账金额");

                                                Console.WriteLine("============================");

                                                money = Convert.ToInt32(Console.ReadLine());

                                            }

                                            //代码执行到这里,证明转账金额合法

                                            //改变双方的余额

                                            card1.CardMoney -= money;

                                            card2.CardMoney += money;

                                            Console.WriteLine("转账成功!");

                                            outCardFlag = true;

                                            Console.WriteLine("============================");

                                            Console.WriteLine("转出卡余额{0}\t转入卡余额{1}", card1.CardMoney, card2.CardMoney);

                                            Console.WriteLine("============================");

                                            Welcome();//调用欢迎菜单,返回主菜单

                                        }

                                        else

                                        {

                                            Console.WriteLine("============================");

                                            Console.WriteLine("余额不足!");

                                            Console.WriteLine("============================");

                                        }

                                        break;

                                    }

                                }

                            }

                            )

                            {

                                Console.WriteLine("============================");

                                Console.WriteLine("转入卡不存在!");

                                Console.WriteLine("============================");

                            }

                        }

                        else

                        {

                            Console.WriteLine("============================");

                            Console.WriteLine("转出卡密码错误!");

                            Console.WriteLine("============================");

                        }

                        break;

                    }

                }

            }

            //出了循环,如果flag还是false,就证明没有该卡!

            if (flag == false)

            {

                Console.WriteLine("============================");

                Console.WriteLine("没有该卡");

                Console.WriteLine("============================");

            }

        }

查询余额的方法SelectMoney()

public void SelectMoney()

        {

            Console.WriteLine("===================");

            Console.WriteLine("这里是查询余额");

            Console.WriteLine("===================");

            Console.WriteLine("请输入账号:");

            int number = int.Parse(Console.ReadLine());

            bool flag = false;

            ; i < card.Length; i++)

            {

                if (card[i] != null && number.Equals(card[i].CardNumber))

                {

                    flag = true;

                    Console.WriteLine("请输入密码:");

                    string pwd = Console.ReadLine();

                    if (pwd.Equals(card[i].CardPwd))

                    {

                        Console.WriteLine("{0},您好!登录成功", card[i].CardName);

                        Console.WriteLine("============================");

                        Console.WriteLine("目前账户余额为:{0}", card[i].CardMoney);

                        Console.WriteLine("============================");

                        Welcome();//调用欢迎菜单,返回主菜单

                        break;

                    }

                    else

                    {

                        Console.WriteLine("============================");

                        Console.WriteLine("对不起你输入的密码有误!");

                        Console.WriteLine("============================");

                        break;

                    }

                }

            }

            if (flag == false)

            {

                Console.WriteLine("============================");

                Console.WriteLine("对不起!没检测到该卡");

                Console.WriteLine("============================");

            }

        }

修改密码的方法ModifyPwd()

public void ModifyPwd()

        {

            Console.WriteLine("===================");

            Console.WriteLine("这里是修改密码");

            Console.WriteLine("===================");

            Console.WriteLine("请输入账号:");

            int number = int.Parse(Console.ReadLine());

            bool flag = false;

            ; i < card.Length; i++)

            {

                if (card[i] != null && number.Equals(card[i].CardNumber))

                {

                    flag = true;

                    Console.WriteLine("请输入密码:");

                    string pwd = Console.ReadLine();

                    if (pwd.Equals(card[i].CardPwd))

                    {

                        Console.WriteLine("{0},您好!登录成功", card[i].CardName);

                        Console.WriteLine("请输入你的新密码:");

                        string newpwd = Console.ReadLine();

                        Console.WriteLine("请确认你的密码:");

                        string newpwdone = Console.ReadLine();

                        if (newpwdone.Equals(newpwd))//判断两次输入的密码是否一致

                        {

                            //代码执行到这说明密码已经一致

                            card[i].CardPwd = newpwdone;

                            Console.WriteLine("============================");

                            Console.WriteLine("修改密码成功!修改后的密码为{0};请牢记密码.", card[i].CardPwd);

                            Console.WriteLine("============================");

                            Welcome();//调用欢迎菜单,返回主菜单

                        }

                        else

                        {

                            Console.WriteLine("============================");

                            Console.WriteLine("对不起!前后密码不一致!未能更改密码:");

                            Console.WriteLine("============================");

                        }

                        break;

                    }

                    else

                    {

                        Console.WriteLine("============================");

                        Console.WriteLine("对不起你输入的密码有误!");

                        Console.WriteLine("============================");

                        break;

                    }

                }

            }

            if (flag == false)

            {

                Console.WriteLine("============================");

                Console.WriteLine("对不起!没检测到该卡");

                Console.WriteLine("============================");

            }

        }

退出的方法ExitSystem()

public void ExitSystem()

        {

            Console.WriteLine("============================");

            Console.WriteLine("谢谢您的使用!");

            Console.WriteLine("============================");

        }

最后在程序的入口类(Main方法)中调用

static void Main(string[] args)

        {

            Bank bank = new Bank();//创建bank对象

            bank. EvaluationCard();//调用EvaluationCard()方法.保证前三项有值

            bank.Welcome();//调用欢迎菜单的方法,上面代码中功能模块的方法已经在case块中调用

            Console.ReadLine();

        }

到这终于结束了,希望对刚入门的一些人士有帮助,也在此感谢大家能够看完,感觉写的还可以的支持一下,如若有其他的一些问题,请发送到

我的邮箱:18813091329@163.com.

QQ:2991635691

我们为之奋斗过的C#-----Bank系统的更多相关文章

  1. 神奇的Bank系统之旅哦

        奋斗不能等待,我们不能等到垂暮之年再去“全力以赴”.让我们从现在开始,为理想而努力,为人生而拼搏.精诚所至,金石为开,相信奋斗会让我们的青春之花绽放得更加绚烂,让我们的人生之路走下来不留遗憾. ...

  2. 论那些年我们讨论过的Bank系统!

    今天呢我就和大家分享一下怎样用对象数组的形式来实现一个简单的银行系统, 首先呢,跟大家介绍一下这个简单的银行操作系统要实现的一些主要的功能: 主要功能有 : 1.开户功能 2.存款 3.取款 4.转账 ...

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

    亲们!您们好! 讲一下Bank系统的做法: 01.首先创建一个Card类 using System; using System.Collections.Generic; using System.Li ...

  4. 搞死人不偿命的 Bank系统

    每一个成功者都有一个开始.勇于开始,才能够找到通往成功的路. 最近C#进行到第三章:升级Mybank,发现这是一个我个人觉得比较难搞的一个东西,一下是我对Bank系统难点的叙述,请大神笔下留情~ 1. ...

  5. 银行bank系统项目实践

    想看项目的注意了!完整版银行管理系统就在这里看不看你看着办! 按照惯例咱们还是先来看一下项目需求: 某银行为了提高业务率希望开发一个银行管理系统功能如下: 1.能够完成用户开户操作 2.能够完成用户取 ...

  6. 我们为之奋斗过的C#之---简单的库存管理系统

    今天非常开心,因为今天终于要给大家分享一个库存管理项目了. 我个人感觉在做项目之前一定先要把逻辑思路理清,不要拿到项目就噼里啪啦的一直敲下去这样是一不好的习惯,等你做大项目的时候,你就不会去养成一种做 ...

  7. 浅谈为之奋斗过的Set接口

    Set接口 Set接口存储一组唯一,无序的对象 HashSet 是Set接口常用的实现类 HashSet允许集合元素值为null 操作数据的方法与List类似 Set接口不存在get()方法 set ...

  8. 我们为之奋斗过的C#-----C#的一个简单理解

    我们首先来简单叙述一下什么是.NET,以及C#的一个简单理解和他们俩的一个区别. 1 .NET概述 .NET是Microsoft.NET的简称,是基于Windows平台的一种技术.它包含了能在.NET ...

  9. 构建嵌入式小型Linux系统

    构建嵌入式小型Linux系统 摘要:用buildroot构建x86的交叉编译工具链:裁减linux内核,尽可能做到最小:手工构建根文件系统:安装qemu虚拟机,仿真新配置的Linux系统:为新配置的L ...

随机推荐

  1. Android Studio配置Git及Git文件状态说明

    Android Studio配置Git还是比较简单的,麻烦的是可能中间出现各种问题.如果你想了解或感兴趣,请往下看. 首先你得下载Git客户端,网址:http://git-scm.com/downlo ...

  2. C++实现反射机制

    NET下的很多技术都是基于反射机制来实现的,反射让.NET平台下的语言变得得心应手.最简单的,比如枚举类型,我们我可以很容易的获得一个枚举变量的数值以及其名称字符串. 可是,在C++中,枚举变量本质上 ...

  3. Java学习笔记(二一)——Java 泛型

    [前面的话] 最近脸好干,掉皮,需要买点化妆品了. Java泛型好好学习一下. [定义] 一.泛型的定义主要有以下两种: 在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个 ...

  4. jdbc基础 (二) 通过properties配置文件连接数据库

    csdn博文地址:jdbc基础 (二) 通过properties配置文件连接数据库 上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接 ...

  5. 项目笔记---C#异步Socket示例

    概要 在C#领域或者说.net通信领域中有着众多的解决方案,WCF,HttpRequest,WebAPI,Remoting,socket等技术.这些技术都有着自己擅长的领域,或者被合并或者仍然应用于某 ...

  6. C头文件之<stdio.h>

    (stdio.h) 该头文件主要是执行输入输出操作.文件中重要的概念是“流”(streams).“流”在函数库中用FILE表示,用指针类型FILE *来操作.有三个标准流:stdin, stdout, ...

  7. iOS开发中的错误整理,线程之间通信练习,加载图片的练习中出现的错误 -- Http请求错误

    控制台打印:Application Transport Security has blocked a cleartext HTTP (http://) resource load since it i ...

  8. OC基础--OC内存管理原则和简单实例

    ARC: 由于自己的学习视频太早,Xcode是iOS6版本,新建命令行项目后,系统会默认启动ARC机制,全程Automatic Reference Counting,简单的说,就是代码中自动加入了re ...

  9. jQuery插件开发模式

    jQuery插件开发模式 软件开发过程中是需要一定的设计模式来指导开发的,有了模式,我们就能更好地组织我们的代码,并且从这些前人总结出来的模式中学到很多好的实践. 根据<jQuery高级编程&g ...

  10. Penetration Testing、Security Testing、Automation Testing

    相关学习资料 http://www.cnblogs.com/LittleHann/p/3823513.html http://www.cnblogs.com/LittleHann/p/3828927. ...