Guest User

Untitled

a guest
Dec 11th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.34 KB | None | 0 0
  1. using System;
  2.  
  3.  
  4. namespace Lönerevision
  5. {
  6. class Program
  7. {
  8. // Metoden Main ska genom att anropa ReadInt() läsa in antalet löner som användaren vill mata in.
  9. static void Main(string[] args)
  10. {
  11.  
  12. int salaries; // 1. "Kassen/Variabeln" salaries(Antalet löner) skapas.
  13.  
  14. // =============
  15.  
  16. salaries = ReadInt("Ange antalet löner du vill mata in: "); // 2. Metoden Main, kontaktar metoden ReadInt och säger att salaries ska vara vad användaren ska skriva. Main bifogar också ett meddelande.
  17. Console.WriteLine(" ");
  18.  
  19. while (salaries > 1) // 4. Om numret användaren matar in är mer än 1 ska metoden processSalaries anropas och antalet löner att bearbeta skickas med som ett argument.
  20. {
  21. ProcessSalaries(salaries); //beräkna löner i ProcessSalaries-metoden.
  22. }
  23.  
  24. if (salaries < 2)
  25. {
  26. Console.BackgroundColor = ConsoleColor.Red;
  27. Console.ForegroundColor = ConsoleColor.White;
  28. Console.WriteLine("FEL! Beräkna minst 2 löner.");
  29. Console.ResetColor();
  30. }
  31. }
  32.  
  33. private static void ProcessSalaries(int count) //processSalaries() uppgift är att läsa in lönerna till en lokal array av typen int[].
  34. {
  35. int[] salaries = new int[count]; // salaries heter arrayen. Här skapas arrayen och elementen, count 0,1,2,3,4,etc. heter de olika "lådorna" i arrayen
  36.  
  37. int salariesLängd = salaries.Length;
  38.  
  39.  
  40.  
  41.  
  42.  
  43. for (int i = 0; i < salariesLängd; i++)
  44. {
  45.  
  46. if (i == salariesLängd)
  47. {
  48. break;
  49. }
  50.  
  51. try
  52. {
  53. Console.Write("Ange lön nummer {0}: ", i + 1);
  54. salaries[i] = int.Parse(Console.ReadLine());
  55.  
  56. /*ReadInt(string.Format("Ange lön nummer {0}: ", i + 1)); */
  57.  
  58. }
  59.  
  60. catch
  61. {
  62. Console.BackgroundColor = ConsoleColor.Red;
  63. Console.ForegroundColor = ConsoleColor.White;
  64. Console.WriteLine("FEL! Använd endast heltal.");
  65. Console.ResetColor();
  66. }
  67. }
  68.  
  69.  
  70. int[] salariesCopy = new int[count];
  71.  
  72. Array.Copy(salaries, salariesCopy, count);
  73.  
  74. Console.WriteLine("==================");
  75. Console.WriteLine("ORGINALET");
  76. Console.WriteLine("==================");
  77.  
  78. foreach (int i in salariesCopy)
  79. {
  80. Console.WriteLine(i);
  81. }
  82.  
  83. Console.WriteLine("==================");
  84. Console.WriteLine("SORTERING");
  85. Console.WriteLine("==================");
  86.  
  87. Array.Sort(salaries);
  88.  
  89. foreach (int i in salaries)
  90. {
  91. Console.WriteLine(i);
  92. }
  93.  
  94. do
  95. {
  96.  
  97. ConsoleKeyInfo avslutaKnapp;
  98.  
  99. Console.BackgroundColor = ConsoleColor.DarkGreen;
  100. Console.ForegroundColor = ConsoleColor.White;
  101. Console.WriteLine("Tryck valfri tangent för ny beräkning - Esc avslutar.");
  102. Console.ResetColor();
  103. avslutaKnapp = Console.ReadKey();
  104.  
  105. }
  106. while (avslutaKnapp.Key == ConsoleKey.Escape);
  107. {
  108. Environment.Exit(1);
  109. }
  110.  
  111.  
  112.  
  113. }
  114.  
  115.  
  116. private static int ReadInt(string prompt)
  117. {
  118.  
  119. Console.Write(prompt); // 3. Meddelandet: "Ange antalet löner du vill mata in: " skrivs ut.
  120.  
  121. try
  122. {
  123. return int.Parse(Console.ReadLine()); // 4. Användaren skriver något som programmet sedan läser av och skickar tillbaka(return) avläsningen till main metoden.
  124. }
  125.  
  126. catch // 4. Om användaren skriver bokstäver så körs catch-satsen.
  127. {
  128. Console.BackgroundColor = ConsoleColor.Red;
  129. Console.ForegroundColor = ConsoleColor.White;
  130. Console.WriteLine("FEL! Använd endast heltal.");
  131. Console.ResetColor();
  132.  
  133. return 0;
  134. }
  135. }
  136. }
  137.  
  138. }
Add Comment
Please, Sign In to add comment