Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Globalization;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace UppgiftLönespec
- {
- class Program
- {
- static void Main(string[] args)
- {
- NumberFormatInfo nfi = new CultureInfo("en-US", false).NumberFormat;
- nfi.CurrencyDecimalSeparator = ",";
- nfi.CurrencyGroupSeparator = ".";
- nfi.CurrencySymbol = "";
- while (true)
- {
- int median = 0;
- int medellön = 0;
- int lönespridning = 0;
- int antalLöner = mataInInt("Ange antal löner att mata in: ");
- try
- {
- if (antalLöner < 1) throw new Exception("Antalet löner kan inte vara färre än 1");
- }
- catch (Exception e)
- {
- Console.WriteLine("\n" + e.Message);
- Console.WriteLine("Vänligen skriv igen...");
- continue;
- }
- int[] löner = new int[antalLöner];
- for (int i = 0; i < löner.Length; i++)
- {
- while (true)
- {
- int svar = mataInInt($"Ange lön nummer {i + 1}: ");
- if (svar < 0)
- {
- Console.WriteLine("\nDu kan inte skriva in en negativ lön.");
- Console.WriteLine("Vänligen skriv igen...");
- continue;
- }
- löner[i] = svar;
- break;
- }
- }
- Array.Sort(löner);
- if (löner.Length % 2 == 0)
- {
- int median1 = löner.Length / 2;
- int median2 = (löner.Length / 2) + 1;
- median = (löner[median1 - 1] + löner[median2 - 1]) / 2;
- }
- else
- {
- median = löner[löner.Length / 2];
- }
- medellön = (int)löner.Average();
- lönespridning = löner.Max() - löner.Min();
- Console.WriteLine();
- for (int i = 0; i < 36; i++) Console.Write("-");
- Console.WriteLine($"\nMedianlön: \t{median.ToString("C0", nfi)} kr");
- Console.WriteLine($"Medellön: \t{medellön.ToString("C0", nfi)} kr");
- Console.WriteLine($"Lönespridning: \t{lönespridning.ToString("C0", nfi)} kr");
- for (int i = 0; i < 36; i++) Console.Write("-");
- int antalRader = (int)Math.Round(löner.Length / 3.0);
- Console.Write("\n");
- for (int i = 0; i < antalRader; i++)
- {
- for (int j = 0; j < 3; j++)
- {
- if (j + (i * 3) >= antalLöner)
- {
- break;
- }
- else
- {
- Console.Write($" \t{löner[j + (i * 3)]}");
- }
- }
- Console.Write("\n");
- }
- Console.BackgroundColor = ConsoleColor.Green;
- Console.ForegroundColor = ConsoleColor.White;
- Console.CursorVisible = false;
- Console.Write("\nTryck tangent för ny beräkning- Esc avslutar.");
- if (Console.ReadKey(true).Key == ConsoleKey.Escape) break;
- Console.ResetColor();
- Console.CursorVisible = true;
- Console.Clear();
- }
- }
- static int mataInInt(string fråga)
- {
- int svar = 0;
- while (true)
- {
- try
- {
- Console.Write(fråga);
- svar = int.Parse(Console.ReadLine());
- break;
- }
- catch (Exception e)
- {
- Console.WriteLine("\n" + e.Message);
- Console.WriteLine("Vänligen skriv igen...");
- continue;
- }
- }
- return svar;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement