Предположим, у меня есть цикл while, который зависит от двух отдельных входов. В ситуации 1 цикл while примет значение 1, а в ситуации два - Cin.eof(). Есть ли способ, которым я могу сделать это эффективно? Чтобы быть более кратким:Изменение цикла while для размещения двух ситуаций
string hello;
cin >> hello;
if(hello == "one")
{
//make the while loop depend on value 1
}
else if(hello == "two")
{
//make the while loop depend on value !cin.eof()
}
while(/*depends on above conditional*/)
{}
Я не хочу, чтобы сделать что-то вроде:
if(hello == "one)
{
while(1){}
}
else if(hello == "two")
{
while(!cin.eof){}
}
, поскольку цикл в то время как по существу делает то же самое в каждой ситуации.
К «эффективно», я полагаю, вы имеете в виду, «с как меньше дублирования кода, насколько это возможно»? – Mysticial
Вы считали двоичную арифметику? Ands and Ors и прочее? –
Вы рассматривали strcmp вместо ==? –