银行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指负责分发请求,应用服务自行保持用户会话,如果应 用服 ...
随机推荐
- [jzoj 5661] 药香沁鼻 解题报告 (DP+dfs序)
interlinkage: https://jzoj.net/senior/#contest/show/2703/0 description: solution: 注意到这本质就是一个背包,只是选了一 ...
- 21.QT二进制文件
#include "mainwindow.h" #include <QApplication> #include <QFile> #include < ...
- 17.QT键盘
mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> 5 #include <Q ...
- 软件测试中的fault,error,failure
问题:给定两段代码,设计fault,error,failure的测试用例. fault:即引起错误的原因,类似病因. error:类似疾病引起的内部结果. failure:类似疾病引起的症状. 代码1 ...
- UWP 开发APP准备工作
每新建一个UWP之后,都要进行一番相同的处理步骤,才能使Mobile的使用体验更好,故总结如下: 1.订阅Mobile后退导航事件 在App.xaml.cs文件中OnLaunched方法中添加 Sys ...
- DOM基础知识(Node对象、Element对象)
5.Node对象 u 遍历节点 u 父节点 .parentNode - 获取父节点—> 元素节点或文档节点 .parentElement - 获取父元素节点—> 元素节点 u 子节 ...
- DirectUI界面编程(三)从XML文件中加载界面
Duilib支持xml界面布局,使得界面设计与逻辑处理相分离,本节介绍如何从xml文件中加载界面元素. 我们需要以下几个步骤: 创建并初始化CPaintManagerUI对象. 创建CDialogBu ...
- github踩坑之git命令收集与整理(windows)
最近开始又捡起git,第一家公司用的就是git,一直掌握的也不深刻,就知道常用的几个命令,虽然现在用svn,但是觉得git还是不能丢,遂又捡起来了.先总结一部分目前练习用到的,慢慢填补吧~ githu ...
- SQL中Group By的使用(转)
1.概述 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理. 2.原始表 3.简 ...
- CVX安装使用
CVX下载 下载地址 使用手册 Using Gurobi with CVX Using MOSEK with CVX CVX安装 下载压缩文件后解压缩至任意地址,打开matlab,进入解压缩后的地址, ...