检查用户是否输入了数组内的字符串

时间:2015-03-21 21:10:05

标签: c++

所以,我试图让它如果你从colors数组中输入一个字符串,它再次检查颜色是否为橙色..

if (find(begin(colours[0], colours[6])) != askAnswer) {
    if (askAnswer == "orange" || askAnswer == "Orange")
    {
        cout << "I love that colour too!" << endl;
    } else {
        cout << "Eh, that colour is alright.." << endl;
    }
} else {
    cout << "Eh.. What's that??";
}

1 个答案:

答案 0 :(得分:0)

我认为你正在使用找错路。看看文档:{​​{3}} 你可能想要

if (find(colours, colours+7, askAnswer) != colours+7)

其中7是数组的大小(这意味着colours+7是一个无效指针,指向&#34;一个在最后一个&#34;元素之后)。 但最好使用std :: begin()和std :: end(),如下所示:

if (find(std::begin(colours), std::end(colours), askAnswer) != std::end(colours))

另外 - 请看一下:http://www.cplusplus.com/reference/algorithm/find/