Skapa bubbleSort för sortering? [C#]
Hejsan, går en introduktionslinje för programmering i C# och behöver lite vägledning med en uppgift, såhär ser instruktionerna ut för att ge en bättre bild av programmet:
Skriv ett litet program (console applikation) som läser in uppgifter för sex säljare i en säljkår.
Indata till programmet är de uppgifter om säljare som matas in.
Så här kan det se ut på skärmen:
Namn:
Personnummer:
Distrikt:
Antal sålda artiklar:
Följande uppgifter ska alltså läsas in: namn, personnummer, vilket distrikt han/hon arbetar i, hur många artiklar han/hon har sålt under perioden.
Detta för att man har ett bonussystem där viss del av lönen är fast och viss del rörlig. Den rörliga baseras på antal sålda artiklar (ni behöver dock inte beräkna lönen). Man vill sen se statistik över försäljningen..
Det ska finnas följande fyra nivåer: under 50 artiklar, 50-99 artiklar, 100-199 artiklar samt en nivå 199 artiklar
När man läst in alla säljare ska resultatet sorteras innan det skrivs ut. Sorteringen sker på antal sålda artiklar. I utskriften ska alla resultat i sorterad ordning finnas med samt hur många säljare som ligger inom varje nivå och hur många artiklar var och en har sålt.
Ex.
Namn Persnr Distrikt Antal
Kalle Anka 4503038990 Piteå 173
1 säljare har nått nivå 3: 100-199 artiklar
Musse Pigg 3502038964 Boden 202
Snobben 7805055673 Luleå 203
2 säljare har nått nivå 4: över 199 artiklar
Jag har lyckats koda fram allt förutom koden för sorteringen, såhär ser min kod ut:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace Inlämningsuppgift2
{
struct säljare
{
public string namn;
public string personnummer;
public string distrikt;
public int antalartiklar;
public int nivå;
}
class Program
{
static void SortSalesman(säljare[] arr)
{
//Kod för att sortera
}
static void Main(string[] args)
{
using (StreamWriter writer = new StreamWriter("Säljarinfo.txt"))
{
writer.WriteLine("Namn" + " " + "Personnr" + " " + "Distrikt" + " " + "Antal");
for (int i = 0; i < 6; i++)
{
säljare[] säljararray = new säljare[6];
//Anger namn för säljare
Console.Write("Ange namn för säljare : ");
säljararray[i].namn = System.Console.ReadLine();
//Anger personnummer för säljare
Console.Write("Anger personnummer för säljare : ");
säljararray[i].personnummer = Console.ReadLine();
//Anger distrikt för säljare
Console.Write("Ange distrikt för säljare : ");
säljararray[i].distrikt = Console.ReadLine();
//Anger antal sålda artiklar för säljare
Console.Write("Ange antal sålda artiklar för säljare : ");
säljararray[i].antalartiklar = int.Parse(Console.ReadLine());
Console.WriteLine();
//Anger vilken nivå som säljare uppnått
if (säljararray[0].antalartiklar < 50)
säljararray[0].nivå = 1;
if (säljararray[0].antalartiklar >= 50 && säljararray[0].antalartiklar < 99)
säljararray[0].nivå = 2;
if (säljararray[0].antalartiklar >= 100 && säljararray[0].antalartiklar < 199)
säljararray[0].nivå = 3;
if (säljararray[0].antalartiklar > 199)
säljararray[0].nivå = 4;
writer.WriteLine(säljararray[i].namn + " " + säljararray[i].distrikt + " " + säljararray[i].personnummer + " " + säljararray[i].antalartiklar);
}
}
}
}
}
Jag ska sortera med en såkallad bubbleSort, och det är här jag har fastnat, har kollat runt lite på nätet om hur bubbleSort fungerar men lyckas inte komma så långt, någon vänlig själ som kunnat hjälpa mig? Försök att inte komplicera det med massa andra metoder/funktioner, kom ihåg att detta bara är en nybörjarkurs.
Mvh Linus