Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 25.05.2018
Сообщений: 38
1

Do-while зависает в Qt

10.05.2019, 18:30. Просмотров 662. Ответов 2
Метки qt (Все метки)

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

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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, "Ошибка ввода!", "Недопустимая вероятность смерти. Введите число от 0 до 1!", ver_1, -2147483647, 2147483647, 3, &ok );
            if (ok)
            {
                ver_1 = test;
 
            }
            else {
                bv_1 = false;
                break;
            }
        }
    }while(bv_1);
 .....
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2019, 18:30
Ответы с готовыми решениями:

Windows 7 намертво зависает, потом отвисает (зависает физическая память)
Здравствуйте. Есть проблема, ОС переодический внезапно зависает. Чем это вызвано я не понял, но...

Пк зависает в определенной игре, комплектующие новые. ТРР и зависает намертво
Здравствуйте Форумчане, пришел на форум не от легкой жизни. Нужна Ваша помощь. Собрал пк сам....

Через 5 минут после запуска игры компьютер зависает, на экране появляется цветные линии, картинка зависает.
(зависает компьютер ,когда запускаешь игру в течении 5 минут на экране появляется цветные линии и...

комп зависает намертво при работе с новым винчестером, после перезагрузки компа зависает при загрузке BIOS
купил новый винчестер. комп стал зависать намертво. при перезагрузке, зависает уже при загрузке на...

2
566 / 377 / 144
Регистрация: 01.10.2015
Сообщений: 1,133
10.05.2019, 20:47 2
А зачем все эти проверки и цикл, если getDouble позволяет изначально указать минимальное и максимальное значение, допустимое для ввода? Это параметры min и max в синопсисе функции, вот и укажите их значения равными, соответственно, минимуму и максимуму вероятности вместо -2147483647 и 2147483647
min and max are the minimum and maximum values the user may choose
0
58 / 40 / 18
Регистрация: 07.10.2015
Сообщений: 112
13.05.2019, 22:10 3
Batradz777,
Если у вас верное значение вы попадаете в уловие if (ok) при этом bv_1 остается true
далее вы крутитесь в бесконечно, поскольку по условию if (ver_1 < 0 || ver_1 > 1) bv_1 не имеет шанса получить false
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2019, 22:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

У меня зависает комп, этот же комп не зависает почему то у соседа
Всем привет. Подскажите плиз. Зависает компьютер на мёртво(даже capslok) перестаёт работать,...

Зависает ПК
На заставке материнской платы зависает ПК. На кнопки не реагирует. И выдает такое сообщение

Зависает 1С
Виснет 1С!!!Добрый день всем.Вопрос:для того,чтобы касса печатала чеки от нескольких кассиров-...

Зависает пк
В общем ситуация такая, когда играю в игры т.е когда начинает идти нагрузка на систему пк встает...

Зависает
Подскажите пожалуйста, в чем ошибка в цикле, приводящая к зависанию, если цикл убрать, то страница...

Зависает ПК
добрый день! у меня проблема с пк. зависает картинка и помогает только перезагрузка,с чем это может...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.