银行bank系统项目实践
想看项目的注意了!完整版银行管理系统就在这里看不看你看着办!
按照惯例咱们还是先来看一下项目需求:
某银行为了提高业务率希望开发一个银行管理系统功能如下:
1.能够完成用户开户操作
2.能够完成用户取款操作
3.能够完成用户存款操作
4.能够完成用户转账操作
5.能够完成显示用户现有余额操作
好了,需求有了接下来该干嘛?
这还不简单直接开始写代码啊!错!我们在拿到一个项目的时候千万不能一上来就开始写代码,不然用我老师的话来说就是你死都不知道咋死的(呵呵,这不是我说的)!其实我们不管做什么事都是,首先要思考想一想该怎么做?每一步要做什么?有了一个计划之后再来写代码!
首先我们来根据项目要求来确定有几个类,每个类的内容是什么?
那这个项目呢有三个类:
1.账户类(User)
2.银行类(bank)
3.程序入口类(Program)
然后再来逐个分析每个类的字段、属性和方法
字段 属性 方法
账户类:
卡号 卡号
持卡人 持卡人
密码 密码
余额 余额
银行类:
账户 显示欢迎菜单
初始化账户信息
显示余额
开户
存款
取款
转账
程序入口类:
Main方法
这是我们的项目已经算是完成一半了接下来只要往里面套代码就行了
账户类代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace bank
{
class Ka
{
private string chiKaRen;//持卡人(字段)
private string miMa;//密码(字段)
private int kaHao;//卡号(字段)
public double yuE;//余额(字段)
public string ChiKaRen//持卡人(属性)
{
get { return chiKaRen; }
set { chiKaRen = value; }
} public int KaHao//卡号(属性)
{
get { return kaHao; }
set { kaHao = value; }
} public string MiMa//密码(属性)
{
get { return miMa; }
set { miMa = value; }
}
public string YuE//余额(属性)
{
get { return yuE; }
set { miMa = value; }
}
}
}
bank类代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace bank
{
class Yinhang
{
public User[] ka = new User[];//创建一个长度为100的User类对象数组
private bool fa=false;//
///显示菜单
static void Show()
{ Console.WriteLine("===============================");
Chushihua();//初始化账户信息
Xianshi();//显示余额
Console.WriteLine("===============================");
while(true){
//打印主菜单
Console.WriteLine("===============================");
Console.WriteLine("欢迎光临银行管理系统");
Console.WriteLine("请选择功能");
Console.WriteLine("1.开户");
Console.WriteLine("2.存款");
Console.WriteLine("3.取款");
Console.WriteLine("4.修改密码");
Console.WriteLine("5.显示余额");
Console.WriteLine("6.转账");
Console.WriteLine("7.退出");
Console.WriteLine("==============================");
string num = Console.ReadLine();//接收用户选项
if (num == "")//如果用户输入“7”退出系统
{
break;
}
switch (num)根据用户的选项进入相应模块
{
case "":
KaiHu();//开户
break;
case "":
CunKuan();//存款
break;
case "":
QuKuan();//取款
break;
case "":
XuiGaiMiMa();//修改密码
break;
case "":
Xianshi();显示余额
break;
case "":
Zhuanzhang();//转账
break;
} } }
///初始化账户信息
public void Chushihua() {
Ka ka1 = new Ka();
ka1.ChiKaRen = "";
ka1.KaHao=;
ka1.MiMa = "";
ka1.yuE = ;
ka[] = ka1;
Ka ka2 = new Ka();
ka2.ChiKaRen = "";
ka2.KaHao = ;
ka2.MiMa = "";
ka2.yuE = ;
ka[] = ka2;
Ka ka3 = new Ka();
ka3.ChiKaRen = "";
ka3.KaHao = ;
ka3.MiMa = "";
ka3.yuE = ;
ka[] = ka3;
}
//显示余额
public void Xianshi() {
foreach(Ka item in ka){
if(item!=null){
Console.WriteLine("持卡人:{0}\t余额:{1}",item.ChiKaRen,item.yuE);
}
}
}
//开户
public void KaiHu()
{
Console.WriteLine("请输入卡号");
int num = int.Parse(Console.ReadLine());
Console.WriteLine("请输入密码");
string mima = Console.ReadLine();
Console.WriteLine("请输入持卡人");
string name = Console.ReadLine();
Console.WriteLine("请输入初始金额");
int mony = int.Parse(Console.ReadLine());
Ka k = new Ka();
k.ChiKaRen = name;
k.KaHao = num;
k.yuE = mony;
k.MiMa = mima;
fa = true;
for (int i = ; i < ka.Length; i++)
{
if (ka[i] != null)
{
if(ka[i].KaHao==num)
{
fa = false;
} }
}
if (fa == false)
{
Console.WriteLine("注册失败,此卡号已存在!");
}
for (int i = ; i < ka.Length;i++ )
{
if(ka[i]==null&&fa==true){
ka[i] = k;
break; }
}
if(fa){
Console.WriteLine("注册成功");
}
}
//修改密码
public void XuiGaiMiMa()
{
Console.WriteLine("请输入您的卡号");
int num = int.Parse(Console.ReadLine());
Console.WriteLine("请输入您的密码");
string m= Console.ReadLine();
fa = false;
for (int i = ; i < ka.Length;i++ )
{
if(ka[i]!=null){
if (ka[i].KaHao == num && ka[i].MiMa.Equals(m))
{
Console.WriteLine("请输入修改后的密码");
string mi = Console.ReadLine();
ka[i].MiMa = mi; fa = true;
break;
}
}
}
if (fa)
{
Console.WriteLine("修改成功");
}
else
{
Console.WriteLine("修改失败");
}
}
//存款
public void CunKuan()
{
Console.WriteLine("请输入您的卡号");
int num = int.Parse(Console.ReadLine());
Console.WriteLine("请输入您的密码");
string mi = Console.ReadLine();
fa = false;
for (int i = ; i < ka.Length; i++)
{
if (ka[i] != null)
{
if (ka[i].KaHao == num&&ka[i].MiMa.Equals(mi))
{ Console.WriteLine("请输入存款金额");
double qian = double.Parse(Console.ReadLine());
ka[i].yuE = ka[i].yuE + qian;
fa = true;
break;
}
}
}
if (fa)
{
Console.WriteLine("存款成功");
}
else
{
Console.WriteLine("存款失败");
}
}
//转账
public void Zhuanzhang()
{
Console.WriteLine("请输入您的卡号");
string name = Console.ReadLine();
bool falg = false;
bool falg2 = false;
for (int i = ; i < ka.Length; i++)
{
if (ka[i] != null)
{
if (ka[i].Equals(name))
{
falg = true;
Console.WriteLine("请输入您的密码");
string pwd = Console.ReadLine();
if (ka[i] != null)
{
if (ka[i].MiMa.Equals(pwd))
{
Console.WriteLine("请输入您要转入的卡卡号");
string name1 = Console.ReadLine();
for (int j = ; j < ka.Length; j++)
{
if (ka[j] != null)
{
if (ka[j].KaHao.Equals(name1))
{
falg2 = true;
Console.WriteLine("请输入您要转入的金额");
double mony1 = Convert.ToDouble(Console.ReadLine());
if (ka[j].yuE > mony1)
{
ka[i].yuE -= mony1;
ka[j].yuE += mony1;
Console.WriteLine("转账成功");
Console.WriteLine("您的余额:{0}\t转入账户的余额:{1}", ka[i].yuE, ka[j].yuE);
}
else
{
Console.WriteLine("您的余额不足");
}
break;
} }
}
if (falg2 == false)
{
Console.WriteLine("您要转入的卡号不存在");
}
}
else
{
Console.WriteLine("您输入的密码错误");
}
break;
} }
}
}
if (falg == false)
{
Console.WriteLine("您输入的卡号不存在");
} }
//取款
public void QuKuan()
{
Console.WriteLine("请输入你的卡号");
int k = int.Parse(Console.ReadLine());
Console.WriteLine("请输入你的密码");
string mi = Console.ReadLine();
fa = false;
for (int i = ; i < ka.Length;i++ )
{
if(ka[i]!=null)
{
if( ka[i].KaHao==k&&ka[i].MiMa.Equals(mi))
{
Console.WriteLine("请输入您要转入的卡号");
int inKa = int.Parse(Console.ReadLine());
for (int j = ; j < ka.Length; j++)
{
if (ka[j] != null)
{
if (ka[j].KaHao == inKa)
{
Console.WriteLine("请输入要转入的金额");
double mony = double.Parse(Console.ReadLine());
if (ka[i].yuE > mony)
{
ka[i].yuE = ka[i].yuE - mony;
ka[j].yuE = ka[j].yuE + mony;
fa = true; break;
}
}
} }
break;
} }
}
if (fa)
{
Console.WriteLine("转账成功");
}
else
{
Console.WriteLine("转账失败");
}
} }
}
之后在Main方法中调用就好了!
声明:本人是刚入门的菜鸟 这个项目也确实是完整版的(题目要求的全写了)。希望能多指教
I am a good person but I don't lick Penzi if you can recommend mi I can ever happy eachday!
shank you
银行bank系统项目实践的更多相关文章
- [转帖]中信银行信用卡业务数据库实现国产替换,湖北银行新核心系统项目正式验收,阿里云与MongoDB达成战略合作
中信银行信用卡业务数据库实现国产替换,湖北银行新核心系统项目正式验收,阿里云与MongoDB达成战略合作 http://www.itpub.net/2019/10/31/3942/ 中信银行 gold ...
- c++课程实训 银行储蓄系统
基本要求:定义了用户类(User)和银行类(Bank),用成员函数实现各种功能,多文件组织程序.能用文本文件存取数据(如演示样例中给出的技术): 拓展方向: 序号 加分项目 细 则 1 改 ...
- 神奇的Bank系统之旅哦
奋斗不能等待,我们不能等到垂暮之年再去“全力以赴”.让我们从现在开始,为理想而努力,为人生而拼搏.精诚所至,金石为开,相信奋斗会让我们的青春之花绽放得更加绚烂,让我们的人生之路走下来不留遗憾. ...
- 论那些年我们讨论过的Bank系统!
今天呢我就和大家分享一下怎样用对象数组的形式来实现一个简单的银行系统, 首先呢,跟大家介绍一下这个简单的银行操作系统要实现的一些主要的功能: 主要功能有 : 1.开户功能 2.存款 3.取款 4.转账 ...
- Hangfire项目实践分享
Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget jobs) 延迟任务执行(De ...
- Zabbix监控系统深度实践
Zabbix监控系统深度实践(企业级分布式系统自动化运维必选利器,大规模Zabbix集群实战经验技巧总结,由浅入深全面讲解配置.设计.案例和内部原理) 姚仁捷 著 ISBN 978-7-121-24 ...
- Hangfire项目实践
Hangfire项目实践分享 Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget ...
- 亲们! 首次见面! 带来不适!多多见谅!--------->>Bank系统
亲们!您们好! 讲一下Bank系统的做法: 01.首先创建一个Card类 using System; using System.Collections.Generic; using System.Li ...
- 大型网站系统架构实践(六)深入探讨web应用集群Session保持
原理 在第三,四篇文章中讲到了会话保持的问题,而且还遗留了一个问题,就是会话保持存在单点故障, 当时的方案是cookie插入后缀,即haproxy指负责分发请求,应用服务自行保持用户会话,如果应 用服 ...
随机推荐
- block的一些注意事项
1,定义block时是可以同时进行赋值的 2,block中是代码块,就是里面写的是语句,需要加分号 3,在block中,允许有多条语句 4,在带有参数的block中,声明部分参数名可以省略,但是建议写
- jdk7与jdk8环境共存与切换
1,先安装jdk7,配置环境变量JAVA_HOME,然后安装jdk8. 2,安装jdk8后,JAVA_HOME指向未做修改,执行java -version显示还是以前的jdk7版本信息, 3,接下来我 ...
- redis的key对应mysql数据表设计
根据用户名来查询用户信息 在关系型数据中,除主键外,还有可能其他列也步骤查询, 如上表中, username 也是极频繁查询的,往往这种列也是加了索引的. 转换到k-v数据中,则也要相应的生成一条按照 ...
- 移动端 | Vue.js对比微信小程序基础语法
(1)vue 自定义组件与父组件的通信,props:[abb],可以看成自组建的一个自定义属性 (2)vue 模版语法{{}} 只能是在DOM中插入,<div>{{acc}}</di ...
- java根据出生日期计算年龄
/** * @author jerry.chen * @param brithday * @return * @throws ParseException * 根据生日获取年龄; */ public ...
- css3之BFC、IFC、GFC和FFC
CSS2.1中只有BFC和IFC, CSS3中才有GFC和FFC. What's FC?一定不是KFC,FC的全称是:Formatting Contexts,是W3C CSS2.1规范中的一个概念.它 ...
- Wepy--小程序自定义底部tabBar
PS后续: 说来惭愧, 没想到这篇文章浏览的人有点多. 说实话写的挺乱的. 并且自定义tabbar还有闪屏的问题. 因为有好几位道友都问了这个问题, 其中一位因为项目很急,所以就研究了一下(也是借鉴 ...
- Laravel核心解读--Contracts契约
Contracts Laravel 的契约是一组定义框架提供的核心服务的接口, 例如我们在介绍用户认证的章节中到的用户看守器契约IllumninateContractsAuthGuard 和用户提供器 ...
- 2019-03-22 Python Scrapy 入门教程 笔记
Python Scrapy 入门教程 入门教程笔记: # 创建mySpider scrapy startproject mySpider # 创建itcast.py cd C:\Users\theDa ...
- Spring中使用Quartz之MethodInvokingJobDetailFactoryBean配置任务
Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz. Spring中使用Quartz的3种方法(MethodInvokingJobDetailFactoryBean,i ...