webForumDet fria alternativet

C# Problem!

1 svar · 867 visningar · startad av Cleashy

CleashyMedlem sedan sep. 20127 inlägg
#1

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:

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.Max() - 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);
            }
        }
    }
}
CleashyMedlem sedan sep. 20127 inlägg
#2

Vid post:ing blev det dock inte högerjusterat, men det ska vara det! :)

Genererad på 374 ms · cache AV · v20260730165559-full.f96bc7eb