Мне было интересно, какой лучший метод для решения между 3 вариантами введенных пользователем строк и если он не является одним из 3 выбранных вариантов, программа закончит сам. После того, как было решено, что ввод пользователя верен, программа выберет одну из строк и выполнит свою конкретную функцию. Вот код, который я до сих пор:Сравнение строк из пользовательского ввода в C++
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);
}
Он работает и компилирует, я просто не могу получить его, чтобы различать 3 вариантов, поэтому я не писал функции для каждого еще. Любые советы или предложения приветствуются! Спасибо
Чтобы сохранить ввод текста, но получить немного менее эффективное решение, вы можете использовать 'static const std :: set choice = {" size "," length "," publisher "};', а затем 'if (choice.count (sort_method)! = 0) ', чтобы проверить, является ли это одной из этих строк. –