用switch语句实现简单的取款机程序

2023-10-31

大家好 ,今天给大家分享一个简单的取款机程序

相关函数

  • switch语句,分支语句
  • case语句 ,分支条件
  • break语句,结束循环
  • default语句, 其他分支

演示效果

在这里插入图片描述
试试存款
在这里插入图片描述
存款成功,再试试取款
在这里插入图片描述
取款也成功

代码部分

/*
		源文件名	:	main.c
		作者		:	Abr
		日期		:	2017年8月19日
		功能介绍	:	简单的取款机程序
*/


#include<stdio.h>
#include<stdlib.h>
/* 
				balance(余额),deposit(存款),withdrawal(取款)。

*/
int main()
{
	short cmd=0;
    float balance=0.0f,deposit=0.0f,withdrawal=0.0f;	
    printf("\t\t\t  最小化模拟取款机服务程序\n\n");
    while(1)
    {    	
			printf("\t  commands:0>>清空余额,1>>存款,2>>取款,3>>查询余额,4>>退出\n"); 
        	cmd=getch();	           
			switch(cmd){
			case '0':
            balance=0.0f;
            printf("清空账户余额情况为“succeed”\n");
            break;
            
            case '1':
			printf("请输入存款金额:");
            scanf("%f",&deposit);//lg表示长浮点型变量
            balance=deposit+balance;
			printf("存款情况“succeed”\n");
            break;
              
            case '2':
            printf("请输入取款的金额:");
            scanf("%f",&withdrawal);
            if(withdrawal<balance)
            {
            balance=balance-withdrawal;
            printf("取款情况为“succeed”\n");
            }
            else
            printf("你的当前余额为:%12.3fRMB\t余额不足请充值\n",balance);
            break;
            
            case '3':
            printf("账户当前余额为:%12.3fRMB\n",balance);
            break;
            
            case '4':
            return 0;
            break;
            
            default:        
            break;    
        } 
          
    }
	return 0;
}

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

