自制计算器(C语言的简单实现)(可多次使用)

2023-05-16

对于刚学C语言的小白来说,似乎感觉不到C语言可以做些什么事情而感到枯燥,接下来我讲带大家一起来做一个小的C语言程序----计算器

在这个程序中我们使用了switch--case语句,do--while循环,if--else语句,输入,输出函数

1.首先我们定义了两个double型的变量x,y作为计算的两个值

2.然后我们定义了两个int型的变量chose(接收用户输入选择的数字)和isFlag(判断是否要退出程序)

3.使用do--while循环将计算机的提示菜单,及功能放进去,使用户可以反复使用计算器

4.在do--while循环里我们先打印用户可见的菜单选择包含加法计算器,减法计数器,乘法计算器,除法计算器,并计算器(程序)的退出功能

	    printf("*****************计算器*****************\n");
		printf("**************1.加法计算****************\n");
		printf("**************2.减法计算****************\n");
		printf("**************3.乘法计算****************\n");
		printf("**************4.除法计算****************\n");
		printf("***************5.退出********************\n");
		printf("*************请选择(1~~5)***************\n");

5.使用scanf函数获取用户在键盘上输入的数字

scanf("%d",&chose);

6.对用户从键盘输入的值进行操作,首先使用if--else语句判断用户从键盘输入的数字是否合理,若不合理,则提示用户重新输入数字,若输入的数字合理则进入switch--case语句进行对于输入数字相应的操作,大概框架如下

if(chose > 5 || chose < 1)
		{
			printf("非法输入、请重新输入(1~~5)\n");
		}
		else
		{
		
			switch(chose)
			{	
				case 1:
					
				case 2:
					
				case 3:
					
				case 4:
					
				case 5:
					
			}
	    }

7.设置do--while循环的循环条件为(isFlag),并对每个case中的内容功能进行添加                               这里我们case 1:为例,分别使用printf和scanf提示并获取用户输入需要进行计算的两个值x,y     并将两个数相加的值输出出来,并使用break退出switch--case语句

case 1:
	printf("请输入x:");
	scanf("%lf",&x);
	printf("请输入y:");
	scanf("%lf",&y);
	printf("x + y = %f\n",x+y);
	break;

8.对用户退出计算器的功能进行添加,将退出功能的case 5:进行添加,若进入case 5:则将0赋值给isFlag,再使用break退出switch--case语句,并设置do--while循环的循环条件为isFlag。所以若程序进入了case 5:,isFlag的值将从1变成0。即可退出循环,即完成程序退出功能的实现。

case 5:
	isFlag = 0;
	break;

以上即可完成计算器的大部分框架,计算器实现具体的代码如下:

#include<stdio.h>
int main()
{
	double x,y;
	int chose,isFlag=1;
	do
	{
		printf("*****************计算器*****************\n");
		printf("**************1.加法计算****************\n");
		printf("**************2.减法计算****************\n");
		printf("**************3.乘法计算****************\n");
		printf("**************4.除法计算****************\n");
		printf("***************5.退出********************\n");
		printf("*************请选择(1~~5)***************\n");
		scanf("%d",&chose);
		if(chose > 5 || chose < 1)
		{
			printf("非法输入、请重新输入(1~~5)\n");
		}
		else
		{
		
			switch(chose)
			{	
				case 1:
					printf("请输入x:");
					scanf("%lf",&x);
					printf("请输入y:");
					scanf("%lf",&y);
					printf("x + y = %f\n",x+y);
					break;
				case 2:
					printf("请输入x:");
					scanf("%lf",&x);
					printf("请输入y:");
					scanf("%lf",&y);
					printf("x - y = %f\n",x-y);
					break;
				case 3:
					printf("请输入x:");
					scanf("%lf",&x);
					printf("请输入y:");
					scanf("%lf",&y);
					printf("x * y = %f\n",x*y);
					break;
				case 4:
					printf("请输入x:");
					scanf("%lf",&x);
					printf("请输入y:");
					scanf("%lf",&y);
					printf("x / y = %f\n",x/y);	
					break;
				case 5:
					isFlag = 0;
					break;
			}
		}
	}while(isFlag);
		printf("程序已退出哦~~~");
		return 0;
} 

看到这里啦,如果觉得有帮助的话麻烦帮忙点个赞哦,能三连当然对好不过啦~~

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

自制计算器(C语言的简单实现)(可多次使用) 的相关文章

随机推荐

  • python groupby 不同列聚合

    dataframe 在groupby后有时候需要对不同的列按照不同的聚合方式聚合 聚合方法如图 xff1a num agg中输入各列数据的聚合方式 可用于多条件groupby
  • dataframe 中万字处理

    df 39 点赞 39 apply lambda x float str x replace 39 万 39 39 39 10000 if 39 万 39 in str x else x astype int
  • VSCode之CMake使用

    一 准备工作 下载 对应平台的VScode安装C 43 43 扩展 安装Cmake 工具扩展 并行需要安装 Cmake xff0c 编译器 xff0c 调试器和构建工具 cmake version 虽然咱们使用VSCode编辑代码 xff0
  • 运行apt-get update后出现错误

    一般错误是如下两种 xff1a 1 一般如果你的ubuntu是中文的设定了地区的 xff0c 错误是如下 xff1a W 无法下载http ppa launchpad net deluge team ppa ubuntu dists nat
  • 表达式求值(含括号的复杂运算)

    具体解析看注释 span class token macro property span class token directive keyword include span span class token string lt bits
  • HttpClient模拟登录总结(不能跳转及跳转后不能登录)

    最近在写一个模拟登录的程序 xff0c 从网上找了很多资料 xff0c 都没能有一个完整的例子可成功跳转登录后的页面 xff0c 现把我的代码拿来与大家分享一下 xff0c 希望可以帮到一些人吧 其原理是 xff1a 通过HttpClien
  • JestonTX2更新软件源

    JestonTX2刷机后需要更新软件源 更新软件源后 xff0c 才可以正常安装QT等软件 软件源记录文件放在以下文件中 cd etc apt source list 可以使用gedit打开此文件 sudo gedit etc apt so
  • Kali的下载安装详细过程

    1 什么是Kali xff1f Kali Linux是专门用于渗透测试的Linux操作系统 2 打开官网 Kali Linux Penetration Testing and Ethical Hacking Linux Distributi
  • 本地搭建GitLab地址不一致问题

    1 本地虚拟机用docker搭建Gitlab project clone 地址如下 xff1a 实际地址如下 xff1a http 192 168 56 51 root apacha backend 本来没在意这个问题 xff0c clon
  • 数据库笔试题(答案)

    一 填空题 每题2分 xff0c 共10分 1 索引字段值不唯一 xff0c 应该 使用 的索引类型为 普通索引 2 只有满足联接条件的记录才包含在查询结果中 xff0c 这种联接为 内联接 3 E R模型的组成包括那些 元素 实体 属性
  • mac时间机器占用大量系统盘空间且在访达中无法找到

    mac用时间机器备份到外置移动硬盘 xff0c 但是后来发现mac系统盘占用随之增加 经过研究发现 xff0c 时间机器备份是现在mac系统盘备份然后转移到移动硬盘 xff0c 而且系统盘中的备份文件是隐藏的 xff0c 所以在关于本机 x
  • android——降低gradle的版本、下载好gradle的包存放的位置

    一 降低gradle的版本 本文以gradle版本7 0 2改成6 3为例子 xff1a 1 在build gradle里面修改dependencies里面的 classpath 34 com android tools build gra
  • C语言十进制转八进制、十六进制以及十六进制转十进制、八进制

    以下程序的输出结果是 main int a 61 20 printf 34 d o x n 34 a a a 看到这个题目首先我们要明白 o 和 x代表的是什么意思 o代表的是输出该数字的八进制 x代表的是输出该数字的十六进制 1 题目给出
  • 解决Mybatis分页插件PageHelper自动添加limit导致分页失败问题

    目录 1 问题描述2 解决方案2 1 方案一2 2 方案二 3 完成效果4 一点困惑5 参考文献 1 问题描述 今天在完善项目的时候 xff0c 有一个需求就是给我的评论区实现分页显示评论数 xff0c 但是当自己运行的时候点击查看评论的时
  • STM32 HAL库 STM32CubeMX -- I2C(IIC)

    文章目录 一 I2C 协议简介I2C 物理层I2C协议层I2C架构通讯过程 二 STM32Cube MX配置三 I2C HAL库函数 一 I2C 协议简介 I2C 通讯协议 Inter xff0d Integrated Circuit 也就
  • 一个unsigned int 数的二进制表示中有多少个1

    这是一道面试题可以用以下的一些方案 第一种是很容易想到的采用循环的方式并且与1进行位与运算 xff0c 具体代码如下 1 unsigned int GetBitNumOfOne ByLoop1 unsigned int nValue 2 3
  • 网络安全(九)—— kali进行断网攻击

    kali进行断网攻击 1 查看是否有wlan0 wlan0mon网卡 ifconfig 2 开启监听 airmon ng start wlan0mon 3 扫描wifi airodump wlan0mon 攻击张书语 4 停止扫描 ctrl
  • Linux 之 System V信号量

    其实就是学几个函数的用法 xff1a ftok semget semctl semop 如果对哪个函数不熟悉就man 一下 xff0c 例如man semctl 下面是几个函数简单的实现代码 xff0c 自己可以实现一下 xff0c 助于理
  • Modern C++ 变长参数的展开

    变长参数模板和变长参数 部分 Code 来自 现代 C 43 43 教程 xff1a 高速上手 C 43 43 11 14 17 20 xff0c 这里作为笔记记录 include lt iostream gt include lt str
  • 自制计算器(C语言的简单实现)(可多次使用)

    对于刚学C语言的小白来说 xff0c 似乎感觉不到C语言可以做些什么事情而感到枯燥 xff0c 接下来我讲带大家一起来做一个小的C语言程序 计算器 在这个程序中我们使用了switch case语句 xff0c do while循环 xff0