Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Uppgift01
- {
- public class Program
- {
- public static void Main()
- {
- // Karl Andersson får betyget G i kursen Fysik.
- Studieresultat kalle = new Studieresultat("Karl Andersson", "G");
- Console.WriteLine(kalle);
- // Endast betygsgraderna U, G och VG är tillåtna.
- kalle.Betyg = "MVG";
- Console.WriteLine(kalle);
- Console.WriteLine();
- Betygslista orginallistan = new Betygslista();
- orginallistan.Rubrik = "Teknikhistoria 7,5hp";
- orginallistan.Infoga(new Studieresultat("Lisa Nilsson", "G"));
- orginallistan.Infoga(new Studieresultat("Karin Jansson", "VG"));
- orginallistan.Infoga(new Studieresultat("Sven Svensson", "U"));
- orginallistan.Infoga(new Studieresultat("Edvin Larssson", "U"));
- orginallistan.Infoga(new Studieresultat("Måns Jamsson", "G"));
- // Skapar en kopia av orginallistan
- Betygslista kopian = orginallistan.SkapaEnKopiaAvListan();
- // Av misstag läggs Karl Anderssons betyg i fysik in i kopian!
- kopian.Infoga(kalle);
- Console.WriteLine("Skriver ut kopian");
- kopian.SkrivUtResultaten();
- // Bäst att kontrollera att inget hände med orginallistans studieresultat.
- // Om Karl Anderssons resultat i fysik har kommit med, då har vi problem!!
- Console.WriteLine("Skriver ut orginallistan");
- orginallistan.SkrivUtResultaten();
- Console.WriteLine("Tryck på enter för att avsluta.");
- Console.ReadLine();
- }
- }
- class Studieresultat
- {
- //Deklarerar de inkapslade variablerna
- private string namn;
- private string betyg;
- //En Public variabel som ger tillgång till vår private namn
- public string Namn
- {
- get { return namn; }
- set { namn = value; }
- }
- //En Public variabel som ger tillgång till vår private betyg
- //If-satsen granskar ifall variabeln innehåller ett godkänt betyg, gör den inte det skriver den istället ut ett meddelande
- public string Betyg
- {
- get { return betyg; }
- set
- {
- if (value == "U" || value == "G" || value == "VG")
- betyg = value;
- else
- Console.WriteLine("FEL: Ett betyg kan endast vara U, G eller VG.");
- }
- }
- //Konstruktor för att skapa studieresultat med parametrar
- public Studieresultat(string namn, string betyg)
- {
- this.Namn = namn;
- this.Betyg = betyg;
- }
- //Ovveride av toString som skickar tillbaka i korrekt format
- public override string ToString()
- {
- return Namn + " " + Betyg;
- }
- }
- class Betygslista
- {
- //Deklarerar den privata variabeln rubrik
- private string rubrik;
- //Gör en lista med studieresultat
- List<Studieresultat> Studenter = new List<Studieresultat>();
- //En Public variabel som ger tillgång till vår private rubrik
- public string Rubrik
- {
- get { return rubrik; }
- set { rubrik = value; }
- }
- //Lägger till studenter i den listan som definierats tidigare
- public void Infoga(Studieresultat studenter)
- {
- Studieresultat studerande = new Studieresultat(studenter.Namn, studenter.Betyg);
- Studenter.Add(studerande);
- }
- //Skapar en kopia av det nuvarande objectet och skickar tillbaka det
- public Betygslista SkapaEnKopiaAvListan()
- {
- Betygslista kopia = new Betygslista();
- foreach (Studieresultat i in Studenter)
- {
- kopia.Infoga(i);
- }
- return kopia;
- }
- //loopar ut studieresultaten
- public void SkrivUtResultaten()
- {
- foreach (Studieresultat studie in Studenter)
- {
- Console.WriteLine(studie);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement