Russian Qt Forum
Ноябрь 23, 2024, 06:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Do-while зависает в Qt  (Прочитано 2324 раз)
Батрадз
Гость
« : Май 10, 2019, 18:32 »

Здравствуйте. Помогите пожалуйста с одним вопросом. Пишу программу в Qt с интерфейсом. При нажатии кнопки должны выполняться определенные действия, на некоторые значения стоит проверка и QInputDialog для изменения значения во время выполнения программы. Написали конструкцию do-while для проверки, при некорректном вводе значения программа работает исправно снова предлагая ввести корректное значение, однако когда ввожу требуемое значение, то программа просто зависает и перестает работать. Не пойму почему, при использовании точно такой же конструкции, но в консольном приложении все работает исправно. Пожалуйста подскажите как решить эту проблему.

Код
C++ (Qt)
void MainWindow::on_pushButton_clicked()
{
   QLocale::setDefault(QLocale::C);
   ....
   bool bv_1 = true;
   bool ok;
 
   do
   {
       if (ver_1 < 0 || ver_1 > 1)
       {
           double test = QInputDialog::getDouble(this, "Error!", "Write number from 0 to 1!", ver_1, -2147483647, 2147483647, 3, &ok );
           if (ok)
           {
               ver_1 = test;
 
           }
           else {
               bv_1 = false;
               break;
           }
       }
   }while(bv_1);
.....
}
Записан
ssoft
Программист
*****
Offline Offline

Сообщений: 584


Просмотр профиля
« Ответ #1 : Май 11, 2019, 00:02 »

Если ввести значение в интервале 0..1, то цикл становится бесконечным. Логическая ошибка.
При этом не понятно чем инициировано значение ver_1. По умолчанию там мусор.
Так как из описания не понятна требуемая функциональность, то анализируйте логику по шагам. Здесь поможет и простой отладчик.
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #2 : Май 13, 2019, 17:30 »

Цикл не правльно оформлен
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.069 секунд. Запросов: 22.