Это также будет работать.
bool loop=true;
bool loop2=true;
do {
if(loop==false) loop2=false;
......loop=false;
} while (loop || loop2);
т.е. используйте логическое выражение "loop OR loop2".Изначально оба верны.«loop2» становится ложным только одна итерация после того, как «loop» становится ложным.Итак, еще одна итерация для вас.