MyBank

namespace MyBank
{
    class User
    {
        private string name;               //姓名
        public string Name
        {
        get { return name; }
        set { name = value; }
        }

        private string password;           //密码
        public string Password
        {
           get { return password; }
           set { password = value; }
        }

        private string id;                 //身份证号
        public string Id
        {
           get { return id; }
           set { id = value; }
        }

        private double balance;            //存款余额
        public double Balance
        {
            get { return balance; }
            set { balance = value; }
        }

        private string account;            //账号
           public string Account
          {
          get { return account; }
         set { account = value; }
        }


        public double MinusMoney(double money)                         //取款
        {
            if (money > 0)
            {
                if (balance >= money)
                {
                    balance -= money;
                    return balance;
                }
                else
                {
                    return -1;
                }
            }
            else
            {
                return -1;
            }
        }

        public double SaveMoney(double money)                          //存款
        {
            if (money>0)
            {
                balance += money;
                return balance;
            }
            else
            {
                return -1;
            }
        }
    }
}


 

 

 

 

 

namespace MyBank
{
    class Bank
    {
        User user = new User();
        const string MESSAGE = "操作成功!";



        User[] userGroup = new User[3];
        public void Initial()
        {
            //初始化第一个对象
            userGroup[0] = new User();
            userGroup[0].Account = "1";
            userGroup[0].Name = "王丽丽";
            userGroup[0].Password = "1234";
            userGroup[0].Id = "111111";
            userGroup[0].Balance = 1000;
            //初始化第二个对象
            userGroup[1] = new User();
            userGroup[1].Account = "2";
            userGroup[1].Name = "张颖颖";
            userGroup[1].Password = "4321";
            userGroup[1].Id = "222222";
            userGroup[1].Balance = 2000;
            //初始化第三个对象
            userGroup[2] = new User();
            userGroup[2].Account = "3";
            userGroup[2].Name = "刘华";
            userGroup[2].Password = "4567";
            userGroup[2].Id = "333333";
            userGroup[2].Balance = 8000;
        }

        



        public void CreateAccount()                    //开户
        {

            Console.WriteLine("请输入用户名:");
            user.Name = Console.ReadLine();
            user.Account = "179708064356";
            Console.WriteLine("请输入用户密码:");
            user.Password = Console.ReadLine();
            Console.WriteLine("请输入用户身份证号:");
            user.Id = Console.ReadLine();
            Console.WriteLine("请输入用户存款金额:");
            user.Balance = double.Parse(Console.ReadLine());

            Console.WriteLine("账户{0},用户名:{1},存款金额:{2} 创建成功!",user.Account,user.Name,user.Balance);
        }

        public void WithDraw()                         //取款
        {
            string account = "";                        //账号
            string pwd;                                 //密码
            Console.WriteLine("请输入账号:");
            account = Console.ReadLine();
            if (account.Length == 0)
            {
                Console.WriteLine("输入的账号不正确!");
                return;
            }

            Console.WriteLine("请输入账户密码:");
            pwd = Console.ReadLine();
            if (user.Password != pwd)
            {
                Console.WriteLine("密码有误!");
                return;
            }
            Console.WriteLine("请输入取款金额");
            double money = double.Parse(Console.ReadLine());

            double result = user.MinusMoney(money);
            if (result == -1)
            {
                Console.WriteLine("取款失败");
            }
            else
            {
                Console.WriteLine("取款成功!当前余额:"+result);
            }
        }


        public void ShowCustomMenu()                 //菜单
        {
            string option = "";
            do
            {
                Console.WriteLine("==================欢迎使用自动银行服务==================");
                Console.WriteLine("1:开户 2:存款 3:取款 4:转账 5:查询余额 6:修改密码 0:退出");
                Console.WriteLine("========================================================");
                option = Console.ReadLine();
                switch (option)
                {
                    case "1":                         //开户
                        CreateAccount();
                        continue;
                    case "2":                         //存款
                        Deposit();
                        continue;
                    case "3":                         //取款
                        WithDraw();
                        continue;
                    case "4":                         //转账
                        InputTransferData();
                        continue;
                    case "5":                         //查询余额
                        ShowUser();
                        continue;
                    case "6":                         //修改密码
                        ModifyPwd();
                        continue;
                    case "0":                         //退出
                        break;
                    default:
                        Console.WriteLine("输入无效");
                        continue;
                }
                break;
            } while (true);
        }





