MyBank后感
MyBank系统主要的构成部分有:银行账户的初始化,开户,存款,取款,转账,查询余额,修改密码这些操作。
===============================================================================
在开户的这个功能中,需要的信息如下:
开户信息包括:姓名,密码,身份证号,存款金额等……
用的方法是:
Console.WriteLine(“ ”);
接受用户信息 例如:接受密码我们可以用
string psd = Console.WriteLine()
在存款的这个功能中,需要的信息如下:
存款信息包括:存款卡号 存款人的信息……
在取款的这个功能中,需要的信息如下:
思路:接受账号信息(密码,取款金额),还需要验证账户信息石村属实,密码是否正确。
其中的关键代码有:
bool *** = false;
foreach (***item in ***)
{
if (item != null)
{
if (item.kahao.Equals(account))
{
//代码执行到这里,证明有该卡号
Console.WriteLine("请输入取款金额");
double money = double.Parse(Console.ReadLine());
//判定用户取款金额是否小于等于余额
while (money > item.yumoney)
{
Console.WriteLine("余额不足,请重新输入取款金额");
money = double.Parse(Console.ReadLine());
}
//代码执行到这里,证明用户输入的金额合法,
//取款金额合法
item.yumoney -= money;
Console.WriteLine("取款成功");
Console.WriteLine("当前卡内余额{0}", item.yumoney);
break;
}
else
{
Console.WriteLine("密码错误");
}
}
这里需要注意的是要检验用户的卡是否属实!
if (kh == false)
{
Console.WriteLine("没有该卡号");
}
在取款的这个功能中,跟存款差不多。多的一步就是计算卡的余额状态。下面为大家展示一下较为关键部分的代码:
item.yumoney -= money;
toItem.yumoney += money;
Console.WriteLine("转账成功,您的余额为{0}",item.yumoney);
break;
在查询的这个功能中,下面为大家占时下代码,其实需要注意的就是核实信息:
bool flag = false;
Console.WriteLine("请输入卡号");
string account = Console.ReadLine();
Console.WriteLine("请输入密码");
string pwd = Console.ReadLine();
foreach (Two item in twos)
{
if (item!=null)
{
if (item.kahao.Equals(account) && item.mima.Equals(pwd))
{
flag=true;
Console.WriteLine("用户名是{0}的账户余额是{1}", item.names, item.yumoney);
//break;
}
}
}
if (flag==false)
{
Console.WriteLine("账号有误,请从新输入");
}
在修改密码的这个功能中,只是要检验用户是否存在,下面为大家呈现一部分代码:
Console.WriteLine("请输入账号:");
string no = Console.ReadLine();
for (int i = 0; i < twos.Length; i++)
{
if (twos[i] != null)
{
if (twos[i].kahao == no)
{
Console.WriteLine("请输入原密码:");
string mima1 = Console.ReadLine();
for (int j = 0; j < 3; j++)
{
if (twos[i].mima == mima1)
{
Console.WriteLine("请输入新密码:");
xinmima = Console.ReadLine();
Console.WriteLine("请再次输入新密码:");
if (xinmima == Console.ReadLine())
{
twos[i].mima = xinmima;
Console.WriteLine("账户密码修改成功!!");
break;
}
}
}
break;
}
}
if (twos[i].kahao != no)
{
Console.WriteLine("您输入的账号不存在!");
break;
}
}
}
最后整个完美的程序做完了,当然少不了美美的结尾部分,代码比较简单,就不一一呈现了。
整个Bank项目写完后,总结其实也没什么秘诀。就是当我们在写一个项目时,第一件事情并不是赶忙去敲代码,而是应该先列个草稿,也就是所谓的框架。当我们把框架打好,就可以一一往里面去填写每一块的内容,把每块内容调整好后应该再去思考会不会有什么遗漏之处,查漏补缺。经过多次揣摩,发现自己的草稿已经完美无缺后,我们就可以去敲代码了。
先生们女士们,当你们看完我的文章以后如果觉得还是有不懂的地方都可以对我提问。当然,如果你们觉得我的文章感觉不错,也要投我一票。我很快就会给你们带来下一次的惊喜,surprise~
MyBank后感的更多相关文章
- 开发之道——读《移山之道——VSTS开发之道》后感
开发之道——读<移山之道——VSTS开发之道>后感 <移山之道——VSTS开发之道>(下简称<移山之道>)是邹欣老师的另一本书.相传很有名的<构建之法> ...
- 《阿里巴巴编码规范(JAVA)》认证考后感
2018.02.15除夕拿下了阿里云认证的<阿里巴巴编码规范(JAVA)>认证,写下这篇考后感,记录考试中碰到的一些考点. 先总体介绍下这个考试规则,50道选择题,大部分是多选题,有少部分 ...
- <<甄嬛传>>后感
2020年疫情和休假的时间里,刷了几部喜欢的电视剧,从<好先生>孙红雷和车晓的现代剧,到刷了至少6遍的<新三国>后,一直想了解司马懿和曹丕,接着就到了<大军师司马懿之军师 ...
- 2016-Beijing-GDG-DevFest大会参后感
前话 15年初的时候参加过一次GDG线下举办的一次分享会,因为当时是实习的公司提供的活动场地.有了那次机会后,就一直关注了GDG的活动. 参加的目的最重要的是本次大会是比较盛大的一场技术大会,在经过一 ...
- 几个 Ceph 性能优化的新方法和思路(2015 SH Ceph Day 参后感)
一周前,由 Intel 与 Redhat 在10月18日联合举办了 Shanghai Ceph Day.在这次会议上,多位专家做了十几场非常精彩的演讲.本文就这些演讲中提到的 Ceph性能优化方面的知 ...
- 2014-7 Andrew Ng 自动化所报告听后感
原文:http://blog.sina.com.cn/s/blog_593af2a70102uwhl.html 一早出发,8点20就赶到现场, 人越聚越多,Ng提前几分钟到达现场,掌声一片. N ...
- 读《你不知道的JavaScript(上卷)》后感-作用域闭包(二)
github原文 一. 序言 最近我在读一本书:<你不知道的JavaScript>,这书分为上中卷,内容非常丰富,认真细读,能学到非常多JavaScript的知识点,希望广大的前端同胞们, ...
- 读《你不知道的JavaScript(上卷)》后感-浅谈JavaScript作用域(一)
原文 一. 序言 最近我在读一本书:<你不知道的JavaScript>,这书分为上中卷,内容非常丰富,认真细读,能学到非常多JavaScript的知识点,希望广大的前端同胞们,也入手看看这 ...
- CCF后感
3.21,昨天天梯训练赛完后查CCF成绩,300!小开心~~~我是合格的程序员啦~~~ 问题:第四题,如果输入数据有对于1本身来说 S 1 ,R 1有这个我就gg了,考完一直在担心这个反复看题也看不出 ...
随机推荐
- iReport+JasperReport+JSP 输出HTML方式预览
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEnco ...
- cts测试流程
测试目的: 用于检测你做的Android系统是否满足兼容性要求,通俗点说,Google认为Android系统应该满足的条件,你需要满足. 例如框架层暴露给应用层的某些接口,Google认为你因该有,那 ...
- 阅读笔记02-读懂HTTPS及其背后的加密原理
1 为什么需要https 使用https的原因其实很简单,就是因为http的不安全. 当我们往服务器发送比较隐私的数据(比如说你的银行卡,身份证)时,如果使用http进行通信.那么安全性将得不到保障. ...
- 牛顿法求极值及其Python实现
最初对于牛顿法,我本人是一脸懵的.其基本原理来源于高中知识.在如下图所示的曲线,我们需要求的是f(x)的极值: 对于懵的原因,是忘记了高中所学的点斜式,直接贴一张高中数学讲义: 因为我们一路沿着x轴去 ...
- python 按二维数组的某行或列排序 (numpy lexsort)
lexsort支持对数组按指定行或列的顺序排序:是间接排序,lexsort不修改原数组,返回索引. (对应lexsort 一维数组的是argsort a.argsort()这么使用就可以:argsor ...
- mac安装pip并升级pip版本
最近想安装inchat,直接使用命令pip install install,结果提示 使用提示中的命令升级,结果提示找不到pip.很郁闷,明明有pip,结果一升级还给升没了.最后用的是这个方法完美 ...
- CentOS防火墙命令集
1. firewalld的基本使用 启动防火墙: systemctl start firewalld 防火墙状态: systemctl status firewalld 停止防火墙: systemct ...
- JavaWeb防止用户的重复请求提交
这里实现这个重复提交的防止,是通过在一个FIlter过滤器中生成一个令牌token,保存在Session域中,然后在对这个token加密得到ciphertext(密文),将密文保存在request域中 ...
- Springboot消除switch-case方法
Springboot消除switch-case方法 背景 最近,在使用springboot开发一个接口的时候,需要根据接收的请求事件类型,去执行不同的操作,返回不同的结果,基本逻辑如下: String ...
- git 命令图解
git 命令图解 初始化版本库 git config user.name "lsgx" git config user.email "lsgxthink@163.co ...