C IF具有复合值的语句
c++ if statement with compound value
我正在尝试找到一个可以让我进行此的解决方案:
cout << antalVaerelser << ("-vx91r, ")
<< (altan == true ? ("med altan, ") : ("uden altan, "));
if (etage == 0) {
cout << ("stuen ");
}
else {
cout << etage << (" etage ");
}
cout << areal << (" m2") << endl;
并将其转换为具有更像这样的线:
cout << antalVaerelser << ("-vx91r, ")
<< (altan == true ? ("med altan, ") : ("uden altan, "))
<< (etage==0?("stuen ") : etage + (" etage "))
<< areal << (" m2")
<< endl;
但是,这不起作用,因为某些输出似乎被"食用" - 它将显示为" 4 -Vær,Med Altan,Age,Age,101M2",其中"年龄"应该是eTage的价值(值= 1-4(然后是字符串" etage",
这也可以起作用,但似乎真的过多:
(etage == 0 ? ("stuen ") : etage == 1 ? ("1 etage ") : etage == 2 ? ("2 etage ") : etage == 3 ? ("3 etage ") : ("4 etage "))
因此,问题是:(如果可能的话(我将如何工作?:
(etage==0?("stuen ") : etage + (" etage "))
预先感谢您:(
有两个问题
- 三元运算符必须返回相同类型的值
- 添加整数和字符串文字不起作用,因为您期望的
在C 11
中执行此操作cout << antalVaerelser << ("-vx91r, ")
<< (altan == true ? "med altan, " : "uden altan, ")
<< (etage==0 ? std::string("stuen ") : std::to_string(etage) + " etage ")
<< areal << (" m2")
<< endl;
在C 中14更好:
cout << antalVaerelser << ("-vx91r, ")
<< (altan == true ? "med altan, " : "uden altan, ")
<< (etage==0 ? "stuen "s : std::to_string(etage) + " etage "s)
<< areal << (" m2"s)
<< endl;
您不能像这样连接int和字符串。
尝试将int包装在 std::to_string(myInt)
中,然后在其中添加一个字符串,迫使它是字符串 字符串串联。
参考:http://en.cppreference.com/w/cpp/string/basic_string/to_string
您需要将数字转换为字符串:
cout << (etage == 0 ? "stuen " : std::to_string(etage) + " etage");
std :: to_string((帮助您转换int' to
String`。
如果这只是串联问题,也可以这样做:
etage == 0 ? cout << "stuen " : cout << etage <<" etage";
相关文章:
- 我的简单if-else语句是如何无法访问的代码
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 为什么是0;C++中的有效语句
- Insert函数不适用于2 if语句C++
- If语句未被求值C++
- C++嵌套if语句,基本货币交换
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 是否可以使用if constexpr删除控制流语句
- 无法理解此 return 语句的功能,没有它就会发生运行时错误
- 我似乎对if/else的基本语句有问题:/
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- If语句在c++中被忽略
- 为什么这个复合语句作为用大括号和括号括起来的语句序列似乎不是有效的语句表达式
- if 语句中的复合表达式
- 我如何阻止这些 if else 语句复合?
- C IF具有复合值的语句
- 如何制作增强多指数复合范围语句,等效于x和y
- 字符串不能在复合语句中赋值
- 在复合语句(块)末尾运行代码