Klauzula elif
Klauzule elif pozwalają w jednej instrukcji if badać wartości wielu wyrażeń. Np.

if 5 == 3:
print( "Eureka!" )
print( "5 jest równe 3!!!" )
elif 5 > 3:
print( "5 jest większe od 3!!!" )
elif 5 == 5:
print( "No tak, to jasne..." )
else:
print( "Nic z tego nie" )
print( "rozumiem..." )
5 jest większe od 3!!!

W jednej instrukcji if możesz użyć dowolnej liczby klauzul elif, jednak instrukcja if działa tylko do napotkania pierwszego prawdziwego warunku. Dlatego wykonany został kod po warunku 5 > 3, a kolejna klauzula elif, pomimo tego, że warunek 5 == 5 ma wartość True, nie jest już wykonywana.

Zadanie:

uzupełnij funkcję dzien_tygodnia() w taki sposób, aby zwracała odpowiedni łańcuch tekstowy w zależności od wartości przekazanej przez parametr x wg następujących kryteriów:


wartość x zwracany string
1 poniedziałek
2 wtorek
3 środa
4 czwartek
5 piątek
6 sobota
7 niedziela
inna niż powyższe błąd


Dodatkowe kryterium: w Twoim programie może być tylko jedna instrukcja return.

def dzien_tygodnia( x ):
dzien = "poniedziałek"


Odpowiedź :

#include <iostream>

using namespace std;

string dzien_tygodnia (int x)

{

string w;

if (x==1) w="poniedzialek";

else if (x==2) w="wtorek";

else if (x==3) w="sroda";

else if (x==4) w="czwartek";

else if (x==5) w="piatek";

else if (x==6) w="sobota";

else if (x==7) w="niedziela";

else w="blad";

return w;

}

int main ()

{

int d;

cout << "Podaj dzien tygodnia: ";

cin >> d;

cout << dzien_tygodnia(d);

}

Viz Inne Pytanie