实现简易计算器

该计算器可以用于“加减乘除” 运算:

代码如下:

#include <stdio.h>
#include <stdlib.h>
enum OP       //枚举各个功能
{
    EXIT,
    ADD,
    SUB,
    MUL,
   DIV
};
int _add(int a, int b)       //实现加法函数
{
   return a + b;
}
int _sub(int a, int b)       //实现减法函数
{
   return a - b;
}
int _mul(int a, int b)       //实现乘法行数
{
   return a*b;
}
int _div(int a, int b)          //实现除法函数
{   
    if (b == 0)
 {
    printf("除数位0\n");
 }
   return a / b;
}

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

int(*pfun[5])(int, int) = {0, _add, _sub, _mul, _div};  //定义了一个数组指针型函数

int main()
{
 int input = 1;
 int num1 = 0;
 int num2 = 0;
 int ret = 0;
 while (input)          //选择要执行的操作
 {
  menu();              //打印菜单
  printf("请选择>:");     
  scanf("%d", &input);
  printf("请输入两个整数操作数>:");
  scanf("%d%d", &num1, &num2);
  if (input >= 1 && input <= 4)
  {
    ret = pfun[input](num1, num2);     //调用数组指针函数,进行相应的运算操作
  }
  else if (input == 0)         //退出程序
  {
    exit(EXIT_FAILURE);
  }
  else
  {
    printf("选择错误\n");       //选择是错误的
  }
    printf("ret = %d\n", ret);      //输出计算的结果
 }
 return 0;
}

在主函数while循环中也可以用switch语句进行相应的操作

代码如下:

switch (input)
{
 case 1:
 ret = _add(num1, num2);
 break;
 case 2:
 ret = _sub(num1, num2);
 break;
 case 3:
 ret = _mul(num1, num2);
 break;
 case 4:
 ret = _div(num1, num2);
 break;
 case 0:
 exit(EXIT_FAILURE);
 break;
 default:
 printf("选择错误,请重新选择.\n");
 break;
}

时间: 2024-11-05 15:18:10

实现简易计算器的相关文章

函数调用_猜数字和简易计算器

package app1; import java.util.*; public class TestFunction{     public static void main(String[] args){         Scanner sc=new Scanner(System.in);         System.out.print("请选择一项应用:\n1.猜数字\n2.简易计算器");         int n=sc.nextInt();         switch(

基于mini2440简易计算器

基于mini2440简易计算器使用的是数组实现,并非逆波兰式,因此功能不够强大,仅供驱动学习,以及C语言基础编程学习之用.有时间读者可以用逆波兰式来实现强大功能计算器,原理也很简单,建议读<c程序设计第二版>里面有算法的代码.读者自行研究.此程序基于电子相册的改进,触摸屏,LCD,字符现实,数字输入等等 mini2440  索尼X35   LCD液晶屏 主函数部分: #include "def.h" #include "option.h" #includ

如何用jsp实现一个简易计算器(三)

做这个jsp页面,主要是为了实现在同一个页面提交和接受数据的功能. 这个小程序存在很多不足,希望大家多多批评指正. <%@ page language="java" contentType="text/html;" pageEncoding="gbk"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://w

C# 简易计算器

编写如下界面的简易计算器界面代码: using System; using System.Windows.Forms; using exp; namespace calculator { public partial class Form1 : Form { public Form1() { InitializeComponent(); } enum symbol { plus,dec,mult,div}; private void button1_Click(object sender, Ev

PyQt5 简易计算器

剩下计算函数(self.calculator)未实现,有兴趣的朋友可以实现它 [知识点] 1.利用循环添加按钮部件,及给每个按钮设置信号/槽 2.给按钮设置固定大小:button.setFixedSize(QtCore.QSize(60,30)) 3.取事件的的发送者(此例为各个按钮)的文本: self.sender().text() [效果图] [源代码] 1 import sys 2 from PyQt5 import QtWidgets,QtCore,QtGui 3 4 5 class E

java简易计算器

此小程序实现了计算器的基本功能: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SimpleCalc extends JFrame{ private static final long serialVersionUID = 1L; String[] labels = {"←","CE","±","√", "

js css 实现简易计算器

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

结对-简易计算器-设计文档

项目:简易计算器 本设计的大概需要的功能:1.可以判断是小数点前还是后 2.需要初始化小数点后的倍率 3.可以标记加减乘除 4.需要记录上一轮结果 5.实现每个数字按钮和算数按钮

【C++探索之旅】第一部分第五课:简易计算器

内容简介 1.第一部分第五课:简易计算器 2.第一部分第六课预告:控制流程,随心所至 简易计算器 上一课<[C++探索之旅]第一部分第四课:内存,变量和引用>中,我们已经学习了挺重要的内存的概念,变量的知识,对引用这个C++中常用的技术也有了初步的了解. 我们在上一课开头处用一个小小计算器的存储技术引出内存的概念.其实我们的电脑兄也是一个计算器,只不过高端大气上档次了很多,不然怎么会被称为 computer呢?英语中compute这个词,正是<计算>的意思,而加上r就构成了名词.c

C++实现简易计算器(正则表达式计算)

说明:简单高效的C++代码,实现简易计算器(正则表达式计算),允许小数.括号.但没有表达式正误检验功能,所以测试前请确保式子正确哦 数据结构:栈 示范输入: ((1.5+2.5)*3-4)+5 42/7-(12+3)*0.5 标准输出: the answer is 13 the answer is -1.5 源代码: #include <iostream>#include <stack> using namespace std; stack<double> number