Форум программистов, компьютерный форум, киберфорум
Наши страницы

Цикл do...while(); - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ сыплюсь на экзамене http://www.cyberforum.ru/cpp-beginners/thread232146.html
помогите кто нибудь знает ответ вот вопрос Определените переменной файловой структуры в С++
C++ Отрицательные индексы элементов массива. Вообщем нашел очень скупую информацию про то как сними работать.В одной книжке гоовриться что для этого нужно определить дополнительный указатель на массив.Там же дан пример int A={1,11,111}; int *... http://www.cyberforum.ru/cpp-beginners/thread232142.html
Динамические структуры данных. Формирование линейного списка. C++
Текст помощи для некоторой программы организован в виде линейного списка. Каждая компонента текста помощи содержит термин (слово) и текст, содержащий пояснения к этому термину. Количество строк...
Выдает ошибку, как исправить её? C++
//Подсчитать количество строк заданной целочисленной матрицы NxN, являющихся перестановкой чисел 1,2...N //( т.е. содержащих кадое из чисел 1,2...N ровно один раз) #include "stdafx.h" #include...
C++ Разные компиляторы http://www.cyberforum.ru/cpp-beginners/thread232072.html
Програмировать на С++ только начинаю. Только вот при скачивании разных учебников - встречаю отличающиеся коды. В одних случаю пишеться using namespace std;, в других - нет. Кое-где местоcout << .......
C++ Посчитать сумму элементов двумерного массива Элементы матрицы заполнить случайными числами в диапазоне от 3 до 8. Посчитать сумму элементов двумерного массива. Посчитать произведение нечётных элементов массива. Вывести на экран процентное... подробнее

Показать сообщение отдельно
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206

Цикл do...while(); - C++

21.01.2011, 17:35. Просмотров 477. Ответов 4
Метки (Все метки)

Привет!
Объясните, пожалуйста, почему не завершается цикл при следующем написании?:
C++
1
2
3
4
5
6
7
8
9
10
        do
        {
            cout << "Введите тип диска (c/d): "; cin >> ch;
            if (ch == 'c')
                disk_type = CD;
            else if(ch=='d')
                disk_type = DVD;
            else
                cout << "Указан неверный тип диска, попробуйте еще раз!\n";
        } while((ch != 'c') || (ch != 'd'));
А вот если заменить условие на:
C++
1
while( !(ch == 'c' || ch == 'd'));
То все будет работать правильно! Как так? Ведь, как мне кажется, смысл этих условий одинаковый - выйти из цикла, как только переменная ch будет равна 'c' или 'd'
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru