练习题:试使用C#编程实现银行、ATM等功能
练习题:试使用编程实现银行、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等功能的更多相关文章
- 银行ATM机工作流程模拟编程
[编程内容] 编程,模拟一个ATM(Automatic Teller Machine,自动取款机)的工作流程.依据帐户信息:姓名.帐号.密码.余额,完成ATM机功能:登录.显示余额.取款.修改密码. ...
- MySQL银行ATM存取款机系统(需求分析)
银行ATM需求文档 一.E-R图形文 二.开发步骤 1.明确需求--数据库设计--编码实现功能--测试 2.绘制e-r图--绘制数据库模型图--使用三大方式规范数据库结构 三.开发思路 1. 模型图综 ...
- 实验01——java模拟银行ATM系统
用java写的一个模拟银行系统,比较初级. ATM.java package cn.tedu.yinhang; import java.util.Scanner; /** * @author 赵瑞鑫 ...
- 银行ATM存取款系统(C语言实现)
这里使用的运行工具是DEV C++.老铁们一定要看仔细了.是DEV C++ 仅供借鉴:这个是大一时期写的.大四的时候整理了一下(本人C语言学的也不太好).肯定很多不足和存在漏洞的地方.仅供借鉴.仅供借 ...
- jsp+servlet+mysql 实现简单的银行登录转账功能
jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...
- NODE编程(一)--Node功能的组织和重用
Node开发面对的两个问题: 1.如何组织代码 2.如何进行异步编程. 一.Node功能的组织和重用 Node模块允许你从被引入文件中选择要暴露给程序的函数和变量.如果模块返回的函数或变量不止一个,那 ...
- 银行ATM机工作流程模拟编程(代码)
#include<stdio.h>#include<stdlib.h>#include <conio.h>#include <string.h> voi ...
- 模拟银行ATM系统(基础版)
Account类 package ATM; public class Account {//定义Account类 private String accountID;//用于存储学生的用户账号(由八位数 ...
- 数据库期末作业之银行ATM存取款机系统
--一.建库.建表.建约束 --1.使用SQL创建表 --客户信息表userinfo --字段名称 说明 备注 --customerID 顾客编号 自动编号(标识列),从1开始,主键 --用序列seq ...
随机推荐
- 小程序一个大盒子里面的盒子内容居中对其显示wxss写法
对小程序研究感兴趣的可加(交流QQ群:604788754)入群联系群主可得到小程序教学资源. 这个案例只是想展示效果,内容部分未进行for循环绑定处理: WXML: <view class=&q ...
- 原生Android 注意事项
如果要访问 互联网上的json数据的话 就要在 该目录下添加 访问的权限: <uses-permission android:name="android.permission.INTE ...
- Nginx实现404页面的几种方法
一个网站项目,肯定是避免不了404页面的,通常使用Nginx作为Web服务器时,有以下集中配置方式,一起来看看. 第一种:Nginx自己的错误页面 Nginx访问一个静态的html 页面,当这个页面没 ...
- vue-cli axios跨域 + 反向代理模拟http请求host+referer
axios跨域 配置config->index.js中的proxyTable,内容如下: proxyTable: { // 跨域请求 '/api': { // 注意此处可设置为 '*' 代表不限 ...
- 【基于微信小程序的社区电商平台】Alpha迭代心得
项目团队:小豆芽 开发周期:11.5-12.2(Alpha版本) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决问题:当前电商平台卖家买家角 ...
- FastReport预览后直接邮件发送
- FreeType使用的总结
http://www.cppblog.com/liangairan/archive/2016/09/11/214270.html 这里说一下Freetype的关键点,比较基础的在很多文章已经有说明,这 ...
- struts拦截器的知识
如何使用struts2拦截器,或者自定义拦截器.特别注意,在使用拦截器的时候,在Action里面必须最后一定要引用struts2自带的拦截器缺省堆栈defaultStack,如下(这里我是引用了str ...
- python 游戏 —— 汉诺塔(Hanoita)
python 游戏 —— 汉诺塔(Hanoita) 一.汉诺塔问题 1. 问题来源 问题源于印度的一个古老传说,大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆 ...
- 【译】如何编写“移动端优先”CSS
原文链接:https://zellwk.com/blog/how-to-write-mobile-first-css/ 构建响应式网站是如今前端开发者的必备技能,当我们谈到响应式网站时,“移动端优先” ...