jak zrobić by ta funkcja wykonywała się tylko gdy przypisane są te wartości?
while(x!= 1 || 2 || 3 || 4)
{
...
}
Że co? while
to nie funkcja tylko słowo kluczowe pętli. Co przypisane? Nie rozumiem...
while (x >= 1 && x <= 4)
{
// ...
}
O to chodzi?
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.
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:
- Najpierw musisz wiedzieć o co pytać
- Dobrać odpowiednia słowa
- Sformułować pytanie
- Przedstawić pytanie na forum
Pomijam oczywiście fakt, że przed zadaniem jakiegokolwiek pytania na forum powinieneś samodzielnie poszukiwać odpowiedzi na nie.
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? ;)
x!=1 || 2 znaczy coś zupełnie innego x!=1 || x!=2. Ty potrzebujesz to drugie.
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.
Ł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?