        public void Deposit()                                                 //存款
        {
            string account = "";
            double money = 0;
            Console.WriteLine("请输入账号:");
            account=Console.ReadLine();
            if ((user=CheckUserByAccount(account))==null)
            {
                Console.WriteLine("您输入的账号不存在!");
            }

            Console.WriteLine("请输入存款金额:");
            money=double.Parse(Console.ReadLine());
            if (user.SaveMoney(money) > 0)
            {
                Console.WriteLine(MESSAGE+"当前余额:"+user.Balance);
            }
            else
            {
                Console.WriteLine("存款失败!");
            }
        }

        private User CheckUserByAccount(string account)                            //判断用户是否存在
        {
            foreach (User user in userGroup)
            {
                if (user.Account == account)
                {
                    return user;
                }
            }
            return null;
        }


        private User CheckUser(string account, string pwd)                         //根据账号密码判定用户是否存在
        {
            foreach (User user in userGroup)
            {
                if (user.Account == account && user.Password == pwd)
                {
                    return user;
                }
            }
            return null;
        }



        public void InputTransferData()                                 //转账
        {
            Console.WriteLine("请输入转出账号:");
            string fromAccount = Console.ReadLine();
            Console.WriteLine("请输入转出账户密码:");
            string fromPwd = Console.ReadLine();
            Console.WriteLine("请输入转入账号:");
            string toAccount = Console.ReadLine();
            Console.WriteLine("请输入转账金额:");
            double money = double.Parse(Console.ReadLine());
            double fbalance = 0, tbalance = 0;

            int iRet = Transfer(fromAccount, fromPwd, toAccount, money, ref fbalance, ref tbalance);
            if (iRet == 1)
            {
                Console.WriteLine("转账成功,转出账号{0}的余额为:{1},转入账号{2}的余额位:{3}",fromAccount,fbalance,toAccount,tbalance);
            }
            else if(iRet==-1)
            {
                Console.WriteLine("转出账户的账号或密码输入错误!");
            }
            else if (iRet==-2)
            {
                Console.WriteLine("转入账号不正确!");
            }
            else if (iRet==-3)
            {
                Console.WriteLine("转账操作失败!");
            }
        }


        ///<param name="fAccount">转出账号</param>
        ///<param name="fPwd">转出账户密码</param>
        ///<param name="tAccount">转入账号</param>
        ///<param name="money">转账金额</param>
        ///<param name="fBalance">转出账户存款余额</param>
        ///<param name="tBalance">转入账户存款余额</param>
        ///<returns>1:转账成功;-1:转出账号或密码不正确;
        ///-2:转入账号不正确;-3转账失败</returns>
        private int Transfer(string fAccount, string fPwd, string tAccount, double money, ref double fBalance, ref double tBalance)
        {
            //检查转出账号和密码
            User userfrom = CheckUser(fAccount, fPwd);
            if (userfrom==null)
            {
                return -1;                                     //转出账号或密码不正确
            }
            //检查转入账号
            User userTo = CheckUserByAccount(tAccount);
            if (userTo==null)
            {
                return -2;                                    //转入账号不正确
            }
            //取款
            if (userfrom.MinusMoney(money) == -1)
            {
                return -3;                                    //转账操作失败
            }
            //取得余额
            fBalance = userfrom.Balance;
            //存款
            if (userTo.SaveMoney(money)==-1)
            {
                return -3;                                    //转账操作失败
            }
            tBalance = userTo.Balance;

            return 1;
        }



