亲们! 首次见面! 带来不适!多多见谅!--------->>Bank系统
讲一下Bank系统的做法:
01.首先创建一个Card类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace VS1
{
//账号类
public class Card
{
//姓名
public string name;
//账号
public string account;
//密码
public string password;
//身份证号
public string id;
//余额
public double balance;
}
}
02.创建一个Bank类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace VS1
{
//银行类
public class Bank
{
//定义卡数组
Card[] cards=new Card[];
#region 01.给原有2卡赋值
public void InitialData()
{
Console.WriteLine("===========================================");
Console.WriteLine("=================现有卡有==================>>");
//卡1
Card card1 = new Card();
card1.name = "阿乐";//用户名
card1.account = "";//卡号
card1.password = "";//mima
card1.id = "";//身份证号
card1.balance = ;//余额
cards[] = card1;//把卡值赋值数组 //卡2
Card card2 = new Card();
card2.name = "阿龙";
card2.account = "";
card2.password = "";
card2.id = "";
card2.balance = ;
cards[] = card2; } #endregion #region 02.欢迎页面
public void Welcome()
{
Console.WriteLine("欢迎进入天尽头ATM系统,亲");
Console.WriteLine("功能:1.开户 2.存款 3.取款 4.查询余额 5.转账 6.修改密码 7.退卡");
Console.WriteLine("请选择您要操作的功能模块,亲");
string choice = Console.ReadLine();
switch (choice)
{
case "":
//开户
CreateAccount();
break;
case "":
//存款
bool flag= MoneyIn();
if (flag==false)
{
Console.WriteLine("对不起,您输入信息(密码和卡号)有误!,登录失败....");
Console.WriteLine("====>>自动转回主页面");
Welcome();
} break;
case "":
//取款
bool flag1 = MoneyOut();
if (flag1 == false)
{
Console.WriteLine("对不起,您输入信息(密码和卡号)有误!");
Console.WriteLine("====>>自动转回主页面");
Welcome();
}
break;
case "":
//查询余额
bool flag2 = SelectMoney();
if (flag2 == false)
{
Console.WriteLine("对不起,您输入信息(密码和卡号)有误!,登录失败....");
Console.WriteLine("====>>自动转回主页面");
Welcome();
}
break;
case "":
//转账
bool flag3 = TransferMoney();
if (flag3 == false)
{
Console.WriteLine("对不起,您输入信息(密码和卡号)有误!,登录失败....");
Console.WriteLine("====>>自动转回主页面");
Welcome();
}
break;
case "":
//修改密码
bool flag6 = ModifyPwd();
if (flag6 == false)
{
Console.WriteLine("对不起,您输入信息(密码和卡号)有误!,登录失败....");
Console.WriteLine("====>>自动转回主页面");
Welcome();
}
break;
default:
Console.WriteLine("成功退卡!");
break; }
}
#endregion #region 03.输出原卡信息
public void PrintCustomerInfo() {
foreach(Card item in cards){
if(item!=null){ Console.WriteLine("用户名:{0},卡号:{1},密码:{2},身份证号:{3},余额:{4}", item.name, item.account,item.password,item.id,item.balance);
Console.WriteLine("===========================================");
} } }
#endregion #region 04.开户功能
public void CreateAccount() {
Console.WriteLine("============这里是开户===================");
Console.WriteLine("===================>>>>>>>>>"); Console.WriteLine("请输入身份证号:");
string id = Console.ReadLine();
Console.WriteLine("请输入用户名");
string name = Console.ReadLine();
Console.WriteLine("请输入密码");
string password = Console.ReadLine();
Console.WriteLine("请输入开户金额");
double balance = double.Parse(Console.ReadLine()); //先将四个零散的属性装配成一个Card对象
Card card = new Card();
card.id = id;
card.name = name;
card.password = password;
card.balance = balance;
card.account = "";
for (int i = ; i < cards.Length; i++)
{
if(cards[i]==null){
cards[i] = card;
Console.WriteLine("您好!{0},您开户成功!您的卡号为:{1},您卡余额为:{2},请牢记您的密码!",cards[i].name,cards[i].account,cards[i].balance);
Console.WriteLine("=====>>自动转回主页面");
break;
}
}
Console.WriteLine("==============================");
Welcome(); } #endregion #region 05.存款功能
public bool MoneyIn() {
bool flag = false;
Console.WriteLine("============这里是存款===================");
Console.WriteLine("===================>>>>>>>>>");
Console.WriteLine("请输入卡号:");
string account = Console.ReadLine();
Console.WriteLine("请输入密码:");
string password = Console.ReadLine();
for (int i = ; i < cards.Length;i++ )
{
if(cards[i]!=null){
if (cards[i].account == account&&cards[i].password==password)
{
flag = true;
Console.WriteLine("您好!{0},请输入您要存的金额:", cards[i].name);
double balance=double.Parse(Console.ReadLine());
cards[i].balance = cards[i].balance + balance;
Console.WriteLine("{0},您存款成功,现在您的卡总余额为:{1}", cards[i].name, cards[i].balance);
Console.WriteLine("====>>自动转回主页面");
Welcome();
break;
}
}
}
return flag; } #endregion #region 06.取款功能
public bool MoneyOut()
{
bool flag1 = false; Console.WriteLine("============这里是取款===================");
Console.WriteLine("===================>>>>>>>>>");
Console.WriteLine("请输入卡号:");
string account = Console.ReadLine();
Console.WriteLine("请输入密码:");
string password = Console.ReadLine();
for (int i = ; i < cards.Length;i++ )
{
if(cards[i]!=null){
if (cards[i].account == account&&cards[i].password==password)
{
flag1 = true;
Console.WriteLine("您好!{0},请输入您要取的金额:", cards[i].name); double balance=double.Parse(Console.ReadLine());
if(cards[i].balance>balance){
cards[i].balance = cards[i].balance - balance;
Console.WriteLine("{0},您取款成功,现在您的卡总余额为:{1}",cards[i].name,cards[i].balance);
Console.WriteLine("====>>自动转回主页面");
Welcome();
break;
}else{
Console.WriteLine("可能不要瞎输,你卡里有这么多钱吗?");
Console.WriteLine("====>>自动转回主页面");
Welcome();
break;
}
}
}
}
return flag1;
}
#endregion #region 07.查询余额
public bool SelectMoney(){
bool flag2 = false;
Console.WriteLine("============这里是查询===================");
Console.WriteLine("===================>>>>>>>>>");
Console.WriteLine("请输入卡号:");
string account = Console.ReadLine();
Console.WriteLine("请输入密码:");
string password = Console.ReadLine();
for (int i = ; i < cards.Length; i++)
{
if(cards[i]!=null){ if (cards[i].account == account && cards[i].password == password)
{
flag2 = true;
Console.WriteLine("{0},您好,现在您的卡总余额为:{1}", cards[i].name, cards[i].balance);
Console.WriteLine("====>>自动转回主页面");
Welcome();
break;
}
}
}
return flag2;
}
#endregion #region 08.转账
public bool TransferMoney()
{
bool flag3 = false;
Console.WriteLine("============这里是转账===================");
Console.WriteLine("===================>>>>>>>>>");
Console.WriteLine("请输入卡号:");
string account = Console.ReadLine();
Console.WriteLine("请输入密码:");
string password = Console.ReadLine();
for (int i = ; i < cards.Length; i++)
{
if (cards[i] != null)
{
if (cards[i].account == account && cards[i].password == password)
{
bool flag4 = false;
bool flag5 = false;
flag3 = true;
Console.WriteLine("您好!{0},请输入您要转账的卡号:", cards[i].name);
string account1=Console.ReadLine();
for (int j = ; j < cards.Length;j++ )
{ if(cards[j]!=null){
if (cards[j].account == account1)
{
flag4 = true;
Console.WriteLine("您好!{0},您输入要转账的卡号为:{1},请您输入要转账的金额:", cards[i].name,account1);
double balance=double.Parse(Console.ReadLine()); if(cards[j].balance>balance){
flag5 = true;
cards[j].balance = cards[j].balance - balance;
cards[i].balance = cards[i].balance + balance;
Console.WriteLine("您好!{0},转账后,您的余额:{1}", cards[i].name, cards[i].balance);
Console.WriteLine("您好!{0},转账后,您的余额:{1}", cards[j].name, cards[j].balance);
Console.WriteLine("====>>自动转回主页面");
Welcome();
break;
}
}
}
}
if (flag4 == false)
{
Console.WriteLine("您输入的未找到相匹配的卡号!!请核对!!");
Console.WriteLine("====>>自动转回主页面");
Welcome();
}
if (flag5 == false)
{
Console.WriteLine("您的卡里没有这么多钱!!请核对!!");
Console.WriteLine("====>>自动转回主页面");
Welcome();
}
} } }
return flag3;
}
#endregion #region 09.修改密码
public bool ModifyPwd() {
bool flag6 = false; Console.WriteLine("============这里是修改密码===================");
Console.WriteLine("===================>>>>>>>>>");
Console.WriteLine("请输入卡号:");
string account = Console.ReadLine();
Console.WriteLine("请输入密码:");
string password = Console.ReadLine();
for (int i = ; i < cards.Length; i++)
{
if (cards[i] != null)
{
if (cards[i].account == account && cards[i].password == password)
{
flag6 = true;
Console.WriteLine("您好!{0},请再次输入您的原始密码:", cards[i].name);
string password1 = Console.ReadLine();
if (password == password1)
{
Console.WriteLine("您好!{0},请输入您的新密码:", cards[i].name);
string password2 = Console.ReadLine();
Console.WriteLine("您好!{0},请再次输入您的新密码:", cards[i].name);
string password3 = Console.ReadLine();
if (password2 == password3)
{
Console.WriteLine("{0},您改密码成功,现在您的卡新密码为:{1}", cards[i].name, password2);
cards[i].password = password3;
Console.WriteLine("====>>自动转回主页面");
Welcome();
}
else {
Console.WriteLine("您好!{0},您输入的两次新密码密码不一致", cards[i].name);
Console.WriteLine("====>>自动转回主页面");
Welcome();
} }
else {
Console.WriteLine("您好!{0},您输入的两次原始密码不一致", cards[i].name);
Console.WriteLine("====>>自动转回主页面");
Welcome();
}
break;
}
}
}
return flag6;
}
#endregion #region 10.退卡 #endregion
}
}
其中08.转账也可以写为:
//转账
public void TransferMoney()
{
Console.WriteLine("请输入转出卡卡号");
string outCardNo = Console.ReadLine(); //
Console.WriteLine("请输入转出卡密码");
string outCardPwd = Console.ReadLine();
//判定用户名和密码是否正确
//循环对比
//定义一个标记,标记指示转出卡号默认是不存在
bool flag = false;//默认转出卡不存在
bool outCardFlag = false;//默认转入卡不存在
int type = ;
foreach (Card card in cards)
{
if (card!=null)
{
if (card.CardNo.Equals(outCardNo)) //卡号一致
{
flag = true;
//判定密码是否一致
if (card.CardPwd.Equals(outCardPwd)) //密码一致
{
//用户名 密码均正确,可以执行后续内容
Console.WriteLine("请输入转入卡卡号");
string inCardNo = Console.ReadLine();
#region 内层循环,转入卡
foreach (Card card1 in cards)
{
if (card1 != null)
{
if (card1.CardNo.Equals(inCardNo)) //转入卡存在
{
type = ;
//存在,可以提示输入转账金额
Console.WriteLine("请输入转账金额");
int money = Convert.ToInt32(Console.ReadLine());
if (money <= card.Balance) //合法
{
while (money % != ) //不是面值100的
{
Console.WriteLine("您输入的不合法");
Console.WriteLine("请输入转账金额");
money = Convert.ToInt32(Console.ReadLine());
}
//代码执行到这里,证明转账金额合法
//100元
//改变双方的余额
card.Balance -= money;
card1.Balance += money;
Console.WriteLine("转账成功!");
outCardFlag = true;
Console.WriteLine("转出卡余额{0}\t转入卡余额{1}", card.Balance, card1.Balance); }
else
{
Console.WriteLine("余额不足,退出");
}
break; }
} }
#endregion if (outCardFlag == false&&type==)
{
Console.WriteLine("转入卡不存在!");
} }
else
{
Console.WriteLine("转出卡密码错误!");
}
break;
}
}
}
//出了循环,如果flag还是false,就证明没有该卡!
if (flag==false)
{
Console.WriteLine("没有该卡");
} }
03.最后使用main方法调用输出:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Bank
{
class Program
{
static void Main(string[] args)
{
Bank bank=new Bank();
bank.InitialData();//保证数组中前3项有值
bank.PrintCustomerInfo();
bank.Welcome();
Console.ReadKey();
}
}
}
亲们! 首次见面! 带来不适!多多见谅!--------->>Bank系统的更多相关文章
- [问题解决]win10误删启动项(BCD)(HP电脑亲测,无需启动盘,并非重装系统)
昨天使用easyBCD软件,开始不太懂,手残把win10的引导删除了,后来发现电脑关机总是变成重启,无奈强制关机.今天重启了一下电脑,发现电脑已经无法打开了,这才明白昨天是误删了win10的BCD. ...
- Ubuntu16.04 下如何安装搜狗拼音输入法【亲测有效】
Ubuntu16.04 下如何安装搜狗拼音输入法[亲测有效] 一.添加fcitx键盘输入法系统[系统默认是iBus] 1.将下载源添加至系统源: sudo add-apt-repository p ...
- C#.NET中对称和非对称加密、解密方法汇总--亲测可用
C#.NET中对称和非对称加密.解密方法汇总--亲测可用 在安全性要求比较高的系统中都会涉及到数据的加密.解密..NET为我们封装了常用的加密算法,例如:MD5,DES,RSA等.有可逆加密,也有 ...
- 【MySQL】漫谈MySQL中的事务及其实现
最近一直在做订单类的项目,使用了事务.我们的数据库选用的是MySQL,存储引擎选用innoDB,innoDB对事务有着良好的支持.这篇文章我们一起来扒一扒事务相关的知识. 为什么要有事务? 事务广泛的 ...
- 系统配置 之:远程桌面连接(win7系统)
本文包括两部分: 1.配置远程桌面连接 2.解决[远程桌面连接不上] 一.远程桌面连接设置 [远程桌面连接配置] Win7系统下的远程桌面连接设置,如果是其他系统或 Win8 及其以上系统,也可作为参 ...
- Code笔记 之:注册页面验证码
文章内容包括: 1.验证码制作 -- 中文|字母|数字|…… 2.图文验证码 -- 图片防盗链(PHP而非JS) 3.JS防止右键点击图片 4.input表单输入框不记录输入过的信息 5.CSS+di ...
- 如何成为一位优秀的创业CEO
英文原文:How to Be Startup CEO 编者按:本文来自 Ryan Allis,是一位来自旧金山的创业者和投资人.在 2003 年创立了 iContact,并任 CEO. 做创业公司的 ...
- 漫谈MySql中的事务
最近一直在做订单类的项目,使用了事务.我们的数据库选用的是MySql,存储引擎选用innoDB,innoDB对事务有着良好的支持.这篇文章我们一起来扒一扒事务相关的知识. 为什么要有事务? 事务广泛的 ...
- C#语法糖之开篇
本人虽然大学不是学的计算机但是对于IT行业的热爱,依然决然进军IT行业了,自从踏进这个行业到现在也已经3年多了,从去年开发通过网上 了解博客园后深深的爱上这儿了,这里有很多牛人,通过拜读他们的代码,让 ...
随机推荐
- Python Base HTTP Server
import BaseHTTPServer import cgi, random, sys MESSAGES = [ "That's as maybe, it's still a frog. ...
- js-2
var myarray= new Array(); var myarray= new Array(8); var myarray= new Array(66,80,60,59,70); var mya ...
- Mac OSX Versions输入username按1下都会出现2个字符,并且不能create,解决方法
我的系统,安装的versions1.3.2,下载地址:http://www.jb51.net/softs/193467.html 安装好了以后Versions输入username按1下都会出现2个字符 ...
- bit操作 转
http://www.catonmat.net/blog/low-level-bit-hacks-you-absolutely-must-know/ Bit Hack #6. Turn off the ...
- CreateProcessAsUser,C#写的windows服务弹框提示消息或者启动子进程
服务(Service)对于大家来说一定不会陌生,它是Windows 操作系统重要的组成部分.我们可以把服务想像成一种特殊的应用程序,它随系统的“开启-关闭”而“开始-停止”其工作内容,在这期间无需任何 ...
- Fast 迅捷网络 无线路由器FW323的功能设置
一.问题的提出 1.有一个无线路由器,型号:Fast 迅捷网络 无线路由器FW323 2.有三个网络层级,第一级,用一个路由器A负责对接互联网,内网IP段为192.168.1.*,网关设置192.16 ...
- 读书笔记_Effective_C++_条款四十三:学习处理模板化基类的名称
背景是这样的,有两个不同的公司,然后想设计一个MessageSender,为这两个公司发送不同的消息,既支持明文发送SendClearText,也支持密文发送SendEncryptedText.一种思 ...
- NSDictionary 的有序性 (by the key in some rule)
NSDictionary 的有序性: (by the key in some rule) NSDictionary*myDictionary =[NSDictionary dictionaryWith ...
- 【cs229-Lecture20】策略搜索
本节内容: 1.POMDP: 2.Policy search算法:reinforced和Pegasus: 马尔科夫决策过程(Partially Observable Markov Decision P ...
- Spring MVC 3.x 基本配置
WEB-INF/web.xml 例1 <?xml version="1.0" encoding="UTF-8"?> <web-app xmln ...