使用switch…case…语句实现

#define _CRT_SECURE_NO_DEPRECATE 1
#include <stdio.h>
#include <stdlib.h>
int add(int x, int y)
{return x + y;
}
int sub(int x, int y)
{return x - y;
}
int mul(int x, int y)
{return x * y;
}
int div(int x, int y)
{return x / y;
}
int main()
{int x, y;int input = 1;int ret = 0;while (input){printf("*************************\n");printf("****  1.add   2.sub  ****\n");printf("****  3.mul   4.div  ****\n");printf("*************************\n");printf("请选择:");scanf("%d", &input);switch (input){case 1:printf("请输入操作数:");scanf("%d %d", &x, &y);ret = add(x, y);break;case 2:printf("请输入操作数:");scanf("%d %d", &x, &y);ret = sub(x, y);break;case 3:printf("请输入操作数:");scanf("%d %d", &x, &y);ret = mul(x, y);break;case 4:printf("请输入操作数:");scanf("%d %d", &x, &y);ret = div(x, y);break;default:printf("选择错误\n");break;}printf("%d\n", ret);}system("pause");return 0;
}

使用函数指针数组实现

由于加减乘除四个函数的函数类型都一样,因此我们可以把它们的地址放在一个函数指针数组里面,通过下标来访问函数。
函数指针数组的用途:转移表
具体代码如下:

#define _CRT_SECURE_NO_DEPRECATE 1
#include <stdio.h>
#include <stdlib.h>
int add(int x, int y)
{return x + y;
}
int sub(int x, int y)
{return x - y;
}
int mul(int x, int y)
{return x * y;
}
int div(int x, int y)
{return x / y;
}
int main()
{int x, y;int input = 1;int ret = 0;int(*p[5])(int x, int y) = { 0, add, sub, mul, div };//转移表while (input){printf("*************************\n");printf("****  1.add   2.sub  ****\n");printf("****  3.mul   4.div  ****\n");printf("*************************\n");printf("请选择:");scanf("%d", &input);if (input<4 && input>1){printf("请输入操作数:");scanf("%d %d", &x, &y);ret = (*p[input])(x, y);}elseprintf("输入有误\n");printf("ret = %d", ret);}system("pause");return 0;
}

C语言:模拟实现一个计算器(可以完成加减乘除运算)相关推荐

  1. 编程题目:使用C++语言模拟完成一个简单的计算机系统

    编程题目:使用C++语言模拟完成一个简单的计算机系统(举一个管理人员的例子,其他的例子与下述方法一致即可) #include<iostream.h> #include<math.h& ...

  2. c语言switch做一个计算器,超级新手,用switch写了个计算器程序,求指导

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我也写过一个....看样子大家都喜欢用 switch()来写计算机 ....百度排版是渣渣!!!!! # include intmain(void){ d ...

  3. c语言float如何做减法,利用c语言设计开发一个简单计算器,可进行加减乘除运算....

    共回答了18个问题采纳率:94.4% #include #include void add(float num1,float num2) { printf("num1 + num2 = %6 ...

  4. 怎么做加减计算机程序vb,如何用VB设计一个简单计算器能进行加减乘除运算?...

    参考下: 计算器的程序,很简单,只弄了+-法,乘除没弄,只要把代码看懂照着+-法改一下就行了,不过涉及到多级运算只用一个LastClick是不行的 程序的控件就两种 CommandBotton和Tex ...

  5. C语言初学者--制作简易计算器(+-*/四种运算)

    运行结果 #include<stdio.h> int main() {     float a, b;     char c;     printf("请输入两个数:" ...

  6. c语言课程设计报告-计算器的实现,C语言课程设计--一个简易计算器的设计与实现.doc...

    C语言课程设计--一个简易计算器的设计与实现 扬 州 大 学 ------------------1 程序设计内容:------------------1 课程设计所补充的内容:补充的函数或算法--- ...

  7. 写一个计算器(C语言版本),可以求出:整数的加,减,乘,除四则运算

    写一个计算器(C语言版本),可以求出:整数的加,减,乘,除四则运算! 对于求出整数的加减乘除问题,我想大家现如今看见笔者此篇博文时候!大多都已经能够正确写出准确的代码来求整数的加减乘除了!其实对于计算 ...

  8. 十位数连加 c语言,用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除....

    用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除. 用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除. 人气:435 ℃时间:2020-04-10 06:55:13 优质解答 ...

  9. c语言设计程序计算器,C语言程序设计,做一个简单计算器

    题目: C语言程序设计,做一个简单计算器 程序内容有:加减乘除和平方,立方,开方等.用if或者swith结构来编程. 算加法时只输出加法的结果,算减法时只出减法的结果,如此类推. 解答: 已发送, # ...

最新文章

  1. 使用idea编写SparkStreaming消费kafka中的数据【小案例】(四)
  2. python的with关键字
  3. 百度之星资格赛,hdu 4825 XOR SUM
  4. 使用Microsoft数据迁移助手在Oracle数据库和SQL Server之间迁移的具体示例
  5. Asterisk 11 chan_sip.c: Failed to authenticate device 看不到IP的问题
  6. 20191111每日一句
  7. 【线性模型引论】王松桂著 课后习题2.2参考答案
  8. YML格式(java 常用配置文件格式)
  9. 逻辑题(持续更新中)
  10. 利用 QTcpSocket 实现的进程间通信
  11. mysql数据库位置_mysql数据库的存放位置在哪里
  12. C++Error2208:…尝试引用已删除的函数
  13. Android WebView支持文件下载之调起浏览器下载(Java与Kotlin版)
  14. 试用一片3-8译码器74LS138和其它必要的门电路设计一个一位全加器, 被加数为Ai, 加数为Bi, 低位来的进位为Ci-1, 本位和为Si, 本位对高位的进位为Ci
  15. 加拿大数字知名媒体Digital Journal全面报道Filenet项目
  16. mysql数据库备份与导入
  17. 斐波那契数(Java)
  18. 第一篇博客,天下武功
  19. STM32F103-FreeRTOS 操作系统移植
  20. 【答学员问】我90年,零基础开始linux运维,算晚吗?

热门文章

  1. 微信小程序实战,基于vue2实现瀑布流
  2. Java 最优雅方式校验时间段重叠
  3. sendfile函数
  4. mysql 80070057_安装iis错误
  5. 微信小程序客服消息之解决方案
  6. 排名前10的vue前端UI框架值得你掌握
  7. 《Oracle PL/SQL程序设计(第5版)》一一1.6 一些建议
  8. 工作流组件_过程组件模型:下一代工作流?
  9. 快速排序(代码通俗易懂,干净整洁)
  10. 使用GNS3实验MPLS协议