想看项目的注意了!完整版银行管理系统就在这里看不看你看着办!

 按照惯例咱们还是先来看一下项目需求:

某银行为了提高业务率希望开发一个银行管理系统功能如下:

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系统项目实践的更多相关文章

  1. [转帖]中信银行信用卡业务数据库实现国产替换,湖北银行新核心系统项目正式验收,阿里云与MongoDB达成战略合作

    中信银行信用卡业务数据库实现国产替换,湖北银行新核心系统项目正式验收,阿里云与MongoDB达成战略合作 http://www.itpub.net/2019/10/31/3942/ 中信银行 gold ...

  2. c++课程实训 银行储蓄系统

    基本要求:定义了用户类(User)和银行类(Bank),用成员函数实现各种功能,多文件组织程序.能用文本文件存取数据(如演示样例中给出的技术): 拓展方向: 序号 加分项目 细       则 1 改 ...

  3. 神奇的Bank系统之旅哦

        奋斗不能等待,我们不能等到垂暮之年再去“全力以赴”.让我们从现在开始,为理想而努力,为人生而拼搏.精诚所至,金石为开,相信奋斗会让我们的青春之花绽放得更加绚烂,让我们的人生之路走下来不留遗憾. ...

  4. 论那些年我们讨论过的Bank系统!

    今天呢我就和大家分享一下怎样用对象数组的形式来实现一个简单的银行系统, 首先呢,跟大家介绍一下这个简单的银行操作系统要实现的一些主要的功能: 主要功能有 : 1.开户功能 2.存款 3.取款 4.转账 ...

  5. Hangfire项目实践分享

    Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget jobs) 延迟任务执行(De ...

  6. Zabbix监控系统深度实践

    Zabbix监控系统深度实践(企业级分布式系统自动化运维必选利器,大规模Zabbix集群实战经验技巧总结,由浅入深全面讲解配置.设计.案例和内部原理) 姚仁捷 著  ISBN 978-7-121-24 ...

  7. Hangfire项目实践

    Hangfire项目实践分享 Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget ...

  8. 亲们! 首次见面! 带来不适!多多见谅!--------->>Bank系统

    亲们!您们好! 讲一下Bank系统的做法: 01.首先创建一个Card类 using System; using System.Collections.Generic; using System.Li ...

  9. 大型网站系统架构实践(六)深入探讨web应用集群Session保持

    原理 在第三,四篇文章中讲到了会话保持的问题,而且还遗留了一个问题,就是会话保持存在单点故障, 当时的方案是cookie插入后缀,即haproxy指负责分发请求,应用服务自行保持用户会话,如果应 用服 ...

随机推荐

  1. 爬虫概念与编程学习之如何爬取视频网站页面(用HttpClient)(二)

    先看,前一期博客,理清好思路. 爬虫概念与编程学习之如何爬取网页源代码(一) 不多说,直接上代码. 编写代码 运行 <!DOCTYPE html><html><head& ...

  2. 【转自网络】JS实现保存当前网页HTML到本地

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. Android Studio 插件 GsonFormat :你还在烦恼 为 Json格式 生成 JavaBean实体类吗?

    在网络层,互联网提供所有应用程序都要使用的两种类型的服务,尽管目前理解这些服务的细节并不重要,但在所有TCP/IP概述中,都不能忽略他们: 无连接分组交付服务(Connectionless Packe ...

  4. 数组常用API

    内容待添加... //根据分数排名字 //方法1 var students = ['小明','小红','小花'] var scores = {小明:,小红:,小花:} //1 添加分数到student ...

  5. vue-router 设置默认路由

    加入 {path: '/', redirect: 'ratings'},vue 1.0版本版本使用go,但是在2.0中是用router.go(‘/ratings’);会一直刷新

  6. uva 11624 Fire! 【 BFS 】

    按白书上说的,先用一次bfs,求出每个点起火的时间 再bfs一次求出是否能够走出迷宫 #include<cstdio> #include<cstring> #include&l ...

  7. iOSUI显示思想

    两级显示机制: 1.cpu: 2.GPU: 和操作系统的多级缓存机制有点类似.

  8. 记一次html页面传值给另一个html并解码

    前言 由于最近写项目用到layui中的table.render,好像是直接由当前html直接与后台controller取数据,由一方(后台)遍历列表给html,而如果当前html需要传值给这个后台co ...

  9. bzoj 2648: SJY摆棋子 KDtree + 替罪羊式重构

    KDtree真的很妙啊,真的是又好写,作用还多,以后还需更多学习呀. 对于这道题,我们求的是曼哈顿距离的最小值. 而维护的变量和以往是相同的,就是横纵坐标的最小值与最大值. 我们设为一个极为巧妙且玄学 ...

  10. bindActionCreators作用

    个人总结: 讲一下bindActionCreators这个API, bindActionCreators是要结合mapDispatchToProps来使用的. mapDispatchToProps函数 ...