用switch语句实现简单的取款机程序 的相关文章

  • 获取数组变量的地址是什么意思?

    今天我读到了一段让我很困惑的 C 代码片段 include
  • 通过增加索引之和来生成排序组合的有效方法

    对于启发式算法 我需要一个接一个地评估特定集合的组合 直到达到停止标准 由于它们很多 目前我正在使用以下内存高效迭代器块生成它们 受到 python 的启发 itertools combinations http docs python o
  • ASP.NET Core 与现有的 IoC 容器和环境?

    我想运行ASP NET 核心网络堆栈以及MVC在已托管现有应用程序的 Windows 服务环境中 以便为其提供前端 该应用程序使用 Autofac 来处理 DI 问题 这很好 因为它已经有一个扩展Microsoft Extensions D
  • 将字符串中的“奇怪”字符转换为罗马字符

    我需要能够将用户输入仅转换为 a z 罗马字符 不区分大小写 所以 我感兴趣的角色只有26个 然而 用户可以输入他们想要的任何 形式 的字符 西班牙语 n 法语 e 和德语 u 都可以包含用户输入中的重音符号 这些重音符号会被程序删除 我已
  • 在 C# Winforms 应用程序中嵌入 Windows XP 主题

    我有一个旧版 C Windows 窗体应用程序 其布局是根据 Windows XP 默认主题设计的 由于需要将其作为 Citrix 应用程序进行分发 该应用程序现在看起来像经典主题应用程序 因为 Citrix 不鼓励使用主题系统服务 所以
  • SFINAE 如何使用省略号?

    过去 当使用 SFINAE 选择构造函数重载时 我通常使用以下内容 template
  • 将字符串转换为正确的 URI 格式?

    有没有简单的方法可以将电子邮件地址字符串转换为正确的 URI 格式 Input http mywebsite com validate email 3DE4ED727750215D957F8A1E4B117C38E7250C33 email
  • 对 boost 库的依赖项没有完整路径

    我已经成功构建了动态库 依赖于使用自定义前缀构建和安装的 boost 库 b2 install prefix PREFIX 然而 当我跑步时otool L在我的库中 我得到如下输出 libboost regex dylib compatib
  • 从 Code::Blocks 运行程序时出现空白控制台窗口 [重复]

    这个问题在这里已经有答案了 当我尝试在 Code Blocks 中构建并运行新程序时 控制台窗口弹出空白 我必须单击退出按钮才能停止它 它对我尝试过的任何新项目 包括 Hello world 都执行此操作 奇怪的是 它对于我拥有的任何旧项目
  • libxml2 xmlChar * 到 std::wstring

    libxml2似乎将所有字符串存储在 UTF 8 中 如xmlChar xmlChar This is a basic byte in an UTF 8 encoded string It s unsigned allowing to pi
  • C++ 插件的“最适合”动态类型匹配

    我有一个几乎所有东西都是插件的架构 该架构以图形用户界面为基础 其中每个插件都由一个 表面 即用户可以通过其与插件交互的 UI 控件 表示 这些表面也是插件 每当添加新插件时 瘦主机都会自动确定哪个可用表面与其最匹配的 UI 如何在 C 中
  • 预处理后解析 C++ 源文件

    我正在尝试分析c 使用我定制的解析器的文件 写在c 在开始解析之前 我想摆脱所有 define 我希望源文件在预处理后可以编译 所以最好的方法是运行C Preprocessor在文件上 cpp myfile cpp temp cpp or
  • OpenCV 2.4.3 中的阴影去除

    我正在使用 OpenCV 2 4 3 最新版本 使用内置的视频流检测前景GMG http docs opencv org modules gpu doc video html highlight gmg gpu 3a 3aGMG GPU算法
  • 如何随着分辨率的变化自动调整大小和调整表单控件

    我注意到某些应用程序会更改控件的位置以尽可能适应当前的分辨率 例如 如果窗口最大化 则控件的设置方式应使整个 GUI 看起来平衡 是否可以使用 C 在 Visual studio 2010 中制作或实现此功能 Use Dock http m
  • 二叉树中的 BFS

    我正在尝试编写二叉树中广度优先搜索的代码 我已将所有数据存储在队列中 但我不知道如何访问所有节点并消耗它们的所有子节点 这是我的 C 代码 void breadthFirstSearch btree bt queue q if bt NUL
  • asp.net网格分页的SQL查询

    我在用iBatis and SQLServer 使用偏移量和限制进行分页查询的最佳方法是什么 也许我添加该列ROW NUMBER OVER ORDER BY Id AS RowNum 但这只会阻止简单查询的数据访问 在某些情况下 我使用选择
  • DataTable:通过 LINQ 或 LAMBDA 进行动态 Group By 表达式

    我有一个数据表 我想在其中对未指定数量的字段进行分组 发生这种情况的原因是用户可以选择他想要分组的字段 所以 实际上 我将选择推入列表中 在这个选择上 我必须对我的数据表进行分组 想象一下这段代码 VB 或 C 都一样 public voi
  • 如何引用解决方案之外的项目?

    我有一个 Visual Studio C 解决方案 其中包含一些项目 其中一个项目需要引用另一个不属于解决方案的项目 一开始我引用了dll
  • Visual Studio 2017 完全支持 C99 吗?

    Visual Studio 的最新版本改进了对 C99 的支持 最新版本VS2017现在支持所有C99吗 如果没有 C99 还缺少哪些功能 No https learn microsoft com en us cpp visual cpp
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构

