Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
zepterman
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 27
#1

Цикл с двумя условиями

12.09.2012, 18:29. Просмотров 3862. Ответов 5
Метки нет (Все метки)

Подскажите, как написать, цикл который бы останавливался при значении переменной choice равной 1 или 2.

Ввожу так, получается бесконечный цикл.
C++ (Qt)
1
2
3
4
5
6
int choice=0;
    for (;choice!=1 || choice!=2;)
    {
        cout<<"\nPlease, choose 1 or 2\n";
        cin>>choice;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.09.2012, 18:29
Ответы с готовыми решениями:

С двумя условиями.
Задан целочисленный одномерный массив A из N элементов. Найти номер последнего...

Описать цикл while с тремя условиями
На 134 строке в файле date.h программа не хочет входит в цикл while, как будто...

Вычисления с условиями
W\iota = \begin{cases} &amp; \text{ if } x= a+v\iota ,v\iota &gt; 0 \\ &amp; \text{ if }...

Ошибка с условиями
Проблемы с else{}оно выскакивает не тогда когда нужно. cin.ignore() не...

Функция с условиями
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;math.h&gt;...

5
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
12.09.2012, 18:31 #2
C++
1
for (; choice != 1 && choice != 2 ;)
C++
1
for (; (choice != 1) & (choice != 2) ;)
C++
1
for (; (choice != 1) * (choice != 2) ;)
C++
1
for (; !(choice == 1 || choice == 2) ;)
C++
1
for (; !((choice == 1) | (choice == 2)) ;)
C++
1
for (; !((choice == 1) ^ (choice == 2)) ;)
C++
1
for (; !((choice == 1) + (choice == 2)) ;)
1
zepterman
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 27
12.09.2012, 18:40  [ТС] #3
Цитата Сообщение от Thinker Посмотреть сообщение
C++
1
for (; choice != 1 && choice != 2 ;)
Спасибо, так работает!
Но почему, используется оператор && (И), а не || (ИЛИ) ?

Но моей записи выходит такая трактовка:
Выполнять цикл, если значение переменной не равно 1 или значение переменной не равно 2.

По вашей:
Выполнять цикл, если значение переменной не равно 1 и значение переменной не равно 2.

То есть выходит, что по записи (choice != 1 && choice != 2), цикл должен прекратится, если choice одновременно будет равняться 1 и 2.
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
12.09.2012, 18:43 #4
Цитата Сообщение от zepterman Посмотреть сообщение
Но почему, используется оператор && (И), а не || (ИЛИ) ?
Выше примеры с различными операциями. Вот еще

C++
1
for (; (choice - 1) && (choice - 2) ;)
C++
1
for (; (choice - 1) * (choice - 2) ;)
Выбирайте
0
zepterman
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 27
12.09.2012, 18:45  [ТС] #5
Спасибо большое!
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
12.09.2012, 18:47 #6
Цитата Сообщение от zepterman Посмотреть сообщение
То есть выходит, что по записи (choice != 1 && choice != 2), цикл должен прекратится, если choice одновременно будет равняться 1 и 2.
Нет. Когда хотя бы одно не выполнится, то сразу цикл прекратится. Посмотрите на определение операций && и ||
1
12.09.2012, 18:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2012, 18:47

Программа с условиями
Не могу понять, что необходимо написать в строке 20 после &quot;else&quot; для того,...

Работа while с несколькими условиями
Доброго времени суток, У меня проблема, надо написать программу где в массив...

Вычисление по формуле с условиями
Прошу помочь сделать задание С++


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

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

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