使用 CIN 函数在 C++ 中输入数学运算

input a math operation in c++ using cin function

本文关键字:输入 运算 C++ CIN 函数 使用      更新时间:2023-10-16

这是一个非常基本的程序,模拟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源获得的输入,这些输入未被任何标准翻译(如intlongfloatstd::string等)所涵盖。

您是否应该提供逻辑来解析您获得的输入并将其转换为值和函数调用逻辑。

cin不支持

您的意图。但是,您可以遵循一种方法,将分数表达式保存在字符串中,而不是将其转换为双精度值。所以继续。

不,cin不能这样做。您必须将表达式读取为字符串,然后解析它并将其计算为一个数字。

有关如何为简单案例执行此操作的资源很容易在网上找到,并且有强大的库可以为您完成工作。