C语言实现简单的计算器

 更新时间:2021年02月23日 17:12:23   作者:yuelinghou  
这篇文章主要为大家详细介绍了C语言实现简单的计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C语言实现简单计算器的具体代码,供大家参考,具体内容如下

描述:简单的实现四则运算

1.switch法

#include<stdio.h>

void menu()//菜单函数
{
 printf("************************************\n");
 printf("***** 1.add    2.sub *****\n");
 printf("***** 3.mul    4.div *****\n");
 printf("***********  0.exit ***********\n");
 printf("************************************\n");
}

double Add(double x, double y)//加法函数
{
 return x + y;
}

double Sub(double x, double y)//减法函数
{
 return x - y;
}

double Mul(double x, double y)//乘法函数
{
 return x * y;
}

double Div(double x, double y)//除法函数
{
 return x / y;
}

int main()
{
 int input = 0;//运算符
 double x = 0.0;//第一个运算数
 double y = 0.0;//第二个运算数
 do
 {
 menu();
 printf("请选择:>");
 scanf("%d", &input);
 if (input >= 1 && input <= 4)
 {
 printf("请输入两个操作数(用空格分隔):>");
 scanf("%lf%lf", &x, &y);
 }
 switch (input)
 {
 case 1:
 printf("%lf\n", Add(x, y));
 break;
 case 2:
 printf("%lf\n", Sub(x, y));
 break;
 case 3:
 printf("%lf\n", Mul(x, y));
 break;
 case 4:
 printf("%lf\n", Div(x, y));
 break;
 case 0:
 printf("退出\n");
 break;
 default:
 printf("输入错误,请重新输入\n");
 break;
 }
 } while (input);
 return 0;
}

2.函数指针数组法

#include<stdio.h>

void menu()//菜单函数
{
 printf("************************************\n");
 printf("***** 1.add    2.sub *****\n");
 printf("***** 3.mul    4.div *****\n");
 printf("***********  0.exit ***********\n");
 printf("************************************\n");
}

double Add(double x, double y)//加法函数
{
 return x + y;
}

double Sub(double x, double y)//减法函数
{
 return x - y;
}

double Mul(double x, double y)//乘法函数
{
 return x * y;
}

double Div(double x, double y)//除法函数
{
 return x / y;
}

int main()
{
 int input = 0;//运算符类型
 double x = 0.0;//第一个操作数
 double y = 0.0;//第二个操作数
 double(*p[5])(double, double) = {NULL,Add,Sub,Mul,Div};//把相应的函数指针放入一个数组里
 do
 {
 menu();
 printf("请选择:>");
 scanf("%d", &input);
 if (input >= 1 && input <= 4)
 {
 printf("请输入两个操作数(用空格分隔):>");
 scanf("%lf%lf", &x, &y);
 printf("%lf\n", p[input](x, y));
 }
 else if (0 == input)
 printf("退出\n");
 else
 printf("输入错误,请重新输入\n");
 } while (input);
 return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C语言printf详细解析

    C语言printf详细解析

    C中格式字符串printf()的一般形式为: %[标志][输出最小宽度][.精度][长度]类型, 其中方括号[]中的项为可选项。各项的意义介绍如下
    2013-09-09
  • C++异常处理 try,catch,throw,finally的用法

    C++异常处理 try,catch,throw,finally的用法

    这篇文章主要介绍了C++异常处理 try,catch,throw,finally的用法,需要的朋友可以参考下
    2018-01-01
  • C 语言基础教程(我的C之旅开始了)[十]

    C 语言基础教程(我的C之旅开始了)[十]

    C 语言基础教程(我的C之旅开始了)[十]...
    2007-02-02
  • C语言实现flappy bird游戏

    C语言实现flappy bird游戏

    这篇文章主要为大家详细介绍了C语言实现flappy bird小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • 简单的socket编程入门示例

    简单的socket编程入门示例

    这篇文章主要介绍了简单的socket编程入门示例,简单实现client输入内容发送到server端输出,需要的朋友可以参考下
    2014-03-03
  • C++中对象的赋值与复制操作详细解析

    C++中对象的赋值与复制操作详细解析

    对象之间的赋值也是通过赋值运算符“=”进行的。本来赋值运算符“=”只能用来对单个的变量赋值,现在被扩展为两个同类对象之间的赋值,这是通过对赋值运算符的重载实现的
    2013-10-10
  • 一道超经典的C++结构体的题目

    一道超经典的C++结构体的题目

    以下小编就为大家介绍一道超经典的关于C++结构体的题目。需要的朋友可以过来参考下
    2013-09-09
  • 基于C++的农夫过河问题算法设计与实现方法

    基于C++的农夫过河问题算法设计与实现方法

    这篇文章主要介绍了基于C++的农夫过河问题算法设计与实现方法,简单描述了农夫过河问题,并结合实例形式详细分析了基于C++实现农夫过河问题的相关算法实现步骤与操作技巧,需要的朋友可以参考下
    2017-09-09
  • 深入浅析 C++ 调用 Python 模块

    深入浅析 C++ 调用 Python 模块

    Python 提供了 C++ 库,使得开发者能很方便地从 C++ 程序中调用 Python 模块。接下来通过本文给大家介绍 C++ 调用 Python 模块的相关知识,需要的朋友参考下吧
    2016-03-03
  • C++中的三种继承public,protected,private详细解析

    C++中的三种继承public,protected,private详细解析

    我们已经知道,在基类以private方式被继承时,其public和protected成员在子类中变为private成员。然而某些情况下,需要在子类中将一个或多个继承的成员恢复其在基类中的访问权限
    2013-09-09

最新评论