C语言----模拟ATM机存取款操作

2023-05-16

题目要求:
输入银行卡密码,如果密码正确则显示操作界面,循环提示“请输入操作选项:”,其中按1键实现“查询余额”功能,按2键实现“取款”功能,按3键实现“存款”功能,按4键实现“退卡”功能,按5键实现“返回”功能,如果密码错误,则提示“密码错误,请重新输入!”。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
步骤:
首先将账户金额定义为全局变量,然后编写密码验证函数、界面显示函数、余额查询函数、取款函数和存款函数,再编写主程序调用各个函数实现各种功能操作。具体操作流程如图所示。
在这里插入图片描述
具体算法如下。
① 定义全局变量,用于存储账户金额。
② 编写密码验证函数,采用双分支语句判断密码对错。
③ 编写界面显示函数,模拟ATM机界面。
④ 编写查询余额函数。
⑤ 编写取款函数,输入取款金额,计算余额。
⑥ 编写存款函数,输入存款金额,计算余额。
⑦ 在主函数中调用所编写的函数,模拟实现ATM机的取款操作。

实现代码:

#include <stdio.h>
void main(){
	int password=123456;//默认银行密码为123456
	int password_input;
	int work_choose;
	int qu_money;
	int cun_money;
	int all_money=10000;
	
	printf("请输入银行卡密码:");
	while(scanf("%d",&password_input))
	{
		if(password == password_input)//密码校验
		{
			printf("中国建设银行ATM\n");
			printf("---------------------------------------------------------\n");
			printf("1.查询余额 2.取款 3.存款 4.退卡 5.返回\n");
			printf("---------------------------------------------------------\n");
		

			while(scanf("%d",&work_choose))
			{
				if(work_choose==1)
				{
					printf("账户余额:%d元\n",all_money);
				}
				else if(work_choose==2)
				{
					printf("请输入取款金额:");
					scanf("%d",&qu_money);
					if(qu_money<all_money)
					{
						printf("取款完成!\n");
						all_money-=qu_money;
						printf("\n");
					}
					else
					{
						printf("余额不足,您目前余额为%d\n",all_money);
						printf("\n");
					}
				
				}
				else if(work_choose==3)
				{
					printf("请输入存款金额:");
					scanf("%d",&cun_money);
					all_money+=cun_money;
					printf("存款完成!您目前的余额为%d\n",all_money);
					printf("\n");
				}
				else if(work_choose==4)
				{
				
					printf("退卡成功!\n");
					printf("\n");
					return;
				}
				else if(work_choose==5)
				{
				
					printf("返回成功!请输入密码:");
					printf("\n");
					break;
				}
					printf("请输入操作选项:");
			}
		}else
		{
			printf("密码错误,请重新输入!\n");
			
		}
	}


}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言----模拟ATM机存取款操作 的相关文章

  • k8s安装

    目录 一 K8s概念二 minikube安装三 部署应用到集群中四 Service五 k8s部署爬虫1 意义 一 K8s概念 参考文章 xff0c 参考视频它是一个为 容器化 应用提供集群部署和管理的开源工具 xff0c 由 Google
  • 编程工具-GPT来AI编程代码

    一 安装介绍 1 https www cursor so 下载安装 xff0c 重要的说三遍 xff08 目前免费 xff01 免费 xff01 免费 xff01 xff09 xff0c 支持多平台 Mac Windows Linux xf
  • 某wipo专利_六宫格/cookie/css

    这里写目录标题 一 案例分析二 六宫格验证码三 列表页搜索式302四 详情页css链接cookie刷新 一 案例分析 案例网址 xff1a 案例网址 反爬点 xff1a 六宫格验证码 cookie反爬 时间强制等待 session数据强绑定
  • Python之urlencode()使用

    urlencode 传入参数类型 xff1a 字典功能 xff1a 将存入的字典参数编码为URL查询字符串 xff0c 即转换成以key1 61 value1 amp key2 61 value2的形式导入 xff1a from urlli
  • Python之Md5使用等加密

    目录 一 Python之md5使用二 Python之sha1使用三 Python之base64使用四 Python之rsa使用五 Python之aes des 一 Python之md5使用 功能 xff1a MD5签名是一个哈希函数 xff
  • Python之quote()使用

    quote 传入参数类型 xff1a 字符串功能 xff1a 将单个字符串编码转化为 xx 的形式导入 xff1a from urllib parse import quotePs xff1a url多个字符串编码用urlenocde 函数
  • ( 数组和矩阵) 645. 错误的集合 ——【Leetcode每日一题】

    645 错误的集合 难度 xff1a 简单 集合 s 包含从 1 到 n 的整数 不幸的是 xff0c 因为数据错误 xff0c 导致集合里面某一个数字复制了成了集合里面的另外一个数字的值 xff0c 导致集合 丢失了一个数字 并且 有一个
  • Kalman滤波(Part-1:信号模型基础)

    Kalman Filters Dynamical Signal Models 一阶高斯 马尔可夫过程 first order Gauss Markov process 描述采样点之间 xff08 相邻 xff09 的相关性 xff1a s
  • 【STM32】关于keil5中下载按钮灰色及出现#error “Please select first the target STM32F4xx devic....错误的解决方法

    解决首次运行报错问题 近期在网上购买了一个WIFI模组 xff0c 例程是使用HAL库编写的 xff0c 首次编译的时候出现USER stm32f4xx h 193 error 35 error directive 34 Please se
  • 【STM32】F429单片机的时钟系统浅析

    先把429的时钟树附上 xff1a 乍一看是不是很懵逼 xff0c 我也很懵逼 一堆乱七八糟的玩意 xff0c ST公司是真的狗 本文是基于库函数SetSysClock 展开的 xff0c 配合该函数使用时钟树效果更佳O O 讲解之间说一个
  • x-easypdf 基于pdfbox/fop 封装的框架

    x easypdf 是一个基于 pdfbox fop 二次封装的框架 xff0c 目前拥有两大模块 xff1a pdfbox 模块 与 fop 模块 pdfbox 模块 主打 pdf 编辑功能 xff0c 以组件化的形式进行 pdf 的构建
  • 【STM32】利用定时器实现最基本的定时功能(HAL)

    定时器简介 STM32F429单片机有许多定时器Timer xff0c 主要分成三类 xff0c 基本定时器 xff1b 通用定时器和高级定时器 三种类型的定时器功能由少变多 xff0c 高级定时器包含了低级定时器的功能 基本定时器 xff
  • 【STM32】通俗易懂的讲解回调函数

    转载 xff1a https blog csdn net vincent040 article details 50832955 回调函数在程序开发中是一个非常重要的概念 xff0c 所谓的回调其实就是不同程序模块之间的接口和约定 xff0
  • 【树莓派】设置树莓派开机自动运行python脚本

    近期因科研需要 xff0c 需命令树莓派开机后无需进行任何操作自动运行一个python脚本 xff0c 经查阅部分资料后实现了该功能 xff0c 为方便以后查看特此记录一下 1 打开cmd xff0c 输入 sudo vim span cl
  • 部分机器人领域顶会顶刊官网及22年顶会召开时间

    顶刊 Science Robotics AAAS The International Journal of Robotics Research IJRR Journal of Forestry Research JFR IEEE Trans

