Mis on valik (otsustus)?
- Valik võimaldab programmil käituda erinevalt sõltuvalt tingimusest.
- Kasutatakse if-else või switch konstruktsioone.
Ülesanne: Juku kino pilet
// 1. Juku kino pilet
Console.WriteLine("Tere! kirjuta nimi");
string tekstJuk = Console.ReadLine();
if (tekstJuk.ToLower() != "juku")
{
Console.WriteLine("Ma ei taha lähe kinno.");
}
else
{
Console.Write("Mis on sinu vanus? ");
int aastat = int.Parse(Console.ReadLine());
string vana = funk.vana1(aastat);
Console.WriteLine($"Pilet: {vana}");
}
Kasutaja nime sisestamine: Esimeses etapis küsib programm kasutajalt nime. Kui sisestatud nimi on “juku”, siis liigutakse edasi järgmisse sammu. Kui nimi on midagi muud, siis tagastatakse sõnum “Ma ei taha lähe kinno.”
Kasutaja vanuse sisestamine: Kui kasutaja nimi on õige (st “juku”), siis küsib programm kasutajalt tema vanust.
Vanusele vastava pileti määramine: Kui vanus on teada, siis määratakse piletitüüp järgmiste reeglite järgi:
- Kui vanus on alla 6 aasta, on pilet tasuta.
- Kui vanus on vahemikus 6–14 aastat, siis on pilet lastepilet.
- Kui vanus on vahemikus 15–65 aastat, siis on pilet täispilet.
- Kui vanus on üle 65 aasta, siis on pilet sooduspilet.
Funk:
public static string vana1(int aastat)
{
string tulemus = "";
if (aastat < 0 || aastat > 100)
{
tulemus = "viga andmetega";
}
else if (aastat < 6)
{
tulemus = "tasuta";
}
else if (aastat <= 14)
{
tulemus = "lastepilet";
}
else if (aastat <= 65)
{
tulemus = "täispilet";
}
else
{
tulemus = "sooduspilet";
}
return tulemus;
}
See ülesanne on väga hea harjutus, kuna see:
- Kontrollib sisestatud andmete kehtivust (kas nimi on “Juku” ja kas vanus on mõistlik).
- Kasutab
if-tingimusi loogika jaoks, et määrata vastav tulemus, sõltuvalt kasutaja sisestatud andmetest. - Kasutab funktsioone, et muuta koodi loetavamaks ja kergesti hallatavaks.
Näide väljundist:
Tere! kirjuta nimi
Juku
Mis on sinu vanus? 12
Pilet: lastepilet
Kui sisestada vale nimi:
Tere! kirjuta nimi
Mati
Ma ei taha lähe kinno.

