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了,考完一直在担心这个反复看题也看不出 ...
随机推荐
- jenkins自动化打包报错:gradle: 未找到命令
shell脚本如下: cd /home/wangju/gitProject/Automation echo "************************开始清理环境********** ...
- day27—JavaScript实现定时器及其应用案例
转行学开发,代码100天——2018-04-12 JavaScript中定时器有两种,分别是setInterval和setTimeout;其用法如下: 开启: setTimeout("fun ...
- Python 操作 mongodb 亿级数据量使用 Bloomfilter 高效率判断唯一性 例子
工作需要使用 python 处理 mongodb 数据库两亿数据量去重复,需要在大数据量下快速判断数据是否存在 参考资料:https://segmentfault.com/q/101000000061 ...
- CSS学习笔记2:选择器
标签选择器 1.选择要给样式的目标标签,所以叫做标签选择器,也叫元素选择器. 2.给所有相同标签,给相同样式. <!DOCTYPE html> <html lang="en ...
- redis连接报错:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to...
连接redis报错: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persis ...
- 07 (H5*) js课程第8天 高阶函数、闭包、沙箱
目录: 1:call和apply方法调用 2:bind方法复制 3:函数中的几个属性值 4:高阶函数,函数作为参数 5:高阶函数,函数作为返回值. 6: 作用域链,作用域,预解析 7:闭包--延长 ...
- 记一次 Json 对象转换为 Java 对象的问题
1.描述 最近在使用 Jackson 将 Json 串转换回 Java 对象的时候遇到了 ClassCastException 错误,特此记述. 2.问题复现 问题出现的节点在于属性节点的 JavaT ...
- C++学习笔记(四)--指针
1.指针(变量的地址): 指针变量:存放指针(地址)的变量 直接存取(访问):按变量地址取值 间接存取(访问):将变量的地址放入指针变量中 定义指针变量:基类型 *指针变量名 2.与指针有关的运算符: ...
- Source Insight symbol not found
使用SourceInsight查看源代码时,发现点击查看相关类型时,无法关联到其代码,出现 symbol not found, 然而明明在我的头文件有定义的 网上查了一下主要是因为新建工程导入文件后, ...
- 如何在C#中使用sqlite,一个简单的类
</pre><pre name="code" class="csharp"> using System.Collections.Gene ...