Definiera en räknare som du nollställer????

Permalänk
Medlem

Definiera en räknare som du nollställer????

Jag Definiera en räknare som du nollställer till mitt program C#
då den är till för att sortera säljarnas antalartiklar och ska delas in i 4 olika klasser sen beroende på hur många de sålt.

Definiera en räknare som du nollställer
for (int i = 0; i < SäljarArray.Length; i++)
{
Om nivån=1
skriv ut uppgifterna om säljaren till skärm och fil
öka räknaren med 1
} slut for
Skriv ut att antalet som finns i räknaren har nått nivå 1 till skärm och fil.
Nollställ räknaren
for (int i = 0; i < SäljarArray.Length; i++)
{
Om nivån=2
skriv ut uppgifterna om säljaren till skärm och fil
öka räknaren med 1
} slut for
Skriv ut att antalet som finns i räknaren har nått nivå 2 till skärm och fil.
osv för nivå 3 och 4.

Permalänk
Medlem

Vad vill du ha hjälp med? Använd Code taggar.

//Definiera en räknare som du nollställer for (int i = 0; i < SäljarArray.Length; i++) { //Om nivån=1 //skriv ut uppgifterna om säljaren till skärm och fil //öka räknaren med 1 } //slut for //Skriv ut att antalet som finns i räknaren har nått nivå 1 till skärm och fil. //Nollställ räknaren for (int i = 0; i < SäljarArray.Length; i++) { //Om nivån=2 //skriv ut uppgifterna om säljaren till skärm och fil //öka räknaren med 1 } //slut for //Skriv ut att antalet som finns i räknaren har nått nivå 2 till skärm och fil. //osv för nivå 3 och 4.

Permalänk
Medlem

