用C语言实现计算器功能

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

代码如下:

#include<stdio.h> //C语言编写计算器程序 ^_^
void Counter1(int a,int b,char op); //函数声明!
void Counter2(double c,double d,char op);
void Show_Sum1(int a,char op,int b,int sum);
void Show_Sum2(double c,double d,char op,double sum);
int Add(int a,int b);
int Sub(int a,int b);
int Mul(int a,int b);
double Div(double a,double b);
int main(){
 int a=0,b=0;//初始化
 double c=0.0,d=0.0;
 char op='#';
 char ch='#';
 int choi=0;
 do{
  printf("请输入数据:(想使用加法减法乘法功能输入1,使用除法功能输入2)\n");
  scanf("%d",&choi);
  if(choi==1){
   printf("输入数据的格式:数值 运算符 数值\n");
   scanf("%d %c %d",&a,&op,&b);//别忘记取地址运算符!!
   fflush(stdin);//用来清理缓存区!(执行输入以'\n'代表输入结束,'\n'会留在缓存区,故应先清空缓存区以防ch接收到该字符而结束循环!)
   Counter1(a,b,op);
  }
  else if(choi==2){
   printf("输入数据的格式:数值 运算符 数值\n");
   scanf("%lf %c %lf",&c,&op,&d);//别忘记取地址运算符!!
   fflush(stdin);//用来清理缓存区!(执行输入以'\n'代表输入结束,'\n'会留在缓存区,故应先清空缓存区以防ch接收到该字符而结束循环!)
   Counter2(c,d,op);
  }
  printf("是否继续?(Y/N):\n");
  ch=getchar();//输入字符Y(y)或N(n)
 }while(ch=='Y'||ch=='y');
 return 0;
}
void Counter1(int a,int b,char op){
 int sum=0;
 int optag=true;//以防分母为零(出现错误)或输入错误字符仍调用Show_Sum()函数进行输出。
 switch(op){
  case '+':sum=Add(a,b);break;
  case '-':sum=Sub(a,b);break;
  case '*':sum=Mul(a,b);break;
  default:{
   printf("运算符错误!\n");
   optag=false;
   break;
  }
 }
 if(optag) Show_Sum1(a,op,b,sum);
}
void Counter2(double c,double d,char op){
 double sum=0.0;
 int optag=true;//以防分母为零(出现错误)或输入错误字符仍调用Show_Sum()函数进行输出。
 switch(op){
  case '/':{
   if(d==0){
    optag=false;
    printf("被除数为零,发生错误!\n");
   }
   else sum=Div(c,d);
   break;
  }
  default:{
   printf("运算符错误!\n");
   optag=false;
   break;
  }
 }
 if(optag) Show_Sum2(c,d,op,sum);
}
void Show_Sum1(int a,char op,int b,int sum){
 printf("%d %c %d=%d",a,op,b,sum);//输出计算结果
}
void Show_Sum2(double c,double d,char op,double sum){
 printf("%.4f %c %.4f=%.4f",c,op,d,sum);
}
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; //乘
}
double Div(double a,double b){
 return a/b; //除
}

ps:该注意的或容易出现问题的已经在代码区用注释标记了。

代码实现如下:

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

(0)

相关推荐

  • C语言实现简单的计算器

    本文实例为大家分享了C语言实现简单计算器的具体代码,供大家参考,具体内容如下 描述:简单的实现四则运算 1.switch法 #include<stdio.h> void menu()//菜单函数 { printf("************************************\n"); printf("***** 1.add 2.sub *****\n"); printf("***** 3.mul 4.div *****\n&quo

  • C语言实现简单计算器

    本文实例为大家分享了C语言实现简单计算器的具体代码,供大家参考,具体内容如下 实现效果如图: 实现代码如下: #include<stdio.h> #include<windows.h>//gotoxy #include<conio.h> #define width 80 #define height 30 void gotoxy(int x, int y); void GreateFrame() { int i = 0; for (i = 0 ; i < widt

  • C语言结课设计之计算器功能

    本文实例为大家分享了C语言实现计算器的具体代码,供大家参考,具体内容如下 /*===============================================*\ ** 设计目的:简单计算器,计算形如10*(20.2-30.6)+5.0/2的表达式值 ** 简要原理:中缀式转逆波兰式(后缀式) ** IDE:Dev-Cpp 4.9.9.2 ** 注意事项:括号必须是英文状态的 ** 时间: 2014-6-17 \*==================================

  • C语言实现简单计算器程序

    这两天在看一个C语言写的计算器程序,做了不少的功夫,跟着作者一步步的进行完善,了解了许多细节性的东西,在此自己做个总结,加深自己对程序的印象,也算是梳理. 在该计算器程序,能进行加减乘除.sin.cos.exp等操作,同时能进行数值保存功能.而该计算器使用逆波兰表示法.即所有运算符都跟在操作数的后面,比如下列表达式: (1 - 2) * (4 + 5)采用逆波兰表示法表示为:1 2 - 4 5 + * 逆波兰表达法中不需要圆括号,只要知道每个运算符需要几个操作数就不会引起歧义. 计算器程序实现很

  • C语言运用回调函数实现计算器

    本文实例为大家分享了C语言运用回调函数实现计算器的具体代码,供大家参考,具体内容如下 回调函数概念: 回调函数是一个通过函数指针调用的函数,也就是将函数的地址作为参数传递给另一个函数,当这个指针回来调用其指向的函数时,称为回调函数. 本次制作计算器的功能: 1.add -- 加法 2.sub -- 减法 3.mul -- 乘法 4.div -- 除法 0.exit -- 退出 具体来通过代码讲解: (1)首先写一个菜单函数,在运行程序时打印菜单 void menu() { printf("***

  • C语言实现个税计算器

    最近在学C语言基础,在导师的指导下,先准备写个个税薪资计算器.这是一个简单的C语言小demo.主要用到了C语言的函数,if选择语句. 程序的主要代码如下(可运行): #include <stdio.h> float Salary; int len; float CulculateSalary (){ printf("请输入你的薪资\n"); scanf ("%f",&Salary); //getchar(); if(Salary -5000 &l

  • C语言实现简单计算器功能(1)

    本文为大家分享了C语言实现简单计算器功能的具体方法,供大家参考,具体内容如下 这几天一直上控制语句,在学完if.switch和循环语句后,为了巩固所学知识点,想给学生出一道简单的计算器程序.题目如下: 通过所学的知识(选择语句.循环语句)完成一个简单的计算器编程,要求不许抄袭,只能用自己所学的知识点,不可引用网上自己的不懂的程序. 要求的格式如下图: 要求以这样的一种格式进行输出,并能通过选择完成不同的功能. 如:选择1,完成整数相加功能,算完后又能回到该页面. 经过分析,我简单的写了一段代码,

  • C语言实现简单计算器功能(2)

    本文接着上一篇C语言实现简单计算器功能(1)继续学习. 之前用switch语句完成了一个简单计算器的功能,下面我给大家用if语句和while循环语句再实现一个简单计算器的编程. 要求: 实现简单的计算器,具体代码如下: #include <stdio.h> // 头文件 void main() { char a = 0; // 变量声明并初始化 int x, y; // 变量声明 int result = 0; char b = 37; while(1) // whiel循环实现反复在计算器系

  • C语言MFC基础之计算器详解

    目录 基于MFC计算器(基础点) 需求:把计算器运算的过程呈现出来. 基础点 总结 基于MFC计算器(基础点) 主要是在实现MFC计算器的过程中碰到的一些问题,和补充的一些知识. 需求:把计算器运算的过程呈现出来. 想法:利用两个队列,一个存储输入的字符串(表达式),一个存放结果. 分别命名为queue1,和myqueue,让字符串从左到右依次入队列. 但之后按照自己的思路去推演,发现如果进入队列的是1+23,如果下一个字符入队的是"+",那么先计算23的结果入队myqueue中,而q

  • C语言运用函数指针数组实现计算器功能

    本文实例为大家分享了C语言运用函数指针数组制作计算器的具体代码,供大家参考,具体内容如下 先来回顾一下概念: 指针数组 -- 存放指针的数组 函数指针 -- 存放函数地址的指针 函数指针数组 -- 存放函数指针的数组 接下来说说这次要制作的计算器的功能: 1.add -- 加法 2.sub -- 减法 3.mul -- 乘法 4.div -- 除法 0.exit -- 退出 具体来通过代码讲解: (1)首先写一个菜单程序,在运行程序时首先打印一次菜单. void menu() { printf(

随机推荐