Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 23.05.2018
Сообщений: 4

While не проверяет второе условие после результата true в первом

12.09.2018, 22:37. Показов 1665. Ответов 3

Студворк — интернет-сервис помощи студентам
Доброй ночи.

Все банально до ужаса, но что-то не так...
Пользователь должен ввести число.
Оно должно быть а) числом, б) не больше 999

есть такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
int numb;
    cout << "Enter number from 0 to 999: ";
        
    while (!(cin >> numb) && (numb < 0) && (numb > 999))
    {
        cin.clear();
        cin.get();
        cin.ignore();
        cout << "Wrong value! Pls enter number from 0 to 99999: ";
    
    }
Но while, почему-то, после удачного "запихивания" введенных данных в переменную отказывается проверять следующее условие и сразу выходит из цикла.

Т.е., например, numb = 9999.

результат cin >> numb = true
и все. While не проверяет дальше границы для числа...

Скорее всего, ошибка очевидна, но в упор ее не вижу.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.09.2018, 22:37
Ответы с готовыми решениями:

Написать λ -выражение, описывающее условие, которое проверяет список и выдает истину, если выполняется условие
Здравстуйте! Решите, пожалуйста, задачу на Lisp, не понимаю функциональный язык( А лабороторные сдать надо. 1)Необходимо написать λ...

Программа не проверяет дату и время при первом вводе
В DateTime.cs есть аксессоры на дни месяцы и т.д.и в них есть условия которые держат в рамках и сами исправляют поля(типо в месяце от 1 до...

Узнать, сколько раз второе предложение встречается в первом
Пожалуйста подскажите как написать прогу Данны два предложения,надо узнать сколько раз 2-ое предложение встречается в первом VB 6,0

3
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
12.09.2018, 22:40
Лучший ответ Сообщение было отмечено Ilot как решение

Решение

Убрать &&, поставить ||.
1
78 / 3 / 2
Регистрация: 03.10.2015
Сообщений: 26
12.09.2018, 23:27
Ни в коем случае не пишите условие
C++
1
(numb < 0) && (numb > 999)
Ответ Renji верен. Вы требуете от числа невозможного: вы хотите, чтобы оно было (И без 0/NULL,) И меньше нуля, И больше 999. И в таком случае программа заругается на некорректный ввод.

Если Вы хотите выполнения всех условий - ставьте &&. Если достаточно одного - ||.
1
0 / 0 / 0
Регистрация: 23.05.2018
Сообщений: 4
13.09.2018, 18:07  [ТС]
Всем спасибо! Не представляю, как можно было так протормозить...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.09.2018, 18:07
Помогаю со студенческими работами здесь

Неправильно проверяет условие
Программа считывает информацию из текстового файла. Текстовый файл представляет собой набор слов. Каждое отдельное слово находится на...

Вывод результата во второе окно
Как в Windows приложении сделать так, чтобы в 1 окне вводились данные, нажимаю ОК, а во 2 окне показывались результаты расчётов?

Объясните, что проверяет условие if
char str, *Slovo; printf(&quot;Vvedite text: &quot;); if ( !fgets(str,256, stdin)) { fprintf(stderr, &quot;Ne...

Надо чтобы при нажатии кнопки в первом окне открывалось второе окно
Надо чтобы при нажатии кнопки в первом окне открывалось второе окно, а первое окно становилось недоступным пока незакроется второе окно. ...

Написать программу, которая в качестве результата дает истину, если выполняется заданное условие, или ложь, если условие
Написать программу, которая в качестве результата дает истину, если выполняется заданное условие, или ложь, если условие не выполняется:...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru