提示: 1.算术运算需要2个操作数(int型变量),并且要保存结果的话,还需要一个浮点型量.故共需3个变量.
2. 运算符可以用char型来保存.
代码如下:
#include "pch.h"
#include <iostream>
#include <functional>
#include <map>
#include <string>
using namespace std;
int add(int i, int j)
{
return i + j;
}
// 使用函数调用运算符
struct divide
{
int operator()(int i, int j)
{
return i / j;
}
};
auto mod = [](int i, int j) {return i % j; };
map<string, function<int(int, int)>> binops =
{
{"+", add}, // 使用函数指针
{"-", minus<int>()}, // 使用标准库函数对象
{"*", [](int i, int j) {return i * j; }}, // 使用未命名的lambda表达式
{"/", divide()}, // 使用函数调用运算符
{"%", mod} // 命名了的lambda表达式
};
int main()
{
int num1, num2;
string s;
while (cin >> num1)
{
cin >> s >> num2;
cout << num1 << s << num2 << "=" << binops[s](num1, num2) << endl;
}
return 0;
}
扩展资料
Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。
直线翻译:switch语句,即“切换”语句;case即“情况”。
switch语句的语法如下(switch,case,break和default是关键字):
switch ( 变量表达式 )
{
case 常量1 :语句;break;
case 常量2 :语句;break;
case 常量3 :语句;break;
...
case 常量n:语句;break;
default :语句;break;
}
当变量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果常量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句。
2. 编一个模拟计算器进行简单算术运算的程序(c=a运算符b),只做加...
{"\/", divide()}, \/\/ 使用函数调用运算符 {"%", mod} \/\/ 命名了的lambda表达式 }; int main() { int num1, num2; string s; while (cin >> num1) { cin >> s >> num2; cout << num1 << s << num2 << "=" << binops[s](num1, num2) << endl; } return 0...
2. 编一个模拟计算器进行简单算术运算的程序(c=a运算符b),只做加...
include<stdio.h>int main(){ int a,c; char b; float result; scanf("%d %c %d",&a,&b,&c); \/\/输入需要分开,如:1 + 2 switch(b) { case '+': result=a+c; break; case '-': result=a-c; break; case '*': result=a*c...
设计一个程序实现简易计算器的功 能,能够提供加(+)减(-)乘(*)除(\/...
提交计算请求<br>"; \/\/ 下面注释掉的代码并不是错误的,只是区别switch的另外一种方式\/\/ if ($_POST['ysf'] == "+"){\/\/ echo $_POST['num1'] + $_POST['num2'] . "<br>";
用C语言设计一个简单计算器程序,能根据键盘输入的运算指令和数据,做...
回答:可以 去做吧
编写一个简单的计算器,实现四则运算。提示:1)由用户输入两个数和运算...
ppa1 = str_pa1; \\ ppa2 = str_pa2; \\ pstr = in_str; \\ pa1.type = NONE; \\ pa2.type = NONE; \\ opr.type = NONE; \\ system("cls"); \\ display_menu(); \\ result.type = NONE
用C编写一个计算器程序,实现加、减、乘、除、求平方根(正数)、倒数等...
已测试通过,程序如下: #include <stdio.h>int main(){ float a, b;char op[10], quit;while(1){ printf("Please input a operation b:\\n");scanf("%f %s %f", &a, op, &b);if(op[0] == '+')printf("%f\\n", a + b);else if(op[0] == '-')printf("%f\\n", a ...
怎样用c语言编一个简单的计算器?最简单的
\/\/算术表达式求值 char c,x,theta,prec; \/\/c是每次读取的字符,x是存放脱括号后的多余的括号,theta是运算符,prec是c的前一个字符 float a,b,result;\/\/a、b是每次从运算数栈中取出的要进行运算的数,result存放最终结果 float cc,flag,ii,minus=1; \/\/cc存放由字符串转化而来的浮点数,flag用于标记是否已读...
...器程序,根据用户输入的运算符做两个数的加,减,乘或除运算
main(){double a,b;double result:char operator;printf("Pleasr input two number:");scanf("%f,%f",&a,&b);printf("please input the operator:");scanf(%c",&operator);if(opreator=='+')printf("result=%d\\n",a+b);else if(opreator=='-')printf("result=%d\\n",a-b);else...
怎么用C语言编写计算器程序?
><\/<pre><\/<code><\/#include <stdio.h><\/int main() {<\/ char operator;<\/ double num1, num2, result;<\/ printf("欢迎来到C语言计算器!请输入运算符 (+, -, *, \/): ");<\/ scanf("%c", &operator);<\/ printf("请输入两个数字: ");<\/ scanf("%lf %...
C语言编写一个计算器程序,实现加、减、乘、除、求平方根(正数)、倒 ...
点进计算器后 点查看 改成科学计算器 点击x^y就行了 开根号用x^(1\/y)形式即可 比如 8立方根 8^1\/3