1

Тема: while do

Потрібно щоб цикл повторювався при подвійній умові. Наприклад, якщо a>5 i a<2. як це зробити?

    int gra=0;
    do
    {
        cout << "Skilki gravciv? (1-2):\n";
        cin >> gra;
        switch (gra)
        {
        case 1:
            cout << "\n\n\t\t ODIN GRAVEC\n";
            break;
        case 2:
            cout << "\n\n\t\t DVA GRAVCIA\n";
            break;
        default:
            cout << "error! (1-2) gravcia only\n";
        }

    } while (gra > 2);

Коли вибираю нуль цикл не повторюється.

2 Востаннє редагувалося Kane (02.12.2014 20:03:28)

Re: while do

якщо a>5 i a<2

while (a > 5 && a < 2)

Коли вибираю нуль цикл не повторюється.

0 більше 2? Ні, тому це False.

3

Re: while do

використовуйте логічні операції типу A AND ...

a>5 && a<2

4

Re: while do

reverse2500 написав:

використовуйте логічні операції типу A AND ...

a>5 && a<2

та пробував вже, не працює.
Ось вам для перевірки.

#include <iostream>
using namespace std;
void main()
{
    int gra = 0;
    do
    {
        cout << "Skilki gravciv? (3-4):\n";
        cin >> gra;
        switch (gra)
        {
        case 3:
            cout << "3";
            break;
        case 4:
            cout << "4";
            break;
        default:
            cout << "error! (3-4) gravcia only\n";
        }

    } while (gra>4 && gra< 3 );

    system("pause");
}

5

Re: while do

while (gra >=3 && gra <= 4);

Якщо gra більше або дорівнює 3 ТА gra менше або дорівнює 4.

6

Re: while do

Kane написав:
while (gra >=3 && gra <= 4);

Якщо gra більше або дорівнює 3 ТА gra менше або дорівнює 4.

:) :) Ви хоч самі пробували забілдити це перед тим як написати?

7

Re: while do

Dopamine написав:
Kane написав:
while (gra >=3 && gra <= 4);

Якщо gra більше або дорівнює 3 ТА gra менше або дорівнює 4.

:) :) Ви хоч самі пробували забілдити це перед тим як написати?

Skilki gravciv? (3-4):
3
3Skilki gravciv? (3-4):
4
4Skilki gravciv? (3-4):
5
error! (3-4) gravcia only

8

Re: while do

Kane написав:
Dopamine написав:
Kane написав:
while (gra >=3 && gra <= 4);

Якщо gra більше або дорівнює 3 ТА gra менше або дорівнює 4.

:) :) Ви хоч самі пробували забілдити це перед тим як написати?

Skilki gravciv? (3-4):
3
3Skilki gravciv? (3-4):
4
4Skilki gravciv? (3-4):
5
error! (3-4) gravcia only

(gra >=3 && gra <= 4) - це працює для if, для while ні, зрозуміли?

9 Востаннє редагувалося Kane (02.12.2014 20:59:46)

Re: while do

Dopamine написав:
Kane написав:
Dopamine написав:

:) :) Ви хоч самі пробували забілдити це перед тим як написати?

Skilki gravciv? (3-4):
3
3Skilki gravciv? (3-4):
4
4Skilki gravciv? (3-4):
5
error! (3-4) gravcia only

(gra >=3 && gra <= 4) - це працює для if, для while ні, зрозуміли?

Це ви тролите, чи намагєтесь переписати K&R?
Цей вираз повертає булеве значення, а while та пр. іменно з такими виразами і працює.

Подякували: quez1

10 Востаннє редагувалося Dopamine (02.12.2014 22:25:30)

Re: while do

Kane написав:
Dopamine написав:
Kane написав:

(gra >=3 && gra <= 4) - це працює для if, для while ні, зрозуміли?

Це ви тролите, чи намагєтесь переписати K&R?
Цей вираз повертає булеве значення, а while та пр. іменно з такими виразами і працює.


та все рівно програма завжди виходить з циклу коли використовується do while. коли лишаю gra >3  - не виходить

11 Востаннє редагувалося tiktak (02.12.2014 22:37:46)

Re: while do

while (gra>4 || gra< 3 )

while (gra != 3 && gra != 4)
Подякували: Dopamine1

12

Re: while do

tiktak написав:
while (gra>4 || gra< 3 )

while (gra != 3 && gra != 4)

ось