Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.22 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Uppgift01
  4. {
  5.     public class Program
  6.     {
  7.         public static void Main()
  8.         {
  9.             // Karl Andersson får betyget G i kursen Fysik.
  10.             Studieresultat kalle = new Studieresultat("Karl Andersson", "G");
  11.             Console.WriteLine(kalle);
  12.  
  13.             // Endast betygsgraderna U, G och VG är tillåtna.
  14.             kalle.Betyg = "MVG";
  15.             Console.WriteLine(kalle);
  16.             Console.WriteLine();
  17.  
  18.             Betygslista orginallistan = new Betygslista();
  19.             orginallistan.Rubrik = "Teknikhistoria 7,5hp";
  20.             orginallistan.Infoga(new Studieresultat("Lisa Nilsson", "G"));
  21.             orginallistan.Infoga(new Studieresultat("Karin Jansson", "VG"));
  22.             orginallistan.Infoga(new Studieresultat("Sven Svensson", "U"));
  23.             orginallistan.Infoga(new Studieresultat("Edvin Larssson", "U"));
  24.             orginallistan.Infoga(new Studieresultat("Måns Jamsson", "G"));
  25.  
  26.             // Skapar en kopia av orginallistan
  27.             Betygslista kopian = orginallistan.SkapaEnKopiaAvListan();
  28.  
  29.             // Av misstag läggs Karl Anderssons betyg i fysik in i kopian!
  30.             kopian.Infoga(kalle);
  31.  
  32.             Console.WriteLine("Skriver ut kopian");
  33.             kopian.SkrivUtResultaten();
  34.  
  35.             // Bäst att kontrollera att inget hände med orginallistans studieresultat.
  36.             // Om Karl Anderssons resultat i fysik har kommit med, då har vi problem!!
  37.             Console.WriteLine("Skriver ut orginallistan");
  38.             orginallistan.SkrivUtResultaten();
  39.  
  40.             Console.WriteLine("Tryck på enter för att avsluta.");
  41.             Console.ReadLine();
  42.         }
  43.     }
  44.     class Studieresultat
  45.     {
  46.         //Deklarerar de inkapslade variablerna
  47.         private string namn;
  48.         private string betyg;
  49.  
  50.         //En Public variabel som ger tillgång till vår private namn
  51.         public string Namn
  52.         {
  53.             get { return namn; }
  54.             set { namn = value; }
  55.         }
  56.  
  57.         //En Public variabel som ger tillgång till vår private betyg
  58.         //If-satsen granskar ifall variabeln innehåller ett godkänt betyg, gör den inte det skriver den istället ut ett meddelande
  59.         public string Betyg
  60.         {
  61.             get { return betyg; }
  62.             set
  63.             {
  64.                 if (value == "U" || value == "G" || value == "VG")
  65.                     betyg = value;
  66.                 else
  67.                     Console.WriteLine("FEL: Ett betyg kan endast vara U, G eller VG.");
  68.             }
  69.         }
  70.  
  71.         //Konstruktor för att skapa studieresultat med parametrar
  72.         public Studieresultat(string namn, string betyg)
  73.         {
  74.             this.Namn = namn;
  75.             this.Betyg = betyg;
  76.         }
  77.  
  78.         //Ovveride av toString som skickar tillbaka i korrekt format
  79.         public override string ToString()
  80.         {
  81.             return Namn + " " + Betyg;
  82.         }
  83.     }
  84.     class Betygslista
  85.     {
  86.         //Deklarerar den privata variabeln rubrik
  87.         private string rubrik;
  88.         //Gör en lista med studieresultat
  89.         List<Studieresultat> Studenter = new List<Studieresultat>();
  90.  
  91.         //En Public variabel som ger tillgång till vår private rubrik
  92.         public string Rubrik
  93.         {
  94.             get { return rubrik; }
  95.             set { rubrik = value; }
  96.         }
  97.  
  98.         //Lägger till studenter i den listan som definierats tidigare
  99.         public void Infoga(Studieresultat studenter)
  100.         {
  101.             Studieresultat studerande = new Studieresultat(studenter.Namn, studenter.Betyg);
  102.             Studenter.Add(studerande);
  103.         }
  104.  
  105.         //Skapar en kopia av det nuvarande objectet och skickar tillbaka det
  106.         public Betygslista SkapaEnKopiaAvListan()
  107.         {
  108.             Betygslista kopia = new Betygslista();
  109.             foreach (Studieresultat i in Studenter)
  110.             {
  111.                 kopia.Infoga(i);
  112.             }
  113.             return kopia;
  114.         }
  115.  
  116.         //loopar ut studieresultaten
  117.         public void SkrivUtResultaten()
  118.         {
  119.             foreach (Studieresultat studie in Studenter)
  120.             {
  121.                 Console.WriteLine(studie);
  122.             }
  123.         }
  124.  
  125.  
  126.     }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement