C++计算器,带空格和不带空格读取输入。
在C++中,我们可以通过使用标准库函数和基本的控制流语句来实现一个计算器。具体而言,我们可以使用std::cin
和std::cout
来进行输入和输出操作,使用变量和运算符进行计算。下面是一个示例的C++计算器程序:
#include <iostream>
#include <string>
#include <sstream>
#include <cstdlib>
int main() {
std::string expression;
std::getline(std::cin, expression); // 读取带空格的输入
// 移除输入中的空格
expression.erase(std::remove(expression.begin(), expression.end(), ' '), expression.end());
// 使用字符串流解析表达式
std::istringstream iss(expression);
char op;
double num1, num2;
iss >> num1 >> op >> num2;
double result;
// 执行相应的操作
switch(op) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
std::cout << "Invalid operator!" << std::endl;
return 0;
}
// 输出结果
std::cout << "Result: " << result << std::endl;
return 0;
}
这个示例程序可以读取带空格的输入,例如 "5 + 3",然后移除空格并解析出操作符和操作数,执行相应的操作,并输出结果。
对于不带空格的输入,例如 "5+3",可以直接使用std::cin
和相应的变量进行解析。在上述示例程序的基础上,只需要更改读取输入的方式即可。以下是相应的修改示例:
#include <iostream>
int main() {
int num1, num2;
char op;
std::cin >> num1 >> op >> num2; // 不带空格的输入
int result;
// 执行相应的操作
switch(op) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
std::cout << "Invalid operator!" << std::endl;
return 0;
}
// 输出结果
std::cout << "Result: " << result << std::endl;
return 0;
}
这个示例程序可以读取不带空格的输入,例如 "5+3",然后解析出操作符和操作数,执行相应的操作,并输出结果。
以上是一个简单的C++计算器程序的实现。这个程序可以处理带空格和不带空格的输入,并能够进行基本的四则运算。在实际的开发过程中,可以根据具体需求进行扩展和优化,例如添加更多的运算符、处理多个操作数、处理错误输入等。
注意:以上示例程序仅用于演示目的,未对错误输入进行严格的错误处理。在实际应用中,建议在程序中添加适当的错误处理机制,以增强程序的健壮性和用户体验。
腾讯云相关产品和产品介绍链接地址:暂无指定的腾讯云产品与此问题相关。
领取专属 10元无门槛券
手把手带您无忧上云