Tingimuslaused

Mis on tingimuslaused?

Tingimuslaused võimaldavad programmil otsuseid teha — täita erinevaid tegevusi sõltuvalt sellest, kas tingimus on tõene või väär. See on iga programmi loogika alus. Ilma tingimusteta teeks programm alati täpselt sama asja, sõltumata sisendist.


if-lause

Lihtsaim tingimus. Kui tingimus on tõene — täidetakse koodiplokk.

int vanus = 15;

if (vanus >= 18)
{
    Console.WriteLine("Oled täiskasvanu.");
}
else
{
    Console.WriteLine("Oled alaealine.");
}

if-else if-else lause

Kui tingimusi on mitu, kasutatakse else if-i. Programm kontrollib tingimusi järjest ja täidab esimese tõese ploki.

int hinne = 4;

if (hinne == 5)
{
    Console.WriteLine("Suurepärane!");
}
else if (hinne == 4)
{
    Console.WriteLine("Väga hea!");
}
else if (hinne == 3)
{
    Console.WriteLine("Rahuldav.");
}
else if (hinne == 2)
{
    Console.WriteLine("Läbitud miinimumiga.");
}
else
{
    Console.WriteLine("Mittearvestatud.");
}

switch-lause

switch on mugav alternatiiv paljudele if-else if plokkidele, kui kontrollitakse ühe muutuja konkreetseid väärtusi. Iga case vastab ühele väärtusele. default täidetakse siis, kui ükski case ei vasta.

Console.Write("Sisesta nädalapäeva number (1-7): ");
int paev = int.Parse(Console.ReadLine());

switch (paev)
{
    case 1:
        Console.WriteLine("Esmaspäev");
        break;
    case 2:
        Console.WriteLine("Teisipäev");
        break;
    case 3:
        Console.WriteLine("Kolmapäev");
        break;
    case 4:
        Console.WriteLine("Neljapäev");
        break;
    case 5:
        Console.WriteLine("Reede");
        break;
    case 6:
        Console.WriteLine("Laupäev");
        break;
    case 7:
        Console.WriteLine("Pühapäev");
        break;
    default:
        Console.WriteLine("Vale number! Sisesta 1 kuni 7.");
        break;
}

Täielik koodinäide:

using System;

class Program
{
    static void Main()
    {
        Console.OutputEncoding = System.Text.Encoding.UTF8;
        // Piletikalkulaator — hind sõltub vanusest
        Console.Write("Sisesta oma vanus: ");
        int vanus = int.Parse(Console.ReadLine());

        double piletihind;

        if (vanus < 7)
        {
            piletihind = 0.0; // lapsed alla 7 — tasuta
            Console.WriteLine("Pilet on TASUTA!");
        }
        else if (vanus <= 18)
        {
            piletihind = 3.50; // õpilashind
            Console.WriteLine($"Õpilaspilet: {piletihind}€");
        }
        else if (vanus >= 65)
        {
            piletihind = 2.00; // pensionärihind
            Console.WriteLine($"Pensionäripilet: {piletihind}€");
        }
        else
        {
            piletihind = 6.00; // täishind
            Console.WriteLine($"Täiskasvanupilet: {piletihind}€");
        }

        // Kontrollime, kas isikul on allahindlus
        bool onLiige = true;
        if (onLiige && piletihind > 0)
        {
            double soodus = piletihind * 0.10;
            Console.WriteLine($"Liikme allahindlus (-10%): -{soodus:F2}€");
            Console.WriteLine($"Lõplik hind: {piletihind - soodus:F2}€");
        }
    }
}

Tulemus: