Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Lönerevision
- {
- class Program
- {
- // Metoden Main ska genom att anropa ReadInt() läsa in antalet löner som användaren vill mata in.
- static void Main(string[] args)
- {
- int salaries; // 1. "Kassen/Variabeln" salaries(Antalet löner) skapas.
- // =============
- 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.
- Console.WriteLine(" ");
- 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.
- {
- ProcessSalaries(salaries); //beräkna löner i ProcessSalaries-metoden.
- }
- if (salaries < 2)
- {
- Console.BackgroundColor = ConsoleColor.Red;
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine("FEL! Beräkna minst 2 löner.");
- Console.ResetColor();
- }
- }
- private static void ProcessSalaries(int count) //processSalaries() uppgift är att läsa in lönerna till en lokal array av typen int[].
- {
- 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
- int salariesLängd = salaries.Length;
- for (int i = 0; i < salariesLängd; i++)
- {
- if (i == salariesLängd)
- {
- break;
- }
- try
- {
- Console.Write("Ange lön nummer {0}: ", i + 1);
- salaries[i] = int.Parse(Console.ReadLine());
- /*ReadInt(string.Format("Ange lön nummer {0}: ", i + 1)); */
- }
- catch
- {
- Console.BackgroundColor = ConsoleColor.Red;
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine("FEL! Använd endast heltal.");
- Console.ResetColor();
- }
- }
- int[] salariesCopy = new int[count];
- Array.Copy(salaries, salariesCopy, count);
- Console.WriteLine("==================");
- Console.WriteLine("ORGINALET");
- Console.WriteLine("==================");
- foreach (int i in salariesCopy)
- {
- Console.WriteLine(i);
- }
- Console.WriteLine("==================");
- Console.WriteLine("SORTERING");
- Console.WriteLine("==================");
- Array.Sort(salaries);
- foreach (int i in salaries)
- {
- Console.WriteLine(i);
- }
- do
- {
- ConsoleKeyInfo avslutaKnapp;
- Console.BackgroundColor = ConsoleColor.DarkGreen;
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine("Tryck valfri tangent för ny beräkning - Esc avslutar.");
- Console.ResetColor();
- avslutaKnapp = Console.ReadKey();
- }
- while (avslutaKnapp.Key == ConsoleKey.Escape);
- {
- Environment.Exit(1);
- }
- }
- private static int ReadInt(string prompt)
- {
- Console.Write(prompt); // 3. Meddelandet: "Ange antalet löner du vill mata in: " skrivs ut.
- try
- {
- 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.
- }
- catch // 4. Om användaren skriver bokstäver så körs catch-satsen.
- {
- Console.BackgroundColor = ConsoleColor.Red;
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine("FEL! Använd endast heltal.");
- Console.ResetColor();
- return 0;
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment