c++ - 如果未输入输入,如何将值设置为 0?C++
问题描述
嗨,如果这是一个愚蠢的问题,我很抱歉,但我是编程新手。除非输入不同,否则我找不到如何将值 0 赋予变量。看起来像这样
int main() {
// weekly accountability
std::cout << " ...";
std::cout << " Please write down the numbers\n";
double a2;
double b2;
double c3;
std::cin >> a2 >> b2 >> c3;
"!\n";
double x = 0.66;
double sum2 =a2 + b2 +c3;
std::cout << " Great! so your results were " << sum2 * x<< "";
}
当我运行它时,如果我只输入 2 个数字并按 Enter,它不会显示输出,因为它会等待我添加第三个值。我希望能够输入 1 到 3 个数字,但如果我没有输入值,我希望程序给出 0 的值。
解决方案
由于您不知道输入了多少数字,因此您应该先阅读整行,然后根据需要从该行中提取数字,例如:
#include <iostream>
#include <sstream>
#include <string>
int main() {
// weekly accountability
std::cout << " ... Please write down the numbers\n";
std::string line;
std::getline(std::cin, line);
std::istringstream iss(line);
double num, sum = 0.0;
while (line >> num) {
sum += num;
}
double x = 0.66;
std::cout << " Great! so your results were " << sum * x;
return 0;
}
否则,您可以直接继续阅读,std::cin
直到用户输入其平台的 EOF 序列(或输入错误的输入),例如:
#include <iostream>
int main() {
// weekly accountability
std::cout << " ... Please write down the numbers\n";
double num, sum = 0.0;
while (std::cin >> num) {
sum += num;
}
double x = 0.66;
std::cout << " Great! so your results were " << sum * x;
return 0;
}
推荐阅读
- rest-assured - 我尝试了我的 RestAssured 测试代码,但我收到了错误:
- flutter - Flutter - 从 MaterialPageRoute 返回后如何更新 Home Route
- flutter - FileSystemException: readSync failed, path = ....app\outputs\flutter-apk\app-debug.apk' (OS Error: The operation completed successfully. , errno = 0)
- python - 在 Python 中构建蒙特卡洛盒法的 n 分布
- javascript - Node、Express、Mysql2 应用程序中的 SQL 查询绑定问题
- javascript - 单击父页面上的按钮以使用 javascript 单击 iframe 内容上的按钮
- servlets - Servlet 无法读取 WEB-INF 文件夹
- java - 如何将 Spring Boot 中的视图与我的应用程序链接?
- linux-kernel - aarch64 KVM 来宾在早期 linux 启动时挂起
- sql - How to map number ranges to numbers in SQL Server or Clickhouse