是否可以在"if语句"中嵌入"for循环"以在继续使用c ++之前比较多个条件

cmc*_*eth 1 c++ for-loop if-statement

在此程序中,用户必须输入3个字母的离境机场代码(userFlight),我将返回可能的目的地.要检查他们输入的是有效的机场代码之一(departureAirport),我想比较userFlight并确保它是我存储在名为flights []的矢量中的可能的departureAirport之一.这段代码显然不起作用,但有没有类似的方法来实现这一点?

 if             
        (for (j = 0, j < flights.size, j++)
        {
        (userFlight != flights[j].departAirport)
        })

    {return errorCode};

else
    {//doSomething()};
Run Code Online (Sandbox Code Playgroud)

dev*_*fan 5

如果它有一个operator<像你的条件那样比较的内部,怎么样

if(std::find(flights.begin(), flights.end(), userFlight) != flights.end())
{
    /* found */
}
else
{
    /* not found */
}
Run Code Online (Sandbox Code Playgroud)

否则,如果您不喜欢这样,只需检查循环是否贯穿所有索引:

size_t i;
for (i = 0, i < flights.size, i++)
{
    if(userFlight == flights[i].departAirport)
        break;
}
if(i < flights.size)
{
    /* found */
}
else
{
    /* not found */
}
Run Code Online (Sandbox Code Playgroud)

但不,你想要的语法不存在.

  • @BillLynch嗯?有什么参考吗? (2认同)