比较c ++中用户输入的字符串

-2 c++ arrays string if-statement

我想知道用户输入字符串的3个选项之间的最佳方法是什么,如果它不是列出的3个选项中的一个,程序将自行终止.在确定用户输入正确后,程序将选择其中一个字符串并实现其特定功能.这是我到目前为止的代码:

cout << "Specify one of these methods to sort: size, length, publisher" << endl;
        cin >> sort_method;

        if (sort_method == "size" || "length" || "publisher")
        {
           //decide which method was chosen and implement function
        }
        else if (sort_method != "size" || "length" || "publisher")
        {
             cerr << sort_method <<" is not a valid method." <<endl;
            exit(2);
        }
Run Code Online (Sandbox Code Playgroud)

它运行和编译我只是不能让它区分3个选项,这就是为什么我还没有为每个选项编写函数.任何提示或建议都非常感谢!谢谢

Dan*_*ite 5

您必须sort_method明确检查每个值.||不像in子句或直接用英语.

    if (sort_method == "size" || sort_method == "length" || sort_method == "publisher")
    {
       //decide which method was chosen and implement function
    }
Run Code Online (Sandbox Code Playgroud)

  • 如果您想要墨西哥菜或意大利菜的晚餐,您会说,"晚餐我要墨西哥菜或晚餐我想吃意大利语",或者您会说,"晚餐我想要墨西哥菜或意大利菜."? (2认同)