instrukcja if

0

Witam oto mój program
#include <iostream>

using namespace std;

int main()
{
int liczba;
cout <<"podaj liczbe"<<endl;
cin>> liczba;
cin.ignore();
if(liczba<10)
cout<<"liczba jest w pierwszej 10";

else if (10<liczba<20){
cout<<"liczba jest w drugiej 10";}
else if
(20<liczba<30)
{cout<<"liczba jest w trzeciej 10";}
else cout<<"NIE MA";
return(0);
}

czego gdy wpisuję np 45,24 nie wyswietla mi się komunikat liczba jest w trzeciej 10";

1

if (10<liczba<20 ) oznacza if(((10<liczba)&&(1<20))||((10>=liczba)&&(0<20)))

if(liczba<0) cout<<"liczba poza zakresem";
 else if(liczba<10) cout<<"liczba jest w pierwszej 10";
 else if (liczba<20) cout<<"liczba jest w drugiej 10";
 else if(liczba<30)  cout<<"liczba jest w trzeciej 10";
 else cout<<"liczba poza zakresem";
0

ok dzięki
ale mam pytanko cyfra 15 pasuje również do trzeciej 10
czego nie będzie również komunikatu "liczba pasuje do 3 10"

2

Wpisz słowo else w google translator

0

to jest fragment książki jak ma się do tego odnieść czy if tylko nie pomija instrukcji w funkcjach prawda fałsz:

instrukcji if w linii 17. otrzymalibyśmy wynik false, co spowodowałoby że linia 18. nie
zostałaby wykonana. Test w linii 20. miałby wartość true, więc wykonana zostałaby instrukcja w
linii 22.. Następnie zostałaby wykonana instrukcja if w linii 25. i jej wynikiem byłoby false
(jeśli wynikiem w linii 17. była prawda). Tak więc program pominąłby cały blok, aż do linii 39.
Ten przykład ilustruje że otrzymanie wyniku true w jednej z instrukcji if nie powoduje
zaprzestania sprawdzania pozostałych instrukcji if.

0

1. Jeżeli masz:

if (warunek1) instrukcja1;
    else if (warunek2) instrukcja2;

to jeżeli warunek1 zostanie spełniony to warunek2 nie jest brany pod uwagę.

2. Jeżeli masz pętle zagnieżdżone , np:

if (warunek1) instrukcja1;
    else if (warunek2) instrukcja2;
    else if (warunek3) instrukcja3;

to jeżeli warunek1 jest spełniony to nie są brane pod uwagę warunki 2,3.

3. Jeżeli masz dwie pętle niezależne, np:

if (warunek1) instrukcja1;
if (warunek2) instrukcja2;

to fakt, że warunek1 jest spełniony czy nie, nie wpływa na pętlę z warunkiem2.

0

"to fakt, że warunek1 jest spełniony czy nie, nie wpływa na pętlę z warunkiem2."
nie do końca rozumiem

1
ramzess77 napisał(a):

"to fakt, że warunek1 jest spełniony czy nie, nie wpływa na pętlę z warunkiem2."
nie do końca rozumiem
Nic dziwnego, kolega pomylił pętlę z warunkiem.

Może ten przykład pomoże. Idąc na zakupy z jajkami i cukrem na liście, możesz zobrazować Twoje postępowanie w następujący sposób:

if(jajkaSaWsklepie){
	kupJajka();
}

if(cukierJestWSklepie){
	kupCukier();
}

Kupno cukru nie jest w żaden sposób uzależnione od kupna jajek. Ot, dwa zupełnie różne warunki.

Teraz weźmy pod uwagę inną sytuację. Przepaliła Ci się żarówka i idziesz do sklepu z zamiarem kupna nowej (pomińmy na razie zakazy UE). Poszukujesz 120W, ale 100W też mogą być, jeśli lepszych nie ma. W takim razie postępujesz tak:

if(dostepneZarowki >= 120W){
	kup120W();
}else if(dostepneZarowki >= 100W){
	kup100W();
}else{
	napiszSkargeNaZaopatrzenieSklepu();
	idzDoKonkurencji();
}

W tym przypadku, jeśli jest dostępna żarówka 120W to nawet nie sprawdzasz, czy 100W również są - nie wspominając już o dokonywaniu takiego zakupu.

0

czyli w tym pierwszym przykładzie cukier jajka program wykona 1 i 2 instrukcję ?

a jeśli chodzi o drugi przykład dzięki za przejrzyste wytłumaczenie

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