使用 CIN 函数在 C++ 中输入数学运算
input a math operation in c++ using cin function
这是一个非常基本的程序,模拟log x(y)函数。
我想知道是否可以在 cin 函数中输入数学运算。
例如计算 log2(1/8) ?所以输入 2 表示 x和 1/8 表示 y
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double x(0.0);
double y(0.0);
cout << "log" << endl;
cin >> x;
cout << "result" << endl;
cin >> y;
double loga = log(y) / log(x);
cout << "log" << x << "(" << y << ") =" << loga << endl;
cout << loga << "^" << x << "="<< pow(x, loga)<< endl;
return 0;
}
谢谢你的帮助
我想知道是否可以在 cin 函数中输入数学运算。
这只能通过你编写自己的解析器来实现,它翻译从std::cin
或任何其他std::istream
源获得的输入,这些输入未被任何标准翻译(如int
、long
、float
、std::string
等)所涵盖。
您是否应该提供逻辑来解析您获得的输入并将其转换为值和函数调用逻辑。
cin
不支持您的意图。但是,您可以遵循一种方法,将分数表达式保存在字符串中,而不是将其转换为双精度值。所以继续。
不,cin
不能这样做。您必须将表达式读取为字符串,然后解析它并将其计算为一个数字。
有关如何为简单案例执行此操作的资源很容易在网上找到,并且有强大的库可以为您完成工作。
相关文章:
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 检查输入是否不是整数或数字
- 正在尝试了解输入验证循环
- 读取文件并输入到矢量中
- 使用C++中的模板和运算符重载执行矩阵运算
- C++如何通过用户输入删除列表元素
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何使用用户输入在C++中正确填充2D数组
- C++MySQL C api用户输入行
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- GCC本机矩阵运算库
- 用户定义函数中的指针和输入
- 给定输入的有理数运算
- 输入一个未知的整数流,并对其进行整数运算
- 使用 CIN 函数在 C++ 中输入数学运算
- 从输入文件到输出文件的运算