C++编写ATM
偶然看到的一段代码,代码虽然简单,但是挺有意思:
#include <iostream> #include <conio.h> //全局变量 float sum_money= 9999; float money= 0; //标记作用 int flag= 1; int mark; //打印星号 void start(void) { for(int i= 0; i<45; i++) { std::cout<<"*"; } std::cout<<"\n"; } //显示功能选项 void display_function(void) { std::cout<<"1.查询"<<std::endl; std::cout<<"2.取款"<<std::endl; std::cout<<"3.存款"<<std::endl; std::cout<<"4.转账"<<std::endl; std::cout<<"0.退出"<<std::endl; } int display_number(int num) { switch(num) { case 0: { start(); std::cout<<"谢谢,您选择0号功能:退出"<<std::endl; start(); return 0; } case 1: { start(); std::cout<<"谢谢,您选择1号功能:查询"<<std::endl; std::cout<<"您的账号有:"; std::cout<<sum_money<<"元乐币"<<std::endl; start(); return 1; } case 2: { start(); std::cout<<"谢谢,您选择2号功能:取款"<<std::endl; std::cout<<"请输入您要取的乐币:"; std::cin>>money; if(money> sum_money) { std::cout<<"您要取的乐币大于余额,此操作终结!"<<std::endl; start(); return 1; } sum_money-= money; std::cout<<"您的账户有:"; std::cout<<sum_money<<"乐币"<<std::endl; start(); return 1; } case 3: { start(); std::cout<<"谢谢,您选择3号功能:存款"<<std::endl; std::cout<<"请输入您要存的乐币:"; std::cin>>money; sum_money+= money; std::cout<<"您的账户有:"<<sum_money<<"乐币"<<std::endl; start(); return 1; } case 4: { start(); std::cout<<"谢谢,您选择4号功能:转账"<<std::endl; std::cout<<"请输入您要转的乐币:"<<std::endl; std::cin>>money; if(money> sum_money) { std::cout<<"您要转乐币大于余额,此操作被终结!"<<std::endl; start(); return 1; } sum_money-= money; std::cout<<"您账户有:"<<sum_money<<"乐币"<<std::endl; start(); return 1; } } std::cout<<"您输入的数字没有相应的功能!, 不要着急,再来一次。"<<std::endl; return 1; //当num没有匹配时返回1 } int main() { std::cout<<"************************欢迎来到乐多多一号银行***********************"<<std::endl<<std::endl; char password[7]="123456"; char keep_password[7]; //打印星号 start(); for(int j=0; j<3; j++) { std::cout<<"请输入您的密码(六位数哦):"; for(int k=0; k< 7; k++) { keep_password[k]=getch(); if(k<6) { std::cout<<"*"; } } std::cout<<"\n"; for(int i=0; i< 6; i++) { if(password[i]== keep_password[i]) { flag= 1; //第i位相同 } else { flag=0; break; } } if(j<3 && flag==0) { std::cout<<"您的密码错误"<<std::endl; } else if(j< 3) { std::cout<<"密码正确,请继续操作."<<std::endl; break; } else if(j>= 3) { std::cout<<"您已输入错误密码3次,银行卡被锁住!"<<std::endl; return -1; } } display_function(); int num; while(1) { std::cout<<"输入您选择的功能号:"; std::cin>>num; mark=display_number(num); if(mark==0) { std::cout<<"您已经退出乐多多一号银行,欢迎再次使用"<<std::endl; break; } } //打印星号 start(); return 0; }
C++编写ATM的更多相关文章
- C++编写ATM(2)
//上一个程序,密码不能被隐藏和该ATM可以让人取大于余额的乐币,这可定不行的.所以再次改了下,解决这两个问题. // ATM的初始.cpp : 定义控制台应用程序的入口点. // /******** ...
- C++编写ATM(1)
// ATM的初始.cpp : 定义控制台应用程序的入口点. // /************************************************* 运行环境: VS2008 作者 ...
- Python学习笔记-练习编写ATM+购物车(购物商城)
作业需求: 模拟实现一个ATM + 购物商城程序: 1.额度 15000或自定义 2.实现购物商城,买东西加入 购物车,调用信用卡接口结账 3.可以提现,手续费5% 4.支持多账户登录 5.支持账户间 ...
- JS基础——ATM机终端程序编写(3.0)
利用函数进行代码实现,要点:将每一项操作单独写成一个函数,在需要时进行调用,弄清参数的传递. 创建模拟账户 使用数组创建账户 let user = ["xiaohei", 1234 ...
- python函数版ATM
最近系统的学习python函数知识点,感觉在面向对象之前,函数的功能确实强大. 最近使用函数写了ATM项目,虽然需求简单但也有很多知识点需要注意,这个项目把python基础的很多知识点都用上了. 前前 ...
- C#多线程之旅~上车吧?
前言:前几天,写了一篇关于多线程使用的文章,[线程使用]用法得到不少博友的好评,博主这几天加班写文章,把剩下的高级使用给写完,期望可以得到博友的追赞吧,那么废话不多说,开始我们的C#高级用法之旅!! ...
- 第十九天 标准目录与time 模块
今日内容 1.目录规范 ***** (1)文件夹的规范写法 bin 可执行文件 conf 配置文件 core 主要业务逻辑 db 数据文件 lib 库 (公共代码 第三方模块) log 日志文件 ...
- Python之模块和包导入
Python之模块和包导入 模块导入: 1.创建名称空间,用来存放模块XX.py中定义的名字 2.基于创建的名称空间来执行XX.py. 3.创建名字XX.py指向该名称空间,XX.名字的操作,都是以X ...
- python常用模块:项目目录规范、定制程序入口、自定义模块、引用变量、time和datetime模块
今天讲课内容有两大部分: 一.文件目录规范二.定制程序入口三.使用标准目录后四.常规函数time.datetime 一.标准目录规范 之前用过的案例atm机+购物商城代码过长,在学习了模块和包以后,我 ...
随机推荐
- Linux下用程序实现统计cpu和内存的利用率
Linux下没有直接可以调用系统函数知道CPU占用和内存占用.那么如何知道CPU和内存信息呢.只有通过proc伪文件系统来实现. proc伪文件就不介绍了,只说其中4个文件.一个是/proc/stat ...
- python2.7入门---运算符
已经分享过变量类型的基本概念了,接下来就研究了一下运算符的基础知识.接下来我们就来看一下内容.举个简单的例子 4 +5 = 9 .例子中,4 和 5 被称为操作数,"+" ...
- HttpClient 实现 get,post请求
private String sendPost(Map<String,Object> data, String url) { CloseableHttpClient httpClient ...
- 如何查看cisco 生成树状态
如何查看cisco 生成树状态 Role(角色): 1.Desg(指定端口) 2.Root(根端口) 3.Altn(替换端口) Sts(状态): 1.FWD(转发) 2.BLK( ...
- JVM内部原理
这篇文章详细描述了Java虚拟机的内在结构.下面这张图来自<The Java Virtual Machine Specification Java SE 7 Edition>,它展示了一个 ...
- 原生JS实现圆周运动
<body> <div id="ball" style="width:20px; height:20px; background:red; border ...
- 【java集合系列】--- LinkedList
开篇前言--LinkedList中的基本用法 在前面的博文中,小编介绍List接口中的ArrayList集合,List这个接口,有两个实现类,一个就是ArrayList另一个是LinkedList(链 ...
- 到底什么是集群&分布式
对于楼主这样工作一年的菜鸟,偶尔会看到一些文章标题带有"分布式""集群"关键字,然后就懵逼了.最近对这些概念进行了一定的了解,整理了一下思路,在这里分享给各位猿 ...
- iOS 10.0之前和之后的Local Notification有神马不同
在iOS 10.0之前apple还没有将通知功能单独拿出来自成一系.而从10.0开始原来的本地通知仍然可用,只是被标记为过时.于是乎我们可以使用10.0全新的通知功能.别急-让我们慢慢来,先从iOS ...
- Android Multimedia框架总结(十五)Camera框架之Camera2补充
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52751055 前言:监于5.0之 ...