det jag behöver hlälp med är hur ska ska skriva ut en räknare som räknar ut och noll ställer.
så att utskriften på skärmen blir att antal säljare som är i samma nivå står ihop inom samma nivå.
Så här ser programmet ut.

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1a { class Program { struct Säljar { public string Namn, Personnummer, Distrikt; public int AntalArt; public int Nivå; } static void Sortera(Säljar[] Arr) { Säljar temp; bool exchanges; do { exchanges = false; for (int i = 0; i < Arr.Length - 1; i++) { if (Arr[i].AntalArt > Arr[i + 1].AntalArt) { // Exchange elements temp = Arr[i]; Arr[i] = Arr[i + 1]; Arr[i + 1] = temp; exchanges = true; } } } while (exchanges); } static void Main(string[] args) { string indata; Säljar[] SäljarArray = new Säljar[3];//Kör med 3 bara så det går fortare att testa for (int i = 0; i < SäljarArray.Length; i++) { Console.Write("Namn: "); //Här skrivs säljarens namn in indata = Console.ReadLine(); SäljarArray[i].Namn = indata; Console.Write("Personnummer: "); indata = Console.ReadLine(); SäljarArray[i].Personnummer = indata; Console.Write("Distrikt: "); indata = Console.ReadLine(); SäljarArray[i].Distrikt = indata; Console.Write("AntalArt? "); indata = Console.ReadLine(); SäljarArray[i].AntalArt = int.Parse(indata); if (SäljarArray[i].AntalArt > 0 && SäljarArray[i].AntalArt <= 50) SäljarArray[i].Nivå = 1; else if (SäljarArray[i].AntalArt > 50 && SäljarArray[i].AntalArt <= 100) SäljarArray[i].Nivå = 2; else if (SäljarArray[i].AntalArt > 100 && SäljarArray[i].AntalArt <= 199) SäljarArray[i].Nivå = 3; else if (SäljarArray[i].AntalArt > 200 && SäljarArray[i].AntalArt >= 200) SäljarArray[i].Nivå = 4; } Sortera(SäljarArray); for (int i = 0; i < SäljarArray.Length; i++)//Jag har flyttat ned hela for-loopen efter inläsningen { Console.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); //Man kan snygga till utskrifterna, men det är inte viktigt här. { Console.WriteLine("Säljare har nått nivå 1: " + "under 50 artiklar"); } Console.WriteLine("Säljare har nått nivå 2: " + "50-100 artiklar"); { Console.WriteLine("Säljare har nått nivå 3: " + "100-199 artiklar"); } Console.WriteLine("Säljare har nått nivå 4: " + "över 200 artiklar"); } } }

Permalänk
Medlem
Skrivet av dk79:

det jag behöver hlälp med är hur ska ska skriva ut en räknare som räknar ut och noll ställer.
så att utskriften på skärmen blir att antal säljare som är i samma nivå står ihop inom samma nivå.
Så här ser programmet ut.

Jag tror att de flesta C#-utvecklarna hade rekommenderat linq eller lambda för att gruppera på nivå. Om det inte lockar så är det vanliga loopar som gäller antar jag.

Gör en loop för varje nivå.
I loopen för nivå 1 så skriver du ut alla som har nivå 1.
Likaså gör du för nivå 2, 3 och 4.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem

???

Den här räknaren som ska nollställer
Hur ser den ut/Hur skriver jag ut den?
Det andra tro jag att jag förstår

För den räknar ju ut i vilken nivå säljaren kommer i, och skriver ut detta under varje säljare. istället för att skriva ut alla säljarna som ska vara i typ nivå 2.

} Sortera(SäljarArray); for (int i = 0; i < SäljarArray.Length; i++)//Jag har flyttat ned hela for-loopen efter inläsningen { Console.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); //Man kan snygga till utskrifterna, men det är inte viktigt här. { Console.WriteLine("Säljare har nått nivå 1: " + "under 50 artiklar"); } Console.WriteLine("Säljare har nått nivå 2: " + "50-100 artiklar"); { Console.WriteLine("Säljare har nått nivå 3: " + "100-199 artiklar"); } Console.WriteLine("Säljare har nått nivå 4: " + "över 200 artiklar"); }

Permalänk
Medlem

Vad menar du med nollställer? i är ju din räknare som du sätter till 0 i början. Är det det du menar?

Permalänk
Medlem

Precis det var det jag menarde, fattade inte bara det.

Men hur ska jag skriva för att den ska räkna ut i vilken nivå säljarna kommer i, och sedan skriva ut detta.

Permalänk
Medlem
Skrivet av dk79:

Precis det var det jag menarde, fattade inte bara det.

Men hur ska jag skriva för att den ska räkna ut i vilken nivå säljarna kommer i, och sedan skriva ut detta.

Loopa igenom och använd if satser

if(SäljarArray[i].AntalArt < 50 { //Do this } Elseif(....)

Permalänk
Medlem

Hur skriver man progammet till en fil?

Är nästan klar med programmet, det som återstår är att skriva det till en fil, någon vänlig själ som kan ge lite råd.

Så här ser programmet ut.

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1a { class Program { struct Säljar { public string Namn, Personnummer, Distrikt; public int AntalArt; public int Nivå; } static void Sortera(Säljar[] Arr) { Säljar temp; bool exchanges; do { exchanges = false; for (int i = 0; i < Arr.Length - 1; i++) { if (Arr[i].AntalArt > Arr[i + 1].AntalArt) { // Exchange elements temp = Arr[i]; Arr[i] = Arr[i + 1]; Arr[i + 1] = temp; exchanges = true; } } } while (exchanges); } static void Main(string[] args) { string indata; Säljar[] SäljarArray = new Säljar[6]; for (int i = 0; i < SäljarArray.Length; i++) { Console.Write("Namn: "); //Här skrivs säljarens namn in indata = Console.ReadLine(); SäljarArray[i].Namn = indata; Console.Write("Personnummer: "); indata = Console.ReadLine(); SäljarArray[i].Personnummer = indata; Console.Write("Distrikt: "); indata = Console.ReadLine(); SäljarArray[i].Distrikt = indata; Console.Write("AntalArt? "); indata = Console.ReadLine(); SäljarArray[i].AntalArt = int.Parse(indata); if (SäljarArray[i].AntalArt > 0 && SäljarArray[i].AntalArt <= 50) SäljarArray[i].Nivå = 1; else if (SäljarArray[i].AntalArt > 50 && SäljarArray[i].AntalArt <= 100) SäljarArray[i].Nivå = 2; else if (SäljarArray[i].AntalArt > 100 && SäljarArray[i].AntalArt <= 199) SäljarArray[i].Nivå = 3; else if (SäljarArray[i].AntalArt >= 200) SäljarArray[i].Nivå = 4; } Sortera(SäljarArray); int raknare; raknare = 0; for (int i = 0; i < SäljarArray.Length; i++) { if (SäljarArray[i].Nivå == 1) { Console.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); raknare = raknare + 1; } } Console.WriteLine(raknare + "säljare har nått nivå1: 0-50 artiklar"); raknare = 0; for (int i = 0; i < SäljarArray.Length; i++) { if (SäljarArray[i].Nivå == 2) { Console.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); raknare = raknare + 1; } } Console.WriteLine(raknare + "säljare har nått nivå2:50-99 artiklar"); raknare = 0; for (int i = 0; i < SäljarArray.Length; i++) { if (SäljarArray[i].Nivå == 3) { Console.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); raknare = raknare + 1; } } Console.WriteLine(raknare + "säljare har nått nivå3: 100-199 artiklar"); raknare = 0; for (int i = 0; i < SäljarArray.Length; i++) { if (SäljarArray[i].Nivå == 4) { Console.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); raknare = raknare + 1; } } Console.WriteLine(raknare + "säljare har nått nivå4: fler än 200 artiklar"); } } }

Permalänk
Medlem
Skrivet av dk79:

Är nästan klar med programmet, det som återstår är att skriva det till en fil, någon vänlig själ som kan ge lite råd.

http://msdn.microsoft.com/en-us/library/8bh11f1k.aspx

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem

Då var den klar

using System; using System.Collections.Generic; using System.Linq; using System.IO; using System.Text; namespace ConsoleApplication1a { class Program { struct Säljar { public string Namn, Personnummer, Distrikt; public int AntalArt; public int Nivå; } static void Sortera(Säljar[] Arr) { Säljar temp; bool exchanges; do { exchanges = false; for (int i = 0; i < Arr.Length - 1; i++) { if (Arr[i].AntalArt > Arr[i + 1].AntalArt) { // Exchange elements temp = Arr[i]; Arr[i] = Arr[i + 1]; Arr[i + 1] = temp; exchanges = true; } } } while (exchanges); } static void Main(string[] args) { string indata; Säljar[] SäljarArray = new Säljar[3];//Kör med 3 bara så det går fortare att testa for (int i = 0; i < SäljarArray.Length; i++) { Console.Write("Namn: ");//Här skrivs säljarens namn in indata = Console.ReadLine(); SäljarArray[i].Namn = indata; Console.Write("Personnummer: "); indata = Console.ReadLine(); SäljarArray[i].Personnummer = indata; Console.Write("Distrikt: "); indata = Console.ReadLine(); SäljarArray[i].Distrikt = indata; Console.Write("AntalArt? "); indata = Console.ReadLine(); SäljarArray[i].AntalArt = int.Parse(indata); if (SäljarArray[i].AntalArt > 0 && SäljarArray[i].AntalArt <= 50) SäljarArray[i].Nivå = 1; else if (SäljarArray[i].AntalArt > 50 && SäljarArray[i].AntalArt <= 100) SäljarArray[i].Nivå = 2; else if (SäljarArray[i].AntalArt > 100 && SäljarArray[i].AntalArt <= 199) SäljarArray[i].Nivå = 3; else if (SäljarArray[i].AntalArt > 200 && SäljarArray[i].AntalArt >= 200) SäljarArray[i].Nivå = 4; } StreamWriter tw = new StreamWriter("SalesList.txt"); Sortera(SäljarArray); int raknare; raknare = 0; for (int i = 0; i < SäljarArray.Length; i++) { if (SäljarArray[i].Nivå == 1) {//Folke Console.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); tw.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); raknare = raknare + 1; } } Console.WriteLine(raknare + "säljare har nått nivå 1: 0-50 artiklar"); tw.WriteLine(raknare + "säljare har nått nivå 1: 0-50 artiklar"); raknare = 0; for (int i = 0; i < SäljarArray.Length; i++) { if (SäljarArray[i].Nivå == 2) {//Folke Console.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); tw.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); raknare = raknare + 1; } } Console.WriteLine(raknare + "säljare har nått nivå 2: 50-99 artiklar"); tw.WriteLine(raknare + "säljare har nått nivå 2: 50-99 artiklar"); raknare = 0; for (int i = 0; i < SäljarArray.Length; i++) { if (SäljarArray[i].Nivå == 3) { Console.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); tw.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); raknare = raknare + 1; } } Console.WriteLine(raknare + "säljare har nått nivå 3: 100-199 artiklar"); tw.WriteLine(raknare + "säljare har nått nivå 3: 100-199 artiklar"); raknare = 0; for (int i = 0; i < SäljarArray.Length; i++) { if (SäljarArray[i].Nivå == 4) { Console.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); tw.WriteLine(SäljarArray[i].Namn + "," + SäljarArray[i].Personnummer + "," + SäljarArray[i].Distrikt + "," + SäljarArray[i].AntalArt + "," + SäljarArray[i].Nivå); raknare = raknare + 1; } } Console.WriteLine(raknare + "säljare har nått nivå 4: fler än 200 artiklar"); tw.WriteLine(raknare + "säljare har nått nivå 4: fler än 200 artiklar"); raknare = 0; tw.Close(); } } }