银行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指负责分发请求,应用服务自行保持用户会话,如果应 用服 ...
随机推荐
- 下压栈(LIFO)详解
写在前面的话: 一枚自学Java和算法的工科妹子. 算法学习书目:算法(第四版) Robert Sedgewick 算法视频教程:Coursera Algorithms Part1&2 本文 ...
- ubuntu软件卸载方法
一.查看软件包 1.查看已安装的软件包 dpkg --list 2.查看不知道要删除软件的具体名称 dpkg --get-selections | grep <软件相关名称> 二.卸载 1 ...
- Java Servlet 配置
图片太大,可以右键另存再查看,也可以鼠标点击拖置一下,用浏览器单独承载放大查看.
- Creative Cloud 无法连接问题
防火墙允许 PDApp.exe Windows:Program Files\Common Files\Adobe\OOBE\PDApp\core Mac OS:应用程序 > 实用工具 > ...
- Custom Hosting in IIS/WAS
常常需要与宿主实例进行交互.这对于使用自托管的方式是不可或缺的.当使用IIS或WAS时,不能直接访问宿主.为了克服这个障碍,WCF提供了一个宿主工厂.在.svc文件中使用Factory标签,使用此工厂 ...
- Projective Texture Mapping - 投影纹理
昨天导师让写一个投影纹理,将一个相机渲染的图片的一部分投影到另外一个相机里面,目的是无缝的拼接. 投影纹理就和shadow map一样,都是将片元转换到另外一个相机/光源坐标系下,投影后找到对应的纹素 ...
- Console.WriteLine 不会输出到unity控制台
1,Console.WriteLine() 是输出到控制台程序(console application)的命令 2,Unity中控制台是一个独立的程序,要想输出到Unity控制台需要使用Debug.L ...
- 这个夏天有你,有CorelDRAW X7,有理想,有设计!
CorelDRAW是加拿大Corel公司出品的一款功能全面的矢量绘图.平面设计软件,兼有图形设计的简易操作性和图像编辑的强大功能.目前,被广泛应用于广告宣传.艺术作品.纺织业等各个行业.和Photos ...
- [luogu4133 BJOI2012] 最多的方案 (计数dp)
题目描述 第二关和很出名的斐波那契数列有关,地球上的OIer都知道:F1=1, F2=2, Fi = Fi-1 + Fi-2,每一项都可以称为斐波那契数.现在给一个正整数N,它可以写成一些斐波那契数的 ...
- C/C++中的段错误(Segmentation fault)[转]
Segment fault 之所以能够流行于世,是与Glibc库中基本所有的函数都默认型参指针为非空有着密切关系的. 来自:http://oss.lzu.edu.cn/blog/article.php ...