书中的银行,我们一起奋斗的C#,只因乐在其中~
梦回C#,只因心中还留有那么一点执着,相信大家应该也有这些感触吧!!所以呢?我想给大伙分享我的一些学习,也希望大家能给我多点建议,让我们一起进步,共同成长!!!
那么我们就来看一下该怎么运用C#来构造一个银行系统的项目吧!
首先:
我们就得到把大的几个类给分清楚:{Bank类,Card、最后就是启动的系统类了},完了之后就该运用一些代码:
步骤:
.首先要创一个数组:代码如下:
Card[] cards = new Card[]; 
:初始化卡类:
public void InitialData() 
 { //01.准备一个卡对象 Card card1=new Card(); 
 card1.CardNo = ""; card1.CardOwner = "小英"; 
card1.CardPwd = "";   card1.Balance = 0.0; 
//02.将卡对象赋值给数组第一项  cards[0] = card1; //创建第2个卡对象 
Card card2=new Card();  card2.CardNo = "";  card2.CardOwner = "小颖";
card2.CardPwd = "";  card2.Balance = ; cards[] = card2;
那么我们就来了解一些具体的功能是怎么样的吧!
例如:开户、存取款、查询金额、真正转账等等,
 .开户
 Console.WriteLine("请输入卡号:"); 
  string cardNo = Console.ReadLine(); 
  Console.WriteLine("请输入密码:"); 
string cardPwd = Console.ReadLine(); 
 Console.WriteLine("请输入用户名:"); 
string cardOwner = Console.ReadLine(); 
 Console.WriteLine("请输入开户金额:"); 
double balance = double.Parse(Console.ReadLine()); 
//先将四个零散的属性装配成一个Card对象 Card card=new Card(); 
 card.CardNo = cardNo;  card.CardPwd = cardPwd;  card.CardOwner = cardOwner; 
 card.Balance = balance;  //01.将card对象赋值给数组第一个为null的项目 
for (int i = ; i < cards.Length; i++) {  if (cards[i]==null) 
 { //我就将card赋值给cards[i]  cards[i] = card; 
 Console.WriteLine("开户成功");  break;   } } Console.WriteLine("==================="); 
 Welcome();   }  //输出所有账户的持卡人,以及余额  public void PrintCustomerInfo()   {  foreach (Card item in cards) { 
//一个item就是一张卡  if (item!=null)   { 
 Console.WriteLine("用户名{0}\t余额{1}", item.CardOwner, item.Balance); 
 }
 .存款
