// ATM的初始.cpp : 定义控制台应用程序的入口点。
//
/*************************************************
运行环境: VS2008
作者:USinging
******************************************************/ #include "stdafx.h"
#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;
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;
sum_money-= money;
std::cout<<"您账户有:"<<sum_money<<"乐币"<<std::endl;
start();
return 1;
}
}
std::cout<<"您输入的数字没有相应的功能!, 不要着急,再来一次。"<<std::endl;
return 1; //当num没有匹配时返回1
} int _tmain(int argc, _TCHAR* argv[])
{
std::cout<<"************************欢迎来到乐多多一号银行***********************"<<std::endl<<std::endl; char password[7]="123456";
char keep_password[7]; //打印星号
start(); for(int j=0; j<3; j++)
{
std::cout<<"请输入您的密码(六位数哦):";
std::cin.getline(keep_password, 7); for(int i=0; i< 6; i++)
{
if(password[i]== keep_password[i])
{
flag= 1;
}
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(1)的更多相关文章

  1. C++编写ATM(2)

    //上一个程序,密码不能被隐藏和该ATM可以让人取大于余额的乐币,这可定不行的.所以再次改了下,解决这两个问题. // ATM的初始.cpp : 定义控制台应用程序的入口点. // /******** ...

  2. Python学习笔记-练习编写ATM+购物车(购物商城)

    作业需求: 模拟实现一个ATM + 购物商城程序: 1.额度 15000或自定义 2.实现购物商城,买东西加入 购物车,调用信用卡接口结账 3.可以提现,手续费5% 4.支持多账户登录 5.支持账户间 ...

  3. C++编写ATM

          偶然看到的一段代码,代码虽然简单,但是挺有意思: #include <iostream> #include <conio.h> //全局变量 float sum_m ...

  4. JS基础——ATM机终端程序编写(3.0)

    利用函数进行代码实现,要点:将每一项操作单独写成一个函数,在需要时进行调用,弄清参数的传递. 创建模拟账户 使用数组创建账户 let user = ["xiaohei", 1234 ...

  5. python函数版ATM

    最近系统的学习python函数知识点,感觉在面向对象之前,函数的功能确实强大. 最近使用函数写了ATM项目,虽然需求简单但也有很多知识点需要注意,这个项目把python基础的很多知识点都用上了. 前前 ...

  6. C#多线程之旅~上车吧?

    前言:前几天,写了一篇关于多线程使用的文章,[线程使用]用法得到不少博友的好评,博主这几天加班写文章,把剩下的高级使用给写完,期望可以得到博友的追赞吧,那么废话不多说,开始我们的C#高级用法之旅!! ...

  7. 第十九天 标准目录与time 模块

      今日内容 1.目录规范 ***** (1)文件夹的规范写法 bin 可执行文件 conf 配置文件 core 主要业务逻辑 db 数据文件 lib 库 (公共代码 第三方模块) log 日志文件 ...

  8. Python之模块和包导入

    Python之模块和包导入 模块导入: 1.创建名称空间,用来存放模块XX.py中定义的名字 2.基于创建的名称空间来执行XX.py. 3.创建名字XX.py指向该名称空间,XX.名字的操作,都是以X ...

  9. python常用模块:项目目录规范、定制程序入口、自定义模块、引用变量、time和datetime模块

    今天讲课内容有两大部分: 一.文件目录规范二.定制程序入口三.使用标准目录后四.常规函数time.datetime 一.标准目录规范 之前用过的案例atm机+购物商城代码过长,在学习了模块和包以后,我 ...

随机推荐

  1. maven 启动忽略test

    两种方法 1,--命令 mvn install -Dmaven.test.skip=true 2.pom.xml 文件 在tomcat 下面的pom.xml 文件里面加上如下 <!--  ski ...

  2. ASP.NET-FineUI开发实践-11

    我用实例项目写了个子父页面传值,算是比较灵活的写法,可以把js提取出来写成包,然后调用,我先一步一步写,为有困难的朋友打个样. 先画个页面: 上面是个查询用的表单,底下是表格,内存分页,用到了VBox ...

  3. 用java写bp神经网络(一)

    根据前篇博文<神经网络之后向传播算法>,现在用java实现一个bp神经网络.矩阵运算采用jblas库,然后逐渐增加功能,支持并行计算,然后支持输入向量调整,最后支持L-BFGS学习算法. ...

  4. iOS App上传中遇到的问题

    1. 今天打包上传文件时出现“Missing iOS Distribution signing identity for XXXX” 导致问题的原因是:下边这个证书过期了 以下是苹果官方给出的回应: ...

  5. Sql Server使用技巧

    1.修改表的字段时,提示不能更改: 工具>选项>设计器>取消 阻止保存要求重新创建表的更改 2.更改选择多少行,编辑多少行: 工具>选项>Sql Server对象资源管理 ...

  6. 05_Smart-image通过SoftReference提高性能

    文章导读: 文件介绍了常见的图片下载开源插件smart-image, 由于移动设备硬件受限,因此Android的相关app都要考虑到性能的关系, 所以很多的第三方插件都使用到了缓存cache技术,本人 ...

  7. idea 多模块项目依赖父工程class找不到问题

    比如,我们有这么个过程,项目结构如下: a --b --c a是总结点,b是子节点,c是父节点 b依赖父节点class,通过maven构建时通常我们会在子节点中添加父节点依赖,如: <depen ...

  8. uva 11673 Garbage Remembering Exam (概率)

    题目链接: http://vjudge.net/problem/viewProblem.action?id=42000 该过程为随即过程,因此总期望值等于个单词对应的期望值,即它们wasted的概率 ...

  9. 【NEERC 2003】有向图破坏

    [题目描述] Alice和Bob正在玩如下的游戏.首先Alice画一个有N个顶点,M条边的有向图.然后Bob试着摧毁它.在一次操作中他可以找到图中的一个点,并且删除它所有的入边或所有的出边. Alic ...

  10. NetBeans无法使用编码GBK安全地打开该文件 解决方法

    正常安装的NetBeans在打开UTF-8编码的文件时,会提示“NetBeans无法使用编码GBK安全地打开该文件”,点击“是”强制打开后,中文会变成乱码. 上述问题可以通过如下方式解决: 用文本编辑 ...