【C语言】实现简单的计算器

简介: 【C语言】实现简单的计算器

一.普通方法

用C语言来实现一个简单的计算器。
#include <iostream> // 头文件
using namespace std; // 命名空间名称引入
// std 是 C++ 标准库的命名空间名,C++ 将标准库的定义实现都放在这个命名空间中
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;
}
void menu() {// 打印菜单
  cout << "****1,加法********************" << endl;
  cout << "****2.减法*********************" << endl;
  cout << "****3.乘法*********************" << endl;
  cout << "****4.除法*********************" << endl;
  cout << "****0.exit*********************" << endl;
}
int main() {
  int input;
  int x, y;
  do {
    menu();
    cin >> input; // 输入input
    switch (input) {
    case 0:
      cout << "退出" << endl;
      break;
    case 1:
      cout << "请输入两个操作数" << endl;
      cin >> x >> y; // 输入 x, y
      cout << Add(x, y) << endl;// 调用函数 Add, 下面情况都一样
      break;
    case 2:
      cout << "请输入两个操作数" << endl;
      cin >> x >> y;
      cout << Sub(x, y) << endl;
      break;
    case 3:
      cout << "请输入两个操作数" << endl;
      cin >> x >> y;
      cout << Mul(x, y) << endl;
      break;
    case 4:
      cout << "请输入两个操作数" << endl;
      cin >> x >> y;
      cout << Div(x, y) << endl;
      break;
    default:
      cout << "输入错误,请重新输入" << endl;
    }
  } while (input);
  return 0;
}

可以发现这种办法,有的语句重复输入多次,并且很长,可以用最近新学的指针数组解决直接将函数的名字存进一个,指针数组里就可以方便许多。

二.指针数组实现

代码如下:

#include <iostream>
using namespace std;
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;
}
void menu() {
  cout << "****1,加法********************" << endl;
  cout << "****2.减法*********************" << endl;
  cout << "****3.乘法*********************" << endl;
  cout << "****4.除法*********************" << endl;
  cout << "****0.exit*********************" << endl;
}
int main() {
  int input;
  int x, y;
  int(*arr[])(int,int) = { 0,Add,Sub,Mul,Div };//指针数组,存放地址的数组。
  int len = sizeof(arr) / sizeof(arr[0]);
  do {
    menu();
    cout << "请选择" << endl;
    cin >> input;
    if (input > 0 && input <= len) {
      cout << "请输入两个操作数" << endl;
      cin >> x >> y;
      cout << arr[input](x,y) << endl;
    }
    else if (input == 0) {
      cout << "退出" << endl;
    }
    else {
      cout << "请重新输入" << endl;
    }
  } while (input);
}
相关文章
|
9天前
|
C语言
使用C语言编写一个简单的计算器程序
使用C语言编写一个简单的计算器程序
41 0
|
9天前
|
C语言
【C语言】简易计算器转移表(函数指针简化)
【C语言】简易计算器转移表(函数指针简化)
25 0
|
9天前
|
C语言
c语言编程练习题:7-20 简单计算器
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。
161 0
|
7月前
|
C语言
通过模拟实现计算器介绍函数指针数组和回调函数的用法【C语言/指针/进阶】
通过模拟实现计算器介绍函数指针数组和回调函数的用法【C语言/指针/进阶】
48 0
|
9天前
|
存储 C语言
C语言实现简易计算器
C语言实现简易计算器
19 1
|
9天前
|
C语言
C语言程序基本的计算器功能
C语言程序基本的计算器功能
11 0
|
9天前
|
前端开发 C语言
前端知识笔记(四十)———用C语言实现计算器功能
前端知识笔记(四十)———用C语言实现计算器功能
46 0
|
5月前
|
C语言
C语言 14 模拟计算器 版本更迭
C语言 14 模拟计算器 版本更迭
31 0
|
7月前
|
存储 Cloud Native 算法
简易计算器的实现:使用C语言进行基础算术运算
简易计算器的实现:使用C语言进行基础算术运算
77 1
|
8月前
|
C语言
【C语言】简易计算器的模拟实现
【C语言】简易计算器的模拟实现
139 0