Funkcja while - z przypisanymi wartościami

0

jak zrobić by ta funkcja wykonywała się tylko gdy przypisane są te wartości?
while(x!= 1 || 2 || 3 || 4)
{
...
}

0

Że co? while to nie funkcja tylko słowo kluczowe pętli. Co przypisane? Nie rozumiem...

while (x >= 1 && x <= 4)
{
    // ...
}

O to chodzi?

0

Skorzystaj z operatorów alternatywy.

while(x==1 or x==2)
{instrukcje;}

Możesz dodać ich więcej. Jako, iż piszę ze smartfona to nie podałem jak wygląda prawidłowy ( zgodny ze standardem ) operator. Ale wiedz, że chodzi w tym przypadku o dwie pionowe kreski.

3

Drugi temat w ciągu 10min netsprint i drugi raz dziwnie zadane pytanie. Rozumiem, że możesz nic nie wiedzieć o programowaniu, od tego jest w końcu forum by pytać i się dowiadywać. Problem jednak pojawia się wtedy gdy nie potrafi się sformułować pytania. Z tego co widzę masz właśnie ten problem. Brak umiejętności zadawania pytań w twoim wypadku wynika z nieumiejętnego posługiwania się wyrazami - w zasadzie skąd masz wiedzieć jak użyć danego słowa skoro nie znasz jego znaczenia. I tutaj pojawia się puenta mojej wypowiedzi... musisz poznać znaczenia słów, których starasz się używać. Tego nauczysz się z książek opisujących dany język programowania. Podsumowując:

  1. Najpierw musisz wiedzieć o co pytać
  2. Dobrać odpowiednia słowa
  3. Sformułować pytanie
  4. Przedstawić pytanie na forum

Pomijam oczywiście fakt, że przed zadaniem jakiegokolwiek pytania na forum powinieneś samodzielnie poszukiwać odpowiedzi na nie.

0

Wyjaśniam jeszcze raz, by poprawić i by było wszystko jasne.
Chciałbym powtórzyć działanie switch, co zrobić by tego dokonać? Próbowałem 2 sposobów i żaden nie działa.

   

while(x!= 1||2||3||4)
    switch(x)
    {

    case 1:
    cout << "opcja 1";
    case 2:
    cout << "opcja 2";
    case 3:
    cout << "opcja 3";
    case 4:
    cout << "opcja 4";
    
  }
  
 for (i=0; x<0 || x > 4;i++)

   while(x!= 1 || 2 || 3 || 4)
  {

    switch(x)
    {

    case 1:
    cout << "opcja 1";
    case 2:
    cout << "opcja 2";
    case 3:
    cout << "opcja 3";
    case 4:
    cout << "opcja 4";
    
  } 

Niestety zaden z tych sposobów nie działa ;) Co więc poprawić by użytkownik miał ponownie możliwość wyboru case. Jest jakiś inny sposób? ;)

1

x!=1 || 2 znaczy coś zupełnie innego x!=1 || x!=2. Ty potrzebujesz to drugie.

1
    int x = 1;
    bool end = false;
    do
    {
        cin >> x;
        switch(x)
        {
            case 1: cout << "opt1\n"; break;
            case 2: cout << "opt2\n"; break;
            default: end = true;
        }
    }while(!end);
    while(!end)
    {
        cin >> x;
        switch(x)
        {
            case 1: cout << "opt1\n"; break;
            case 2: cout << "opt2\n"; break;
            default: end = true;
        }
    }

    for(;;)
    {
        cin >> x;
        switch(x)
        {
            case 1: cout << "opt1\n"; break;
            case 2: cout << "opt2\n"; break;
            default: end = true;
        }
        if(end)
            break;
    }


    while(x == 1 || x == 2)
    {
        cin >> x;
        switch(x)
        {
            case 1: cout << "opt1\n"; break;
            case 2: cout << "opt2\n"; break;
        }
    }

    while(!(x != 1 && x != 2))
    {
        cin >> x;
        switch(x)
        {
            case 1: cout << "opt1\n"; break;
            case 2: cout << "opt2\n"; break;
        }
    }

i wiele innych możliwości.

1

Łatwiej skorzystać po prostu ze zmiennej typu ** boolean**, która jeżeli przyjmie wartość false a stanie się tak kiedy zmienna wart przyjmie wartość większą od 4 to program przerywa prace...

#include <iostream>
using namespace std;

int main()
{
int wart;
bool pp = true;

while(pp)
    {
    cout << "Podaj wart >> "; cin >> wart;
            switch(wart)
            {
                case 1:
                cout << "Blablabla" << endl;
                break;
                case 2:
                cout << "Srutututu" << endl;
                break;
                case 3:
                cout << "hehehehe" << endl;
                break;
                case 4:
                cout << "aha" << endl;
                break;
                default:
                cout << "hymph" << endl; //dałem to jakby tak kogoś pokusiło zamiast liczby to wstawić znak ASCII
        if(wart>4)
        pp = false;
        }


    }
      cout << "Przerywam dzialanie programu.";

}
 

P.S Z jakiego kursu korzystasz?

1 użytkowników online, w tym zalogowanych: 0, gości: 1