Вы можете написать намного меньше кода и сделать его более читабельным, если у вас есть функция, которая делает это за вас:
if (none_of( are_you_sure, "Si", "si", "No", "no"))
// ...
Конечно, эта функция должна быть написана, но это не так слишком много кода с выражениями c ++ 17:
template<typename T, typename ...Opts>
auto none_of(T val, Opts ...opts)
{
return (... && (val != opts));
}
У этого есть несколько приятных свойств; он может принимать любое количество аргументов, а также использоваться с типами, отличными от строк:
int n = 42;
if (none_of( n, 1, 2, 3))
// ...
Убедитесь, что имя функции написано правильно, поскольку это сильно влияет на читабельность.