Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
#1

"Нет выхода" из цикла - C++

19.09.2010, 21:01. Просмотров 425. Ответов 7
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
    while (choice != 'y' || choice != 'n')
            {
                cout<<"Copying massive's size is larger than destination massive's size!\n";
                cout<<"Do you want to change the destination massive size ? (y/n)\n-> ";
                //cin.get(); 
                cout<<flush;
                choice = (char)getch();
                //cin>>choice;
                cout<<flush;
                cout<<choice<<"\n";
            }
При вводе 'y' проверяю в Debugе'ре, что choice действительно равен 'y', но цикл продолжает работу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2010, 21:01     "Нет выхода" из цикла
Посмотрите здесь:

"Перепрыгивание" компилятора к части кода после выхода из функции - C++
Уважаемые форумчане! Решил обратиться к вам, благо уже не знаю, что делать. Накодил я тут QuickSort текста по алфавиту для лабы. Он...

Будет ли "жив" объект после выхода из функции - C++
Всем привет! Приведу пример кода, чтобы наглядно показать свой вопрос: class MyVecClass { public: MyVecClass ( void ) { x =...

Почему переменная "d" не была удалена из стека после выхода из функции? - C++
Почему переменная &quot;d&quot; не была удалена из стека после выхода из функции? #include&quot;stdafx.h&quot; #include&quot;iostream&quot; using namespace std; ...

Как работает "шаг цикла" в цикле for? - C++
Всем привет! Я в с++ новичек !! кому не сложно обьясните как работает &quot;шаг цикла&quot; в цикле for For(счетчик = значение; счетчик &lt;...

Как "выдрать" значение переменной из цикла - C++
В общем. Есть глобальная переменная. Есть цикл в одной из функций, где значение этой переменной с каждым проходом изменяется. Нужно...

"has stopped working" - зависает после цикла - C++
#include &lt;iostream&gt; using namespace std; main() { cout &lt;&lt; &quot;Enter sentence : &quot;; FILE * fo; fo =...

Неожиданный выход из цикла при вводе "е/Е" - C++
пытался разобраться с этой проблемой в другой теме, но решил все же вынести в отдельную, т.к. хочется понять, это UB/глюк или моё упущение....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
besstiaa
94 / 94 / 7
Регистрация: 04.06.2010
Сообщений: 223
19.09.2010, 21:41     "Нет выхода" из цикла #2
C++
1
while (choice != 'y' && choice != 'n')
Такое условие должно быть.
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
19.09.2010, 23:13  [ТС]     "Нет выхода" из цикла #3
Цитата Сообщение от besstiaa Посмотреть сообщение
C++
1
while (choice != 'y' && choice != 'n')
Такое условие должно быть.
Спасибо, но по логике || тоже должно всё отлично работать
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
19.09.2010, 23:57     "Нет выхода" из цикла #4
Цитата Сообщение от alexsvk Посмотреть сообщение
Спасибо, но по логике || тоже должно всё отлично работать
это как же? странная у вас логика знаете ли. по вашим рассуждениям, чтобы выйти из цикла переменная должна быть равна двум значениям одновременно
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
20.09.2010, 00:03  [ТС]     "Нет выхода" из цикла #5
Цитата Сообщение от fasked Посмотреть сообщение
это как же? странная у вас логика знаете ли. по вашим рассуждениям, чтобы выйти из цикла переменная должна быть равна двум значениям одновременно
Не понял Вас совершенно. Оператор "||" - это логическое "или". В моём случае выход будет в 2-х случаях: либо пользователь вводит 'n', либо 'y'.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
20.09.2010, 00:09     "Нет выхода" из цикла #6
Цитата Сообщение от alexsvk Посмотреть сообщение
В моём случае выход будет в 2-х случаях: либо пользователь вводит 'n', либо 'y'.
и в обоих случаях цикл продолжается
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
20.09.2010, 00:10     "Нет выхода" из цикла #7
почитайте только что состоявшийся
диалог
-
Lavr 20 сентября 2010 г.
while (choice != 'y' && choice != 'n')
Вот это меня кстати тоже всегда удивляло.
Что именно так, ибо
while(choice!='y'||choice!='n')
Первое условие возвращает 0 и второе 0, если не равны. 0||0=0
-
fa 20 сентября 2010 г.
0:00 чо!?
-
Lavr 20 сентября 2010 г.
0:00 э. как чо?

0 0 0
0 1 1
1 0 1
1 1 1
*
fa 20 сентября 2010 г.
0:01 подумай еще раз
*
Lavr 20 сентября 2010 г.
0:02 При и

0 0 0
0 1 0
1 0 0
1 1 1

При или соответственно

0 0 0
0 1 1
1 0 1
1 1 1

При XOR

0 0 0
0 1 1
1 0 1
1 1 0
0:02 оййй
0:03 Первое условие возвращает 1 и второе 1, если не равны. 1||1=1
0:03 Что-то неверно?
*
fa 20 сентября 2010 г.
0:04 while(i != 1 || i != 2) {
printf("> ");
scanf("%d", &i);
}
0:04 ввожу 3
0:04 получается true
0:04 ввожу 5 - true
0:04 ввожу 2 - true
*
Lavr 20 сентября 2010 г.
0:04 ну да.
0:04 а если и
0:04 тогда false если не 2
*
fa 20 сентября 2010 г.
0:04 при 2, true || false = true
*
Lavr 20 сентября 2010 г.
0:05 да
*
fa 20 сентября 2010 г.
0:05 соответственно цикл бесконечеен
0:05 true && false = false
false && true = false
*
Lavr 20 сентября 2010 г.
0:05 Ну да.
0:06 while(i != 1 || i != 2) {

брякнется только если и 1 и 2?
*
fa 20 сентября 2010 г.
0:06 false && false - случай когда переменная равна двум значениям одновременно
*
Lavr 20 сентября 2010 г.
0:06 что невозможно
*
fa 20 сентября 2010 г.
0:06 да да
*
Lavr 20 сентября 2010 г.
0:06 все. извини за тупость)
*
fa 20 сентября 2010 г.
0:06 да ьбывает
0:07 я раньше тоже как то по этому поводу зависал DDD
*
Lavr 20 сентября 2010 г.
0:07 Иди объясняй ему)
на эту тему
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2010, 08:23     "Нет выхода" из цикла
Еще ссылки по теме:

Завершение программы по вводу текста при выборе "нет" - C++
Имеется код, который выводит максимальное число. #include &lt;iostream&gt; #include &lt;clocale&gt; using namespace std; int main() ...

Удалить ту строку в котором есть слово "нет" - C++
Есть строки и нужно удалить ту строку в котором есть слово &quot;нет&quot;. Все остальные должны оставаться без изменений.

Определить кол-во слов , в которых нет буквы "у" - C++
Не понимаю как вообще это реализовать . Задания два , это одно из них , другое похожее . С клавиатуры посимвольно вводиться...

Поиск значения в памяти приложения ("Нет" читам!) - C++
Здравствуйте, жители КиберФорума! Играл недавно в немало известную игру Sniper Elite(1 часть, мультиплеер), читеров оказалось хоть ж*п*й...

Конструктор Шредингера "нет подходящего конструктора по умолчанию", хотя он есть - C++
собственно, код. на 156-й строке ( cont(circi);) ругается на отсутствие конструктора в классе. но он там есть! я его видел! а если...


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

Или воспользуйтесь поиском по форуму:
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
20.09.2010, 08:23  [ТС]     "Нет выхода" из цикла #8
Цитата Сообщение от fasked Посмотреть сообщение
почитайте только что состоявшийся на эту тему
Спасибо.
Yandex
Объявления
20.09.2010, 08:23     "Нет выхода" из цикла
Ответ Создать тему
Опции темы

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