练习题:试使用编程实现银行、ATM等功能

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
//创建账户wangcehnjun
Account wangchenjun = new Account("wangchenjun", "");
//创建账户niejiong
Account niejiong = new Account("niejiong", ""); //创建ATM机Transfer1
ATM Transfer1 =new ATM();
//用户wangchenjun存入余额100万元
wangchenjun.toDeposit(); Console.WriteLine("wangchenjun用户的余额为: {0}元",wangchenjun.getBalance()); //使用ATM机Transfer1,从用户wangchenjun向用户niejiong转账500元
if (Transfer1.toTransfer(wangchenjun, niejiong, ))
Console.WriteLine("转账已完成!");
else Console.WriteLine("转账未完成!"); //用户wangchenjun取出50元现金
wangchenjun.toTakeOut(); Console.WriteLine("wangchenjun用户的余额为:{0}元",wangchenjun.getBalance());
Console.WriteLine("niejiong用户的余额为:{0}元", niejiong.getBalance()); Console.ReadKey(); }
}
class Account
{
//用户名
private string userName = ""; //用户密码
private string userPassword = ""; //用户余额(balance)
private int userBalance = ; //创建账号,构造函数,输入姓名和密码
public Account(string name, string password)
{
userName = name;
userPassword = password;
} //获取该账户的用户名
public string getUserName()
{
return userName;
} //获取账户余额
public int getBalance()
{ return userBalance; } //存钱
public bool toDeposit(int numOfDeposit)
{
if (numOfDeposit >= ) //存储金额为正数
{
userBalance = userBalance + numOfDeposit;
return true;
}
else
{
return false;
}
} //取钱
public bool toTakeOut(int numOfTakeOut)
{
if ((numOfTakeOut >= ) && (numOfTakeOut <=userBalance)) //要保证取钱数为正数,且要小于余额
{
userBalance = userBalance - numOfTakeOut;
return true;
}
else return false;
} } class ATM
{
//ATM主要用于转账,该类只包含转账这一种方法
public bool toTransfer(Account account1,Account account2,int amount)
{
bool isTakeOutOK = account1.toTakeOut(amount);
if (isTakeOutOK)
{
Console.Write("账户1({0})转出{1}元成功!",account1.getUserName(), amount);
bool isDepositOK = account2.toDeposit(amount);
if (isDepositOK)
{
Console.Write("账户2({0})转入{1}元成功!", account2.getUserName(),amount);
return true;
}
else
{
account1.toDeposit(amount); //将扣的钱退回到account1
Console.Write("转账失败!");
return false;
}
}
else
{
Console.Write("转账失败!");
return false;
}
}
}
}

运行结果:

练习题:试使用C#编程实现银行、ATM等功能的更多相关文章

  1. 银行ATM机工作流程模拟编程

    [编程内容] 编程,模拟一个ATM(Automatic Teller Machine,自动取款机)的工作流程.依据帐户信息:姓名.帐号.密码.余额,完成ATM机功能:登录.显示余额.取款.修改密码. ...

  2. MySQL银行ATM存取款机系统(需求分析)

    银行ATM需求文档 一.E-R图形文 二.开发步骤 1.明确需求--数据库设计--编码实现功能--测试 2.绘制e-r图--绘制数据库模型图--使用三大方式规范数据库结构 三.开发思路 1. 模型图综 ...

  3. 实验01——java模拟银行ATM系统

    用java写的一个模拟银行系统,比较初级. ATM.java package cn.tedu.yinhang; import java.util.Scanner; /** * @author 赵瑞鑫 ...

  4. 银行ATM存取款系统(C语言实现)

    这里使用的运行工具是DEV C++.老铁们一定要看仔细了.是DEV C++ 仅供借鉴:这个是大一时期写的.大四的时候整理了一下(本人C语言学的也不太好).肯定很多不足和存在漏洞的地方.仅供借鉴.仅供借 ...

  5. jsp+servlet+mysql 实现简单的银行登录转账功能

    jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...

  6. NODE编程(一)--Node功能的组织和重用

    Node开发面对的两个问题: 1.如何组织代码 2.如何进行异步编程. 一.Node功能的组织和重用 Node模块允许你从被引入文件中选择要暴露给程序的函数和变量.如果模块返回的函数或变量不止一个,那 ...

  7. 银行ATM机工作流程模拟编程(代码)

    #include<stdio.h>#include<stdlib.h>#include <conio.h>#include <string.h> voi ...

  8. 模拟银行ATM系统(基础版)

    Account类 package ATM; public class Account {//定义Account类 private String accountID;//用于存储学生的用户账号(由八位数 ...

  9. 数据库期末作业之银行ATM存取款机系统

    --一.建库.建表.建约束 --1.使用SQL创建表 --客户信息表userinfo --字段名称 说明 备注 --customerID 顾客编号 自动编号(标识列),从1开始,主键 --用序列seq ...

随机推荐

  1. 简单Socket网络通信

    问题:编写一个网络应用程序,有客户端和服务端,客户端向服务端发送一个字符串(如"Hello Socket"),服务器收到该 字符串后将其打印到命令行上,然后向客户端返回该字符串的长 ...

  2. 阅读github上的项目源码

    1.基础资料 函数手册,类库函数手册2.和程序相关的专业资料 高数,linux文件系统3.相关项目的文档资料4.留备份,构造可运行的环境,找开始的地方 main(),5.分层次阅读,写注解,编程思想, ...

  3. python学习小总结(列表、元组、字典、集合、字符串)

    ---恢复内容开始--- 一.列表(list) 1.添加 append():追加,在列表末尾添加元素. 列表名.append(添加的元素) extend():扩展,在列表末尾添加元素. 列表名.ext ...

  4. jquery的js代码兼容全部浏览器的解决方法

    //以下均可console.log()实验   var winW=document.body.clientWidth||document.docuemntElement.clientWidth;//网 ...

  5. js实现农历时间代码

    var dNow = new Date(); var CalendarData=new Array(100); var madd=new Array(12); var tgString="甲 ...

  6. [NOIP2014D1]

    T1 Problem 洛谷 Solution 一道非常裸的模拟题.直接枚举每次猜拳就可以了. Code #include<cmath> #include<cstdio> #in ...

  7. IE浏览器下flex布局的bug

    原文地址:gitub上的Flexbugs list,可以看到Flex布局在IE糟糕表现的详细描述. 2. Column flex items set to align-items:center ove ...

  8. 电脑小白和ta的小白电脑——Tomcat服务器

    配置web服务器tomcat,这里默认了已经配置JAVA开发环境↓ https://www.cnblogs.com/gifted35/p/9775112.html (一)下载tomcat 我安装的服务 ...

  9. Python with open as函数

    可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件. 当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入. 只有调用close ...

  10. erlang证书加密

    -module(...). -include("ewp.hrl").-include("backend.hrl").-include_lib("pub ...