Lär dig C#-programmering, del 3

lär dig c# May 10, 2020
 

Här på distansakademin.se erbjuds du utbildning inom programmering på distans helt gratis och detta är den andra lektionen i vår kurs "Grundläggande programmering i C#". Registrera dig gratis för att bl.a.:

  • Ladda ned koden vi skriver.
  • Ta del av kommentarer och svar.
  • Få feedback på koden du skriver.

I denna videon ska vi lära oss if-satser. Vi kommer lära oss ta emot vår användares ålder och skriva ut om de får ta körkort eller inte. 

Börja, som sist, med ett nytt konsollprogram och byt ut koden mellan de innersta måsvingarna till:

Console.WriteLine("Skriv din ålder");
string input = Console.ReadLine();
int age = int.Parse(input);

Console.WriteLine("Din ålder är " + input);

Starta programmet och fyll i någonting som inte är ett heltal (till exempel ditt namn) och tryck enter. Programmet kommer krascha och visa dig ett felmeddelande med texten: System.FormatException: 'Input string was not in a correct format.'. Detta betyder att programmet inte kunde köras klart och melmeddelandet "Input string was not in a correct format." betyder att texten inte gick att konvertera till ett heltal. 

För att kunna skriva vidare i koden måste vi avsluta programmet, vilket vi gör genom att tryck på den röda kvadraten uppe i Visual Studio (på samma ställe där playknappen för att starta programmet ligger). 

Nu vill vi skriva ut om vår användare är tillräckligt gammal för att skaffa körkort, detta gör vi genom att använda en if-sats lägg till döljande direkt efter den kod du nyss skrivit:

if (age >= 18)
{
    Console.WriteLine("Du får ta körkort");
}

Här använder vi en if-sats för att köra koden mellan måsvingarna efter if-satsen endast om åldern som användaren matade in är mer än, eller lika med, 18. Testa att köra koden för att se vad som händer när du skriver exempelvis 15, 18, 25, eller 50.

Om vår användare inte är 18 år eller mer vill vi skriva att den inte får ta körkort, för detta kan vi använda en till if-sats, men eftersom vi redan har en if-sats kan vi lägga till en else-sats som körs om vår första if-sats inte körs. Lägg till detta direkt efter if-satsens måsvingar:

else
{
     Console.WriteLine("Du får inte ta körkort");
}

Testa igen och använd samma siffror som innan (15, 18, 25, och 30). Nu kommer du se att när användaren skriver in någonting som är mindre än 18 skriv istället texten "Du får inte ta körkort" ut.

Förklaring: Mellan parenteserna i if-satsen har vi ett villkor, om detta villkoret stämmer (om åldern som matats in är mer än, eller lika med 18) kommer all kod mellan måsvingarna efter if-satsen köras. Om villkoret inte stämmer (den inmatade åldern är mindre än 18) kommer istället all kod mellan måsvingarna direkt efter else-satsen köras.

Vi kan kombinera en if-sats och en else-sats för att köra kod baserat på ytterligare ett villkor förutsatt att det första villkoret inte stämmer. Alltså om någon matar in 17 kan vi skriva ut att de inte får ta körkort än, men de för övningsköra. Uppdatera koden och ersätt hela if- / else-satsen med följande kod:

if (age >= 18)
{
    Console.WriteLine("Du får ta körkort");
}
else if (age >= 16)
{
    Console.WriteLine("Du får övningsköra");
}
else
{
    Console.WriteLine("Du får inte ta körkort");
}

Nu kollar vi alltså först om användaren är 18 år eller äldre, är den det kommer vi bara skriva ut "Du får ta körkort". Skriver användaren in en ålder som inte är 18 eller mer (t.ex. 16) kör koden vidare och kollar nästa else-if-sats som här kollar om användaren är 16 år eller äldre, är den det skrivs "Du får övningsköra" ut. Om användaren fyller i en ålder som är lägre än 16 (exempelvis 5) kommer programmet gå vidare till den sista else-satsen och skriva ut "Du får inte ta körkort".

Nu har vi lärt oss att använda if-satser för att köra olika delar av vår kod baserat på värdet på våra variabler. 

Övningar

Gör följande övningar innan du markerar avsnittet som klart

  • Ändra programmet så att användaren fyller i sitt  födelsedatum istället för sin ålder och skriv ut om användaren får ta körkort eller ej.
  • Ändra så att användaren fyller i sitt namn
    • Fyller användaren i ditt namn, skriv ut "Tjenare, vi har samma namn!"
    • Fyller användaren i något annat namn, skriv ut "Hej, fint namn!"
Close

50% Complete

Two Step

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.