Valiklaused & tingimuslaused

Download Report

Transcript Valiklaused & tingimuslaused

Valiklaused
Valiklaused
• Osades olukordades võib muutuda tavapärase if-else konstruktsiooni
kasutamine kohmakaks
• Sõltuvalt olukorrast on selle lahendamiseks 2 täiendavat
keelekonstruktsiooni
• switch ()
• If / else if / else
2014
2
Valiklaused UMLis
avaldis
2014
väärtus
väärtus
väärtus
väärtus
Tegevus1
Tegevus2
Tegevus3
Tegevus4
3
Valiklaused koodis
switch ()
if / else if / else
switch (avaldis)
if (tingimus)
{
{
case konstant või avaldis:
laused
laused
}
break;
else if (tingimus)
case konstant või avaldis:
{
laused
break;
default:
laused
laused
}
else
{
break;
}
2014
laused
}
4
Luua algoritm programmile …
• … mis matkib tüüpilist kauba kaalu poes, st
•
•
•
•
Loetakse sisse kauba kaal
Loetakse sisse kaup (st millega tegu)
Lähtudes kaubast ja kogusest arvutatakse välja hind
Saadud hind ja kauba nimetus väljastatakse
• Tundmatu kauba numbri puhul väljastatakse veateade
• Kui saadud maksumus on 0, siis väljastatakse veateade
2014
5
#include <stdio.h>
int main(void)
{
float kogus;
int valik;
printf("Sisestage palun toote kogus\n> ");
scanf("%f", kogus);
switch (valik)
{
case 0:
printf(„Toode %d – Banaan\n", valik);
hind = 0.38;
break;
default:
hind = 0;
printf("Ei saanud aru\n");
break;
}
maksumus = hind * kogus;
printf("Kokku: %f", maksumus);
return 0;
}
2014
• Loo programm, mis emuleeriks
toidupoes olevat kauba kaalu
• Kaalul peab olema kokku 5
valikut (4 loo ise)
• Kuva kasutajale pakutavate
toodete loetelu
• Kasutajalt loetakse sisse kogus ja
valitud toode
• Veendu, et kõik vajalikud
muutujad oleksid deklareeritud
• Loo eraldi vastus olukorras, kui
summa on 0
6