C++编写ATM
2024-09-06 20:45:05
偶然看到的一段代码,代码虽然简单,但是挺有意思:
#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; }
最新文章
- 利用HTML5定位功能,实现在百度地图上定位
- Gollum 安装笔记
- makfile
- C#多线程编程总结
- 【转载】Fast Inserts to PostgreSQL with JDBC and COPY FROM
- Oracle VirtualBox 使用桥接网络完成主机和虚拟机之间的双向通讯
- Sikuli简介
- HDU 3916 Sequence Decomposition 【贪心】
- Webpack 开发工具与模块热替换
- CENTOS/RHEL 7 系统中设置SYSTEMD SERVICE的ULIMIT资源限制
- ORACLE透明加密
- Android Studio 运行找不到夜神模拟器
- JVM内存管理--分代搜集算法
- Navicat Premium 将sqlserver 数据库 导入mysql 中
- App.js实现使用js开发app的应用,此文是中文文档
- 数字和表达式(python)
- react篇章-React Props
- 手机应用:非功能需求 Check List
- js中var a={}什么意思
- Windows同时安装python3和python2
热门文章
- 关于jsp中的文件下载
- 【Tensorflow系列】使用Inception_resnet_v2训练自己的数据集并用Tensorboard监控
- face-alignment:用 pytorch 实现的 2D 和 3D 人脸对齐库
- Mysql锁机制--乐观锁 &; 悲观锁
- Jackson工具
- lvs+keepalive实现双主模式(采用DR),同时实现TCP和UDP检测实现非web端的负载均衡,同时实现跨网段的通讯
- python中input()和raw_input()的区别
- python笔记五(条件判断/循环/break和continue)
- hibernate5学习之理解数据库级并发
- 如何扩展/删除swap分区