Meddelande

Minska
No announcement yet.

C# Problem!

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • C# Problem!

    Tja, inne på en 6e och sista uppgift här nu där vi ska göra en lönespec där användaren ska få möjlighet att mata in ett visst antal löner, ange specifika lönesummorna, efter det skrivs medianlönen, medellönen samt lönespridningen. Sen kommer den tuffa uppgiften (vart jag hakar fast) där jag sedan ska lista ut lönerna i tre kolumner.

    xxxxxx xxxxxx xxxxxx
    xxxxxxx xxxxx xxxxxx
    xxxxx xxx xxxxx

    Som ni ser ska det även vara högerjusterat.

    Någon snäll själ som har tid och hjälpa mig med denna avslutning?

    For-loopen i slutet är min början av en lösning, men det går inget väl! Här är koden:

    [kod]using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace ConsoleApplication14
    {
    class Program
    {
    static void Main(string[] args)
    {
    // Deklarera variabeln
    int salariesInput = 0;

    salariesInput = ReadInt("Ange antal löner att mata in: ");

    Console.WriteLine();

    if (salariesInput >= 2)
    {
    ProcessSalaries(salariesInput);
    }

    else
    {
    Console.BackgroundColor = ConsoleColor.Red;
    Console.ForegroundColor = ConsoleColor.Yellow;
    Console.WriteLine("FEL! Mata in 2 eller fler löner för att fortsätta, eller Escape för att avbryta!");
    Console.ResetColor();
    }

    while (Console.ReadKey(true).Key != ConsoleKey.Escape)
    { }
    }

    private static int ReadInt(string prompt)
    {
    Console.Write(prompt);

    int numberOfSalaries = int.Parse(Console.ReadLine());
    return numberOfSalaries;
    }

    private static void ProcessSalaries(int count)
    {
    int[] salariesAmount = new int[count];

    for (int i = 0; i < count; i++)
    {
    salariesAmount[i] = ReadInt(String.Format("Ange lön nummer {0}: ", i + 1));
    }

    Console.WriteLine();
    Console.WriteLine("----------------------------------");

    double medianSalary = 0;
    double averageSalary = 0;
    double salarySpread = 0;
    int median1 = 0;
    int median2 = 0;

    Array.Sort(salariesAmount);

    if (count % 2 == 0)
    {
    median1 = salariesAmount[salariesAmount.Length / 2];
    median2 = salariesAmount[salariesAmount.Length / 2 - 1];

    medianSalary = ((median1 + median2) / 2);
    }

    else
    {
    medianSalary = salariesAmount[salariesAmount.Length / 2];
    }

    averageSalary = salariesAmount.Average();

    salarySpread = salariesAmount.Ma) - salariesAmount.Min();

    Console.WriteLine("Medianlön: {0:c}", medianSalary);
    Console.WriteLine("Medellön: {0:c}", averageSalary);
    Console.WriteLine("Lönespridning: {0:c}", salarySpread);

    Console.WriteLine("----------------------------------");

    for (int i = 0; i < count; i++)
    {
    salariesAmount[i] = Console.WriteLine("{0}", i + 1);
    }
    }
    }
    }[/kod]

  • #2
    Vid postng blev det dock inte högerjusterat, men det ska vara det!

    Kommentera

    Working...
    X