        public void ShowUser()
        {
            string account = "";
            string pwd = "";
            Console.WriteLine("请输入账号:");
            account = Console.ReadLine();
            Console.WriteLine("请输入密码:");
            pwd = Console.ReadLine();

            if ((user = CheckUserByAccount(account)) == null)
            {
                Console.WriteLine("当前账号不存在!");
            }
            else
            {
                if ((user=CheckUser(account,pwd))==null)
                {
                    Console.WriteLine("输入密码不正确:");
                }
                else
                {
                    Console.WriteLine("账户的余额是:"+String.Format("{0:F2}",user.Balance));
                }
            }
        }




        public void ModifyPwd()                    //修改密码
        {
            string accountName = "";
            string password = "";
            Console.WriteLine("请输入账号:");
            accountName = Console.ReadLine();
            Console.WriteLine("请输入原密码:");
            password = Console.ReadLine();

            string newPwd1, newPwd2;
            Console.WriteLine("请输入新密码:");
            newPwd1 = Console.ReadLine();
            Console.WriteLine("请再次输入新密码:");
            newPwd2 = Console.ReadLine();

            if (CheckPwd(accountName,password,newPwd1,newPwd2)==true)
            {
                Console.WriteLine("账户密码修改成功!");
            }
            else
            {
                Console.WriteLine("账户密码修改失败!");
            }
        }

        public bool CheckPwd(string accountName, string password, string newPwd1, string newPwd2)
        {
            User user = CheckUser(accountName, password);
            if (user==null)
            {
                Console.WriteLine("当前账号不存在");
                return false;
            }

            if (newPwd1!=newPwd2)
            {
                Console.WriteLine("两次输入的账户密码不一致!");
                return false;
            }
            else
            {
                user.Password = newPwd1;
                return true;
            }
        }
    }
}


 

 

 

 

 

 

 

 

namespace MyBank
{
    class Program
    {
        static void Main(string[] args)
        {
            Bank bank = new Bank();
            //bank.CreateAccount();
            bank.Initial();
            bank.ShowCustomMenu();
            Console.ReadLine();
        }
    }
}


 

资源下载链接为: https://pan.quark.cn/s/1bfadf00ae14 华为移动服务(Huawei Mobile Services,简称 HMS)是一个全面开放的移动服务生态系统,为企业和开发者提供了丰富的工具和 API,助力他们构建、运营和推广应用。其中,HMS Scankit 是华为推出的一款扫描服务 SDK,支持快速集成到安卓应用中,能够提供高效且稳定的二维码和条形码扫描功能,适用于商品扫码、支付验证、信息获取等多种场景。 集成 HMS Scankit SDK 主要包括以下步骤:首先,在项目的 build.gradle 文件中添加 HMS Core 库和 Scankit 依赖;其次,在 AndroidManifest.xml 文件中添加相机访问和互联网访问权限;然后,在应用程序的 onCreate 方法中调用 HmsClient 进行初始化;接着,可以选择自定义扫描界面或使用 Scankit 提供的默认扫描界面;最后,实现 ScanCallback 接口以处理扫描成功和失败的回调。 HMS Scankit 内部集成了开源的 Zxing(Zebra Crossing)库,这是一个功能强大的条码和二维码处理库,提供了解码、生成、解析等多种功能,既可以单独使用,也可以与其他扫描框架结合使用。在 HMS Scankit 中,Zxing 经过优化,以更好地适应华为设备,从而提升扫描性能。 通常,ScanKitDemoGuide 包含了集成 HMS Scankit 的示例代码,涵盖扫描界面的布局、扫描操作的启动和停止以及扫描结果的处理等内容。开发者可以参考这些代码,快速掌握在自己的应用中实现扫码功能的方法。例如,启动扫描的方法如下: 处理扫描结果的回调如下: HMS Scankit 支持所有安卓手机,但在华为设备上能够提供最佳性能和体验,因为它针对华为硬件进行了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值