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后感的更多相关文章

  1. 开发之道——读《移山之道——VSTS开发之道》后感

    开发之道——读<移山之道——VSTS开发之道>后感 <移山之道——VSTS开发之道>(下简称<移山之道>)是邹欣老师的另一本书.相传很有名的<构建之法> ...

  2. 《阿里巴巴编码规范(JAVA)》认证考后感

    2018.02.15除夕拿下了阿里云认证的<阿里巴巴编码规范(JAVA)>认证,写下这篇考后感,记录考试中碰到的一些考点. 先总体介绍下这个考试规则,50道选择题,大部分是多选题,有少部分 ...

  3. <<甄嬛传>>后感

    2020年疫情和休假的时间里,刷了几部喜欢的电视剧,从<好先生>孙红雷和车晓的现代剧,到刷了至少6遍的<新三国>后,一直想了解司马懿和曹丕,接着就到了<大军师司马懿之军师 ...

  4. 2016-Beijing-GDG-DevFest大会参后感

    前话 15年初的时候参加过一次GDG线下举办的一次分享会,因为当时是实习的公司提供的活动场地.有了那次机会后,就一直关注了GDG的活动. 参加的目的最重要的是本次大会是比较盛大的一场技术大会,在经过一 ...

  5. 几个 Ceph 性能优化的新方法和思路(2015 SH Ceph Day 参后感)

    一周前,由 Intel 与 Redhat 在10月18日联合举办了 Shanghai Ceph Day.在这次会议上,多位专家做了十几场非常精彩的演讲.本文就这些演讲中提到的 Ceph性能优化方面的知 ...

  6. 2014-7 Andrew Ng 自动化所报告听后感

    原文:http://blog.sina.com.cn/s/blog_593af2a70102uwhl.html 一早出发,8点20就赶到现场, 人越聚越多,Ng提前几分钟到达现场,掌声一片.    N ...

  7. 读《你不知道的JavaScript(上卷)》后感-作用域闭包(二)

    github原文 一. 序言 最近我在读一本书:<你不知道的JavaScript>,这书分为上中卷,内容非常丰富,认真细读,能学到非常多JavaScript的知识点,希望广大的前端同胞们, ...

  8. 读《你不知道的JavaScript(上卷)》后感-浅谈JavaScript作用域(一)

    原文 一. 序言 最近我在读一本书:<你不知道的JavaScript>,这书分为上中卷,内容非常丰富,认真细读,能学到非常多JavaScript的知识点,希望广大的前端同胞们,也入手看看这 ...

  9. CCF后感

    3.21,昨天天梯训练赛完后查CCF成绩,300!小开心~~~我是合格的程序员啦~~~ 问题:第四题,如果输入数据有对于1本身来说 S 1 ,R 1有这个我就gg了,考完一直在担心这个反复看题也看不出 ...

随机推荐

  1. DELPHI 全局变量和局部变量的区别

    全局变量: 如果我们在应用程序一个单元中的interface关键字和implementation关键字之间的区域,定义一个全局变量,假如这个单元在别的地方被引用,那么这个单元的全 局变量能够在别的地方 ...

  2. CSS学习笔记1:字体样式属性

    CSS初识 成叠样式表,主要用于设置html页面的外观 产生原因:为了解决混乱的结构和样式,使结构和样式相分离. CSS注释 /*这是CSS注释*/ CSS样式规则 1.选择器用于指定css样式作用的 ...

  3. 应用安全-XXE(XML外部实体注入)攻防整理

    libxml2..1及以后,默认不解析外部实体.测试的时候window下使用php5.(libxml Version ), php5.(libxml Version ).Linux中需要将libxml ...

  4. Mac006--swithchosts安装

    Mac006--swithchosts安装 使用brew命令安装:brew cask install switchhosts 因为mac上,网络下载无法进行安装,所以应用brew命令安装. switc ...

  5. 《JAVA设计模式》之组合模式(Composite)

    在阎宏博士的<JAVA与模式>一书中开头是这样描述合成(Composite)模式的: 合成模式属于对象的结构模式,有时又叫做“部分——整体”模式.合成模式将对象组织到树结构中,可以用来描述 ...

  6. Zepto v1.0-1源码注解

    /* Zepto v1.0-1-ga3cab6c - polyfill zepto detect event ajax form fx - zeptojs.com/license */ ;(funct ...

  7. Docker配置远程访问

    近来学习Docker部署微服务,需要配置Docker的远程访问,由于实际环境和学习资料有出入,尝试着根据网上搜索的一些相关资料进行配置,未能成功.最终通过自己摸索,成功配置Docker远程访问.现和大 ...

  8. [Bzoj3224][Tyvj1728] 普通平衡树(splay/无旋Treap)

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3224 平衡树入门题,学习学习. splay(学习yyb巨佬) #include<b ...

  9. [烧脑时刻]EL表达式1分钟完事

    一天,程序员A问我,我们比比谁的知识点多,反应快.我回答:那就看谁最快用EL表达式的显示在页面上吧. 话不多说,计时开始. 项目的结构如上,大概就是一个Family的JavaBean,一个jsp页面, ...

  10. elasticsearch 基础 —— URI搜索

    URI搜索 可以通过提供请求参数使用URI来执行搜索请求.使用此模式执行搜索时,并非所有搜索选项都会暴露.这是一个例子: GET twitter/_search?q=user:kimchy 示例响应: ...