随机推荐

  • 服务器非root下安装Python cyglfw3库

    服务器非root下安装Python cyglfw3库 在服务器中跑PVNet的代码时遇到的 xff0c 废了比较大的劲才解决 xff0c 特意记录一下解决过程 如果你有sudo权限直接使用sudo apt get install libgl
  • FFB6D搭建环境

    文章目录 FFB6D搭建环境搭建前的准备 根据需要选择性浏览 安装apex安装normal speed安装opencv3 安装pybind11安装normal speed 安装RandLA运行代码前的准备运行代码有疑问多多交流 xff0c
  • win32Day06:控件

    1 什么是控件 xff1f 控件是具备特殊功能的窗口 xff0c 并且有模板 控件的特性 xff1a 一定是子窗口 和创建主窗口一样 xff0c 都是使用CreateWindow函数来创建 xff08 控件这种 xff09 子窗口和主窗口的
  • SIFT3D点云关键点提取详细介绍

    1 引言 SIFT3D的理论基础完全是从图像特征SIFT2D中迁移类比过来的 xff0c 类似的还有Harris3D和Harris6D的理论也是来源于Harris2D的 xff0c 这些点云特征在PCL库中都有具体的实现 Harris3D和
  • 【视觉注意力机制集锦】引言

    视觉注意力机制集锦之引言 1 注意力机制 1 1 注意力机制简介 卷积神经网络具有很强的拟合数据的能力 xff0c 但是由于优化算法和计算能力的限制 xff0c 在实践中 xff0c 卷积网络很难达到通用近似的能力 特别是在处理规模较大的输
  • 期刊论文发表一定要有老师吗

    期刊论文发表一定要有老师吗 不一定 xff0c 具体要看论文的情况以及各方面的要求 xff0c 一般研究生和博士生论文很多都有老师 xff0c 本科论文很多是毕业生自己完成即可 xff0c 大多也是可以自己完成的 xff0c 如果要求有老师
  • QT菜单样式Ribbon Control for Qt, Office ribbon control

    基于Qt xff08 最低要求Qt5 xff0c 支持C 43 43 11的编译器 xff09 开发的一个轻量级的Ribbon控件 Office样式UI 使用Qt Creator直接打开SARibbon pro xff0c 并编译即可 xf
  • C/C++:基本语法看这一篇就够了

    前言 本文来自菜鸟教程的C语言教程和C 43 43 教程的学习笔记 xff0c 对其中的示例有所删减与变更 xff0c 建议以以下两个链接为准 虽说C 43 43 是C的扩展 xff0c 但貌似二者存在差集 xff0c 而本文只展示了兼容部
  • Qt之简易版网络调试助手

    简述 qt中为网络编程提供了一个QtNetwork类 xff0c 使用QtNetwork可以实现ftp文件传输 xff0c 基于tcp ip协议的客户端和 xff08 服务端 xff09 开发等等 xff0c 本文基于QtNetwork中的
  • ubuntu18.04安装docker以及过程中遇到的问题

    一 在ubuntu18 04上安装 1 更新索引包和安装相关依赖 xff1a sudo apt update sudo apt install apt span class token operator span transport spa
  • # 解决onos localhost 登陆onos后台时 需要输入密码问题

    登陆后台要求输入密码 xff0c 但尝试各种密码均无法登陆 一般从网上拷贝来的onos安装包 xff0c 使用时容易出现此类问题 xff1a 登录后台时会要求输入密码 xff0c 但一般各种密码都无效 问题解决 onos命名其实是一个she
  • visual c++与visual studio有什么区别

  • 【基于pyAudioKits的Python音频信号处理(八)】语音增强:谱减法、维纳滤波和卡尔曼滤波

    pyAudioKits是基于librosa和其他库的强大Python音频工作流支持 API速查手册 通过pip安装 xff1a pip install pyAudioKits 本项目的GitHub地址 xff0c 如果这个项目帮助到了你 x
  • 3.K8S网络之pod中容器到容器之间的通信

    文章目录 1 引入1 1 创建一个网络名称空间1 2 root网络名称空间1 3 docker网络名称空间 4 pod容器到容器之间的通信通信的原理 1 引入 在Linux中 xff0c 网络命名空间提供了一个逻辑的网络堆栈 xff0c 包
  • C++基础(八)--空指针

    在C和C 43 43 中 xff0c 用0和NULL都可以表示空指针 声明指针之后 xff0c 对指针赋值之前 xff0c 让它指空 xff0c 表示没有指向任何地址 使用空指针的后果 xff08 1 xff09 如果对空指针进行解引用 x
  • 【嵌入式Linux】嵌入式Linux驱动开发基础知识之驱动设计的思想:面向对象/分层/分离

    文章目录 前言1 分离设计驱动程序分析 程序分层通用驱动程序 面向对象个性化驱动程序 分离 APP 程序分析 前言 韦东山嵌入式Linux驱动开发基础知识学习笔记 文章中大多内容来自韦东山老师的文档 xff0c 还有部分个人根据自己需求补充
  • 【飞控理论】四旋翼飞行器控制原理

    该篇博客是对锡月科技无人机飞行控制原理教学内容的整理 1 四旋翼飞行器的两种结构 xff1a 字模式 xff1a Pitch和 Roll与1 3 2 4两组电机呈 45 夹角 十 字模式 xff1a Pitch对应 2 4电机的对轴 xff
  • WEBPACK和ROLLUP构建前端工具库

    1 WEBPACK webpack 提供了构建和打包不同模块化规则的库 xff0c 只是需要自己去搭建开发底层架构 vue cli xff0c 基于 webpack xff0c vue cli 脚手架工具可以快速初始化一个 vue 应用 x
  • 小觅相机自带的SDK改成自动保存点云、图片、和深度图代码

    首先 xff0c 我用的是小觅提供的SDK xff0c 我使用的是WindowsEXE版本的 版本号 xff1a mynteye d 1 8 0 win x64 opencv 3 4 3 exe 不同的版本可能工程名字不一样 https m
  • C语言----模拟ATM机存取款操作

    题目要求 xff1a 输入银行卡密码 xff0c 如果密码正确则显示操作界面 xff0c 循环提示 请输入操作选项 xff0c 其中按1键实现 查询余额 功能 xff0c 按2键实现 取款 功能 xff0c 按3键实现 存款 功能 xff0