C++,简单计算器,在同一行中输入两个数和一个符号,用空格隔开,识别后计算结果(加减乘除余),若输入不合要求(数字数量,符号种类,除数为0),给出提示。可循环运行,按z退出
时间: 2024-09-29 13:09:46 浏览: 29
C++ 简单计算器程序通常会涉及到用户输入处理、字符串分割以及基本算术运算。下面是一个简单的示例,展示如何编写这样一个控制台应用程序:
```cpp
#include <iostream>
#include <string>
int main() {
char operation;
double num1, num2;
while (true) {
std::cout << "请输入两个数和操作符(例如 2 + 3),按 'z' 退出:";
std::cin >> num1 >> std::ws >> operation >> num2 >> std::ws; // 使用std::ws忽略前后的空白字符
if (operation == 'z') {
break; // 如果输入 z,则退出循环
}
if (std::cin.fail()) { // 检查输入是否有效
std::cerr << "错误:无效的输入,请重新尝试。\n";
continue;
}
switch (operation) {
case '+':
std::cout << "结果:" << num1 + num2 << "\n";
break;
case '-':
std::cout << "结果:" << num1 - num2 << "\n";
break;
case '*':
std::cout << "结果:" << num1 * num2 << "\n";
break;
case '/':
if (num2 != 0) {
std::cout << "结果:" << num1 / num2 << "\n";
} else {
std::cerr << "错误:除数不能为零。\n";
}
break;
default:
std::cerr << "错误:无效的操作符,支持 +, -, *, /。\n";
}
}
return 0;
}
```
在这个程序中,我们使用 `std::cin` 接收用户的输入,然后通过 `switch` 语句根据输入的操作符进行相应的计算。如果输入不符合要求,如非数字、操作符不是预期的四种之一或除数为零,我们会给出错误提示。