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

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

Войти
Регистрация
Восстановить пароль
 
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
#1

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

21.01.2011, 17:35. Просмотров 469. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2011, 17:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Цикл do...while(); (C++):

Цикл: цикл for вообще никак не воспринимается транслятором - C++
Пишу программу, которая производит различные действия с одномерным массивом. Возникла следующая проблема: цикл for вообще никак не...

Почему цикл на при 1 уходит в бесконечный цикл? - C++
#define _CRT_SECURE_NO_WARNINGS #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main() { int x=0, y=0,...

Цикл for/Цикл while Помогите срочно пожалуйста... - C++
1.Вычислить и вывести на экран в виде таблицы значения функции F от x1 до x2 с шагом dx. где a, b и c - действительные числа. 2.Цикл...

Задание на цикл с параметром и цикл с постусловием - C++
Помогите пожалуйста написать программу с этими циклами. 1. Вычислить и напечатать таблицу значений функции Z= (e^-x)sinx для 0&lt;=x&lt;=П,...

Цикл с параметром и цикл с условием - C++
1. Составить программу вычисления суммы первых 10 непарных чисел 2. Дано числовой ряд и некоторое число &quot;епсила&quot;. Найти сумму...

Изменить цикл for на цикл do-while - C++
помогите передать программу с цикла FOR в цикл DO-WHILE #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Lagobas
3 / 3 / 0
Регистрация: 22.12.2010
Сообщений: 33
21.01.2011, 17:42 #2
если допустим ты ввел диск с, то
C
1
(ch != 'd')
у тебя будет верно))Так что верно только
C
1
while( !(ch == 'c' || ch == 'd'));
1
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
21.01.2011, 17:46  [ТС] #3
О. Я прозрел! Спасибо!
0
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
21.01.2011, 17:48 #4
Надо так
C++
1
while(ch != 'c' && ch != 'd');
0
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
21.01.2011, 17:56  [ТС] #5
Да, я понял. Просто при моем первом варианте, одно из под-условий всегда будет не исполняться. Спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2011, 17:56
Привет! Вот еще темы с ответами:

заменить цикл for на цикл while - C++
#include &lt;iostream&gt; using namespace std; int main() { int N, M, sum; cout &lt;&lt; &quot;Введите число N:&quot; &lt;&lt; endl; ...

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием... - Turbo Pascal
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень не использовать учесть особенности получения квадратного...

Написать в турбо паскале, Цикл с параметром, Цикл, с постусловием, и с предусловием пожалуйста - Turbo Pascal

Как реализовать бесконечный цикл While, но чтобы этот цикл не грузил процессор? - Visual C++
Допустим есть цикл: while (1) { ... } Как сделать так, чтобы бесконечный цикл не грузил процессор. Избавиться от...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.01.2011, 17:56
Ответ Создать тему
Опции темы

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