Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Почему не работает ИЛИ ?


Автор: wilson 1.6.2013, 11:42
Что-то туплю, никак не могу въехать в чём косяк.
Заранее спасибо.

Код

#include <iostream>
using namespace std;

int main()
{
    char a='u';
    int b=0;

    while (a!='Y' || a!='y' || b<3)     /*хочу закончить цикл, если введено "Y" или "y" или
                                                      если введено 4-й раз не "Y" или "y"*/
    {
        cout << endl << "Input a :";
        cin >> a;
        cout << endl << "b = " << b++ << "\n";

    }
    return 0;
}

Автор: Dem_max 1.6.2013, 12:04
Код

int _tmain(int argc, _TCHAR* argv[])
{
    char a='u';
    int b=0;

    while(b < 3)     /*хочу закончить цикл, если введено "Y" или "y" или
                                                      если введено 4-й раз не "Y" или "y"*/
    {
        if((a =='Y') || (a =='y')) break;
        cout << endl << "Input a :";
        cin >> a;
        cout << endl << "b = " << b++ << "\n";

    }
    return 0;
}


P.S. если не знаешь как поступить поступай проще

Автор: borisbn 1.6.2013, 12:11
> Почему не работает ИЛИ
ИЛИ как раз и работает. Тебе нужно не ИЛИ, а И. Хотя, я полностью согласен с предыдущим оратором - делай проще, и к тебе потянутся люди ))

Автор: wilson 1.6.2013, 12:18
допёрло, наконец:
Код

while(!(a=='Y' || a=='y' || b>3))


Спасибо всем.

Автор: Arantir 1.6.2013, 17:22
Цитата(wilson @  1.6.2013,  11:18 Найти цитируемый пост)
допёрло, наконец:

Дискретную математику учить надо было =)
Цитата(borisbn @  1.6.2013,  11:11 Найти цитируемый пост)
Тебе нужно не ИЛИ, а И.

ибо
!(a=='Y' || a=='y' || b>3) это то же самое что (a!='Y' && a!='y' && b<3)

Автор: volatile 1.6.2013, 18:27
Цитата(Arantir @  1.6.2013,  17:22 Найти цитируемый пост)
!(a=='Y' || a=='y' || b>3) это то же самое что (a!='Y' && a!='y' && b<3) 

Не совсем

Автор: Arantir 1.6.2013, 19:01
Цитата(volatile @  1.6.2013,  17:27 Найти цитируемый пост)
Не совсем

просто опечатка =)
Код

a!='Y' && a!='y' && b<=3

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)