C#多种类的调用(模拟银行管理系统)(存在bug)

前言:

大家一起学习进步,提出改进意见

代码实现:

using System;
using System.Reflection;namespace FIfthtest_banksystem
{public class Program{static void Main(string[] args){Account[] accounts = new Account[3];{new Account { ClientAccount = "101", Name = "张麻子", ClientType = "vip", Password = "123", Money = 1000 };new Account { ClientAccount = "102", Name = "张帽子", ClientType = "normal", Password = "123", Money = 100 };new Account { ClientAccount = "103", Name = "张牧之", ClientType = "normal", Password = "123", Money = 10 };}bool flags = true;while (flags){Console.WriteLine("请选择你的操作1.开户 2.销户 3.查找账户 4账户管理 5.退出");int choice = int.Parse(Console.ReadLine());Bank bank = new Bank();switch (choice){case 1:bank.SetAccount();break;case 2:bank.DeleteCilent(accounts);break;case 3:bank.FindClient(accounts);break;case 4:ATMPopAndPush atmPopAndPush = new ATMPopAndPush();Console.WriteLine("请输入你的账号密码");string acc= Console.ReadLine();string pawd=Console.ReadLine();atmPopAndPush.IsMatch(accounts, acc, pawd);Console.WriteLine("请选择你的操作1.存钱 2.取钱 3.退出");int choiceinner = int.Parse(Console.ReadLine());Console.WriteLine("请输入屏幕提示的序号");int index=int.Parse(Console.ReadLine());switch (choiceinner){case 1:Console.WriteLine("请输入打算存入的金额");float mon=int.Parse(Console.ReadLine());atmPopAndPush.SaveMoney(accounts[index].Money,mon);break;case 2:Console.WriteLine("请输入打算取出的金额");float demon = int.Parse(Console.ReadLine());atmPopAndPush.UpdateMoney(accounts[index].Money,demon);break;case 3:flags = false;break;default:Console.WriteLine("暂无此选项!");break;}break;case 5:flags = false;break;default:Console.WriteLine("暂无此选项!");break;}}}}
}
//账号类
public class Account
{private string name;private string password;private float money;private string clientType;private string clientaccount;public string Name{ get { return name; } set { name = value; } }public string Password{ get { return password; } set { password = value; } }public float Money{ get { return money; } set { money = value; } }public string ClientType{ get { return clientType; } set { clientType = value; } }public string ClientAccount{ get { return clientaccount; } set { clientaccount = value; } }}
//银行类 开户,销户,查找账户
public class Bank
{public void SetAccount(){Console.WriteLine("Please input account,name,clienttype,password and money one by one!");string account = Console.ReadLine();string name = Console.ReadLine();string clientType = string.Empty;int password = int.Parse(Console.ReadLine());int money = int.Parse(Console.ReadLine());Console.WriteLine("choose index of normal or vip.");Console.WriteLine("11.normal    2.vip");int type = int.Parse(Console.ReadLine());switch (type){case 1:clientType = "normal";Console.WriteLine("you choose noraml");break;case 2:clientType = "vip";Console.WriteLine("you choose noraml");break;default:Console.WriteLine("watch the request carefully!");break;}}public void FindClient(Account[] account){Console.WriteLine("please input client's account");string sbaccount = Console.ReadLine();for (int i = 0; i <= account.Length; i++){if (account[i].ClientAccount == sbaccount){ Console.WriteLine("Finded!"); }else { Console.WriteLine("NO ONE!"); }}}public void DeleteCilent(Account[] account){Console.WriteLine("input the client's account you wanna delete!");int accountnum = int.Parse(Console.ReadLine());account[accountnum].ClientAccount = "已销户";account[accountnum].Name = "已销户";account[accountnum].ClientType = "已销户";account[accountnum].Money = 0;account[accountnum].Password = "已销户";}
}
//存款,取款,查账public class ATMPopAndPush
{public bool IsMatch(Account[] account, string clientaccount, string password){for (int i = 0; i < 3; i++){if (account[i].ClientAccount == clientaccount && account[i].Password == password){Console.WriteLine("你的序号是{0}", int.Parse(clientaccount)-1001);return true;}else{return false;Console.WriteLine("This card has banned.Please call us for helping!");}}return true;}public double SaveMoney(float money, float savedMoney){Console.WriteLine("余额:{0}", money + savedMoney);return money + savedMoney;}public double UpdateMoney(float money, float delMoney){Console.WriteLine("余额:{0}", money - delMoney);return money - delMoney;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/172642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能_机器学习051_支持向量机SVM概念介绍_理解support vector machine---人工智能工作笔记0091

在出现深度学习,神经网络算法之前,支持向量机已经可以解决很多问题了,我们自然界中的问题,无非就是可以转换为回归问题和分类问题. 然后从现在开始我们来看支持向量机,首先看一下这几个字 support 是支持 vector是向量的意思,然后 machine指的是机器 那么我们之前用到的模型…

常见树种(贵州省):021冬青、连香树、白辛树、香合欢、云贵鹅耳枥、肥牛树、杜英、格木、黄连木、圆果化香树、南天竹

摘要&#xff1a;本专栏树种介绍图片来源于PPBC中国植物图像库&#xff08;下附网址&#xff09;&#xff0c;本文整理仅做交流学习使用&#xff0c;同时便于查找&#xff0c;如有侵权请联系删除。 图片网址&#xff1a;PPBC中国植物图像库——最大的植物分类图片库 一、冬青 …

AIGC ChatGPT 4 快速整理不规则数据

从业务系统中采集到的数据如下: 序号 省份 英文 2022年销售额 2021年销售额 增量 1 广东guangDOng129068.58 124319.67 4748.91 2 江苏 JiangSu 122825.6 116314.2 6511.4 3 山东ShAnDong 87385 83045.9 4339.1 4 浙江…

手把手教会你--Hack The Box的账号注册(HTB Labs部分)

有什么问题&#xff0c;请尽情问博主&#xff0c;QQ群796141573 前言1.1 一次注册正确的注册过程1.2 讲讲我在注册过程中遇到的两个问题&#xff08;1&#xff09;点击REGISTER后无反应&#xff08;2&#xff09;提示Error! reCaptcha validation failed 前言 请务必跟着博主复…

常见状态码

欢迎大家到我的博客浏览。常见状态码 | YinKais Blog 常见状态码<!--more--> 1、200 200&#xff1a;服务器已经接收了请求&#xff0c;但处理还没有完成。 204&#xff1a;服务器已经成功处理了请求&#xff0c;但相应中没有任何返回内容。比如 DELETE 请求。 206&…

Python多线程使用(一)

一、多线程使用 1.使用threading库 # 使用threading进行调用多线程 from threading import Thread 2.使用 (1)使用函数方法 thread Thread(target方法对象, #不要括号args(参数1, 参数2) #一个参数也需要加上逗号 ) # 创建一个线程对象 ​ thread.start(…

我的128天创作纪念日

嘿&#xff0c;大家好&#xff01;今天我想和大家聊一聊CSDN创作者128天纪念日的话题。 机缘 首先&#xff0c;让我们来谈谈机缘。作为CSDN创作者&#xff0c;我们都有自己的创作机缘。可能是因为对某个领域感兴趣&#xff0c;可能是因为想要分享自己的知识和经验&#xff0c…

网络爬虫(Python:Selenium、Scrapy框架;爬虫与反爬虫笔记)

网络爬虫&#xff08;Python&#xff1a;Selenium、Scrapy框架&#xff1b;爬虫与反爬虫笔记&#xff09; SeleniumWebDriver 对象提供的相关方法定位元素ActionChains的基本使用selenium显示等待和隐式等待显示等待隐式等待 Scrapy&#xff08;异步网络爬虫框架&#xff09;Sc…

【docker系列】docker高阶篇

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

C语言:写一个函数,求字符串的长度,在main函数中输入字符串并输出其长度(指针)

分析&#xff1a; 在程序中&#xff0c;定义一个函数 fix&#xff0c;该函数使用指针变量来访问字符串中的每个字符&#xff0c;并计算出字符串的长度。fix 函数的参数为指向 char 类型的指针变量 p&#xff0c;表示需要计算长度的字符串。 在主函数 main 中&#xff0c;定义一…

【Dockerfile】将自己的项目构建成镜像部署运行

目录 1.Dockerfile 2.镜像结构 3.Dockerfile语法 4.构建Java项目 5.基于Java8构建项目 1.Dockerfile 常见的镜像在DockerHub就能找到&#xff0c;但是我们自己写的项目就必须自己构建镜像了。 而要自定义镜像&#xff0c;就必须先了解镜像的结构才行。 2.镜像结构 镜…

5G NSA注册解析及图标显示方案

5G NSA注册解析及图标显示方案 1. NSA注册流程解析1.1 NSA注册流程1.2 NAS消息信元变化1.3 UE能力信元变化1.3.1 第一次UE能力查询1.3.2 后续UE能力查询1.3.3 UE能力过滤器解析 1.4 UE测量配置1.5 SCG添加消息解析1.6 SCG添加成功1.7 Split Bearer承载的建立1.8 NR协议查询索引…

华为OD机试 - 围棋的气(Java JS Python C)

题目描述 围棋棋盘由纵横各19条线垂直相交组成,棋盘上一共19 x 19 = 361 个交点,对弈双方一方执白棋,一方执黑棋,落子时只能将棋子置于交点上。 “气”是围棋中很重要的一个概念,某个棋子有几口气,是指其上下左右方向四个相邻的交叉点中,有几个交叉点没有棋子,由此可…

解决OSError: [Errno 28] No space left on device报错和搭建AIrtest无线配置手机集群

OSError: [Errno 28] No space left on device和搭建AIrtest无线配置手机集群 做手机无限集群控制时&#xff0c;常常遇到这种错误问题。表示您的设备上没有足够的可用磁盘空间来完成某个操作。我们遇到了还得重新开端口和输入ip&#xff0c;如果有几百台手机是不是中午就不吃…

【古诗生成AI实战】之五——加载模型进行古诗生成

回顾上一篇博客&#xff0c;我们已经成功地训练了我们的模型&#xff0c;并将其保存下来。这是一个重要的里程碑&#xff0c;因为训练好的模型是我们进行文本生成的基础。 现在&#xff0c;接下来的步骤是加载这个训练好的模型&#xff0c;然后使用它来生成古诗。 本章的内容属…

2023年网络安全比赛--综合渗透测试②(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 1.通过 PC 中的渗透测试平台 Kali 对服务器场景进行渗透测试,将扫描开放的所有端口当作flag提交(例:21,22,23); 2.通过 PC 中的渗透测试平台 Kali 对服务器场景进行渗透测试,将初…

人工智能-优化算法和深度学习

优化和深度学习 对于深度学习问题&#xff0c;我们通常会先定义损失函数。一旦我们有了损失函数&#xff0c;我们就可以使用优化算法来尝试最小化损失。在优化中&#xff0c;损失函数通常被称为优化问题的目标函数。按照传统惯例&#xff0c;大多数优化算法都关注的是最小化。…

计算机图形学-变换基础

坐标系转换历程模型坐标系 -> 世界坐标系 -> 摄像机坐标系 -> 视口&#xff08;屏幕&#xff09;坐标系 变换 仿射变换和线性变换线性&#xff1a;旋转 缩放 镜像 切变放射&#xff1a; 平移 平移 2D变换矩阵 3D变换矩阵 旋转 2D旋转矩阵 //2D 旋转private (float,…

【docker系列】docker命令篇

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

中科亿海微除法器(DIVIDE)

技术背景 技术概述 FPGA实现除法运算是一个比较复杂的过程&#xff0c;因为硬件逻辑与软件程序的区别。如果其中一个操作数为常数&#xff0c;可以通过简单的移位与求和操作代替&#xff0c;但用硬件逻辑完成两变量间除法运算会占用较多的资源&#xff0c;电路结构复杂&#xf…