随机推荐

  • OpenCV学习记录之摄像头调用

    关于opencv调用摄像头的问题主要是因为摄像头的打开有延时 在显示图像前 要用if语句判断图像是否存在 否则会报错 具体的 教程里的源程序 将if条件句里 break去掉 并增加else语句 include
  • 本地新项目上传到SVN服务器

    1 在一个已有检出的项目文件夹中 在空白处 右键 gt TortoiseSVN gt Repo browser 这样就到了svn服务器的目录了 在这里插入图片描述 https img blog csdnimg cn a91b52172ab3
  • 业内人员告诉你银行测试到底做什么,怎么进银行测试.....

    前言 从一家工作了五年的软件公司的测试管理者跳槽到银行做软件测试 短短两个月 对银行测试有了初步认识 总结和记录下来 加深个人的理解 同时也共享给各位 银行作为大家的理财顾问 对金钱非常敏感 频繁甚至偶尔出现的软件故障都会打击顾客的信心 如
  • Reconstruction by inpainting for visual anomaly detection阅读笔记

    Reconstruction by inpainting for visual anomaly detection阅读笔记 Abstract 视觉异常检测 解决图像中偏离正常外观的区域分类和定位问题 一种流行的方法是在无异常图像上训练自动编
  • CentOS7.3安装elasticsearch6.8.6

    CentOS7 3安装elasticsearch6 8 6 一 环境 二 下载elasticsearch 6 8 6 tar gz 三 创建用户 四 修改配置文件 1 vim elasticsearch 6 8 6 conf jvm opt
  • 分组密码的加密模式(CFB,OFB)

    1 j 比特密码反馈CFB模式 Cipher feedback 1 1CFB模式特点 若待加密消息必须按字符 如电传电报 或按比特处理时 可采用CFB模式 CFB实际上是将加密算法DES作为一个密钥流产生器 CFB与CBC的区别是反馈的密文
  • OpenCV-Python图像击中击不中变换理解的关键知识点及自定义实现

    前往老猿Python博客 https blog csdn net LaoYuanPython 声明 本文为老猿自我体悟和总结 相关内容无公开资料 禁止转载和抄袭 博文传送门 老猿关于HTM变换的博文目录请见 https blog csdn
  • 数据指标应用场景说明

    科技飞速发展的时代 企业信息化建设会越来越完善 越来越体系化 当今数据时代背景下更加强调 重视数据的价值 以数据说话 通过数据为企业提升渠道转化率 改善企业产品 实现精准运营 为企业打造自助模式的数据分析成果 以数据驱动决策 数据指标体系是
  • uniapp掉完接口后刷新当前页面方法

    uniapp掉完接口后刷新当前页面方法 掉完接口 里面加下面这个方法uni redirectTo setTimeout gt uni redirectTo 当前页面路由 url pages property mutualrotation m
  • python3 pyinstaller打包exe运行无限创建进程问题 multiprocessing windows

    mulitprocessing模块在window环境下使用有诸多限制 需要注意 其中之一就是在main py下使用multiprocessing启动子进程问题 该问题在pycharm中没有 pycharm环境下运行调试都是正常的 当使用py
  • 插入排序算法笔记

    插入排序 1 最简单的排序算法 2 在增量排序中有很高的效率 比如已经存在成绩排序 要插入一个新的成绩并且排序 3 不需要额外的存储空间 属于内部排序 4 时间复杂度为O n 2 首先 定义数组的形式为 num MAX 1 MAX是已经定义
  • 【计算机组成原理笔记】1.1计算机系统简介

    1 1计算机系统简介 计算机系统由硬件 软件两部分组成 硬件是看得到摸得到的实体 如硬盘 显卡 主板等 软件程序通常寄寓于各种媒体 如RAM ROM 磁带 光盘等 RAM 随机存取存储器 英语 Random Access Memory 缩写
  • 【信号与系统】1、初步认识信号与系统

    文章目录 1 信号的概念 1 1 信号的定义 1 2 因果 逆因果信号的概念 1 2 1 因果信号 1 2 2 逆因果信号 1 2 3 时限信号 1 2 4 右边信号 1 2 5 左边信号 1 2 6 双边信号 2 信号的分类 2 1 确定
  • 浅显易懂 SQLite3 笔记(04)— SQL数据更新(增加、删除、修改)

    文章目录 前言 一 插入数据 二 修改数据 三 删除数据 总结 前言 我们在上一篇博文 浅显易懂 SQLite3 笔记 03 SQL数据查询 超级详细 学习了如何使用SQL语句进行数据查询 本篇 我们将继续学习如何使用SQL语句进行数据更新
  • ubuntu14.04 64bit 安装 && 破解quartus13.0 记录

    安装文件 Quartus 13 0 0 156 linux iso Quartus 13 0 0 156 devices 1 iso 1 挂载 sudo mount o loop Quartus 13 0 0 156 linux iso m
  • CocoaPods:“Use the `$(inherited)` flag” or “Remove the build settings from the target”

    问题背景 解决方法 总结 阅读之前注意 本文阅读建议用时 5min 问题背景 CocoaPods导库的时候 出现了如下情况 The project Debug target overrides the PODS CONFIGURATION
  • docker 复制镜像和复制容器

    复制镜像和复制容器都是通过保存为新镜像而进行的 具体为 保存镜像 docker save ID gt xxx tar docker load lt xxx tar 保存容器 docker export ID gt xxx tar docke
  • C#之Yield Return语法的作用和好处

    还是和以前一样 我先上代码 请大家先拿到我的代码或者你跟着敲 运行看效果 以及理解每行带代码的作用 我们要带着为什么要用Yield这个关键字 不用可以吗这个目的去学知识 我相信会更加的有意思 首先我贴出平时正常输出偶数集合的办法 学习Yie
  • 编译内核函数copy_from_user()和copy_to_user()

    文章目录 一 定义 二 例子 三 问题 1 隐式声明函数 copy from user 2 copy from user 缓冲区爆炸 一 定义 copy from user rwbuf buf count 作用 从用户空间复制到内核空间 c
  • 用switch语句实现简单的取款机程序

    大家好 今天给大家分享一个简单的取款机程序 相关函数 switch语句 分支语句 case语句 分支条件 break语句 结束循环 default语句 其他分支 演示效果 试试存款 存款成功 再试试取款 取款也成功 代码部分 源文件名 ma