Console.WriteLine("请输入卡号:"); string cardno = Console.ReadLine();
bool flag = false; //如何判断对方卡号存在 
foreach (Card item in cards) { if (item!=null) 
{ if (item.CardNo.Equals(cardno))//卡号存在 
{ //请输入金额 Console.WriteLine("请输入存款金额:"); 
int money = int.Parse(Console.ReadLine()); item.Balance += money; 
Console.WriteLine("存款成功"); Console.WriteLine("余额:{0}",item.Balance); flag = true; break; 
}
 .取款
bool flag = false;//默认没有该卡
       foreach (Card item in cards)
 {
       if (item!=null)
 {
 if (item.CardNo.Equals(account))//证明卡存在   003   001
 {
  //提示用户输入密码
 Console.WriteLine("请输入密码:");
  string pwd = Console.ReadLine();
     if (item.CardPwd.Equals(pwd))
   {
  //代码执行到这里,证明用户名和密码均正确
   Console.WriteLine("请输入取款金额:");
      int money = int.Parse(Console.ReadLine());
 if (money < item.Balance)
       {
    item.Balance = item.Balance - money;
               Console.WriteLine("取款成功,用户名是{0}的账户余额是{1}", item.CardOwner, item.Balance);
           }
   else          {
         Console.WriteLine("余额不足");
               }
         }
  else
 { 
 .转账
 bool outCardFlag = false;//默认转入卡不存在
           int type = ;
           foreach (Card card in cards)
           {
     if (card!=null)
               {
 if (card.CardNo.Equals(outCardNo)) //卡号一致
           {
          flag = true;
                       //判定密码是否一致
       if (card.CardPwd.Equals(outCardPwd)) //密码一致
                       {
    //用户名 密码均正确,可以执行后续内容
      Console.WriteLine("请输入转入卡卡号");
        string inCardNo = Console.ReadLine();
     #region 内层循环,转入卡
       foreach (Card card1 in cards)
  {
      if (card1 != null)
        {
    if (card1.CardNo.Equals(inCardNo)) //转入卡存在
         {
       type = ;
           //存在,可以提示输入转账金额
          Console.WriteLine("请输入转账金额");
       int money = Convert.ToInt32(Console.ReadLine());
             if (money <= card.Balance) //合法
  {
        while (money %  != ) //不是面值100的
        {
      Console.WriteLine("您输入的不合法");
           money = Convert.ToInt32(Console.ReadLine());
        }
好了,看完了之后、有没有那么一点点收获呢!如果没有,请大家多多提建议、多多关注吧!!
我会在这里等着大家来一起分享学习的快乐,
书中的银行,我们一起奋斗的C#,只因乐在其中~的更多相关文章
- 关于《Head First Python》一书中print_lol()函数的思考
		
关于<Head First Python>一书中print_lol()函数的思考 在<Head First Python>第一章中,讲述到Python处理复杂数据(以电影数据列 ...
 - [CareerCup] 17.9 Word Frequency in a Book 书中单词频率
		
17.9 Design a method to find the frequency of occurrences of any given word in a book. 这道题让我们找书中单词出现 ...
 - 【强烈推荐】《剑指Offer:名企面试官精讲典型编程题》一书中IT名企经典面试题
		
各位程序猿: <剑指Offer>一书源自该书作者何海涛坚持更新与编写的博客(http://zhedahht.blog.163.com/),该博客收集整理了大量如微软.Goo ...
 - C++primer原书中的一个错误(派生类using声明对基类权限的影响)
		
在C++primer 第4版的 15章 15.2.5中有以下这样一段提示: "注解:派生类能够恢复继承成员的訪问级别,但不能使訪问级别比基类中原来指定的更严格或者更宽松." 在vs ...
 - 基于python的《Hadoop权威指南》一书中气象数据下载和map reduce化数据处理及其可视化
		
文档内容: 1:下载<hadoop权威指南>中的气象数据 2:对下载的气象数据归档整理并读取数据 3:对气象数据进行map reduce进行处理 关键词:<Hadoop权威指南> ...
 - 运用《深入理解Java虚拟机》书中知识解决实际问题
		
前言 以前看别人博客说看完<深入理解Java虚拟机>这本书并没有让自己的编程水平提高多少,不过却大大提高了自己的装逼水平.其实,我倒不这么认为,至少在我看完一遍这本书后,有一种醍醐灌顶的感 ...
 - Spring Bean的生命周期,《Spring 实战》书中的官方说法
		
连着两天的面试 ,都问到了 Spring 的Bean的生命周期,其中还包括 昨晚一波阿里的电话面试.这里找到了Spring 实战中的官方说法.希望各位要面试的小伙伴记住,以后有可能,或者是有时间 去看 ...
 - 《Unity3D 实战核心技术详解》书中关于矩阵的错误
		
最近一直在学习实时渲染,不免要接触线性代数.而渲染中,一定会用到矩阵,当我再次去复习我之前看的书时,发现<Unity3D 实战核心技术详解>关于矩阵就有几处错误 ,特标注出来. 书的第一章 ...
 - 数据科学实战手册(R+Python)书中引用资料网址
		
本文会持续将<数据科学实战手册(R+Python)>一书中的附带参考资料网址手打出来, 方便访问. 由于书中的参考资料网址太多, 这个文档将可能花费一段时间才能完成. 第一章 P7 Rs ...
 
随机推荐
- EF操作多数据库
			
1.Account3_Register_DB_Model作为(空)模板库,根据此模板生成的其他数据除了数据库名称不一样,其他表,视图,字段等等都一致 2.Account3_Platform_Maste ...
 - Echarts 3.19 制作常用的图形 非静态
			
最近阿里内部使用的 图表也向外开放了 而百度就好像更有良心一点,Echarts 早就开放了 . 自己学Echarts的时候走了很多的弯路,毕竟谁让自己菜呢,多撞几次南墙才晓得疼 才知道学习方法,新手上 ...
 - linux通过挂载系统光盘搭建本地yum仓库的方法
			
1.挂载光盘 [root@localhost ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 /media下的cdrom ...
 - C# List<T> 合并、去重、查找
			
List<,,,,,}; List<,,,,}; listA.AddRange(listB );//把集合A.B合并 List<int> Result = listA.Unio ...
 - python之路:Day02 --- Python基础2
			
本节内容 1.列表操作 2.元组操作 3.字符串操作 4.字典操作 5.集合操作 6.文件操作 7.字符编码与转换 一.列表操作 定义列表 names = ['Ming',"Hua" ...
 - InvokeRequired 线程间访问
			
zt: http://www.x2blog.cn/jinhong618/?tid=22389 问: f (this.InvokeRequired) { ...
 - vim 加行号 和取消行号
			
:set nu #是加行号 :set nonu #是去掉行号
 - 让tomcat启动更快的设置
			
http://wiki.apache.org/tomcat/HowTo/FasterStartUp#Entropy_Source 关于随机数的"熵源"(entropy source ...
 - 如何托管ASP.NET Core应用到Windows Service中
			
(此文章同时发表在本人微信公众号"dotNET开发经验谈",欢迎右边二维码来关注.) 题记:正在构思一个中间件的设计,考虑是否既可以使用最新的技术,也可以兼顾传统的部署模式.所以有 ...
 - winform快速开发平台 -> 基础组件之分页控件
			
一个项目控件主要由及部分的常用组件,当然本次介绍的是通用分页控件. 处理思想:我们在处理分页过程中主要是针对数据库操作. 一般情况主要是传递一些开始位置,当前页数,和数据总页数以及相关关联的业务逻辑. ...