【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;
}
相关文章
|
6月前
|
C语言
使用C语言编写一个简单的计算器程序
使用C语言编写一个简单的计算器程序
249 0
|
6月前
|
C语言
【C语言】简易计算器转移表(函数指针简化)
【C语言】简易计算器转移表(函数指针简化)
41 0
|
6月前
|
C语言
c语言编程练习题:7-20 简单计算器
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。
193 0
|
C语言
通过模拟实现计算器介绍函数指针数组和回调函数的用法【C语言/指针/进阶】
通过模拟实现计算器介绍函数指针数组和回调函数的用法【C语言/指针/进阶】
74 0
|
5月前
|
C语言
c语言编写一个简单的计算器(有需要直接复制粘贴使用)
c语言编写一个简单的计算器(有需要直接复制粘贴使用)
479 0
|
6月前
|
存储 C语言
C语言实现简易计算器
C语言实现简易计算器
103 1
|
6月前
|
C语言
C语言程序基本的计算器功能
C语言程序基本的计算器功能
129 0
|
6月前
|
前端开发 C语言
前端知识笔记(四十)———用C语言实现计算器功能
前端知识笔记(四十)———用C语言实现计算器功能
74 0
|
存储 Cloud Native 算法
简易计算器的实现:使用C语言进行基础算术运算
简易计算器的实现:使用C语言进行基础算术运算
139 1
|
11月前
|
C语言
C语言 14 模拟计算器 版本更迭
C语言 14 模拟计算器 版本更迭
50 0