ηλί, ηλί, λαμά σαβαχθανί!?
Definiera en räknare som du nollställer????
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.
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");
}
}
}
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.
???
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");
}
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?
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.
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(....)
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");
}
}
}
Ä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.
ηλί, ηλί, λαμά σαβαχθανί!?
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();
}
}
}
- Igår Nvidia: "Energieffektiva RTX 4060 sparar hundralappar" 36
- Igår MSI Geforce RTX 4060 Ventus 2X OC – bra prestanda vid 1080p men medioker kylare 45
- Igår Noctua släpper monteringsram för "deliddade" Ryzen 7000-processorer 15
- Igår Nvidias nästa arkitektur för Geforce kommer år 2025 58
- 27 / 6 Afox släpper kompakt Geforce RTX 4090 36
- Igår Veckans fråga: Vilket operativsystem föredrar du? 76
- Igår Bilar med smarta inslag ger fler dumma fel 58
- 27 / 6 Telekombranschen: "Smarta glasögon ersätter telefoner inom fem år" 88
- 26 / 6 Lastpass-användare rasar – kan inte logga in 59
- 26 / 6 Inet frågar SweClockers – Vad skulle du vilja förbättra på Inet.se? 53
- Framtiden för C# och .Net i Sverige46
- Fel post (dödsbo)8
- Bildvisnings program5
- PSVR2 - diskussionstråd444
- Kommer flytta till stan och mitt wifi kommer säkert synas av hundratals människor varje dag. Vilken router ska jag köpa och hur ska den ställas in?6
- Solfilm till fönster för sommarvärmen. Behöver råd.30
- Hjälp angående gammal psu och "nytt" grafikkort2
- Ert dyraste ” datormisstag”?402
- MSI Geforce RTX 4060 Ventus 2X OC – bra prestanda vid 1080p men medioker kylare45
- Vad lyssnar du på just nu?12615
- Säljes LG 27'' UltraGear 27GP950 4K Nano IPS 160 Hz HDMI 2.1
- Säljes Star Wars Jedi AMD kod
- Säljes Trasig Xiaomi Mi Electric Scooter (M365) Svart
- Säljes 5800x3D + x570 Meg Unify + be quiet! Dark Rock Slim
- Säljes AMD ASUS DUAL RX6700XT
- Säljes Dell OptiPlex 7010
- Säljes Datordelar: i5 9600k + 1070 GTX mm.
- Säljes 1080 TI | Vattenblock | 1TB SSD | Apple Watch 4 Stainless | Hörlurar | Mikrofon
- Säljes Intressekoll: Xbox Series S 512Gb samt Switch Oled 64Gb Vit
- Säljes Gamingdator RTX 3090, i9-10900K, 32GB ram
- Nvidia: "Energieffektiva RTX 4060 sparar hundralappar"36
- MSI Geforce RTX 4060 Ventus 2X OC – bra prestanda vid 1080p men medioker kylare45
- Veckans fråga: Vilket operativsystem föredrar du?76
- Bilar med smarta inslag ger fler dumma fel58
- Noctua släpper monteringsram för "deliddade" Ryzen 7000-processorer15
- Nvidias nästa arkitektur för Geforce kommer år 202558
- Microsoft vill strömma Windows från molnet71
- Starfield utvecklas med AMD:s välsignelse148
- Telekombranschen: "Smarta glasögon ersätter telefoner inom fem år"88
- En av tre svenskar använder annonsblockerare79
Externa nyheter
Spelnyheter från FZ
- Alan Wake och CoD: Kallt krig snart på PS Plus, enligt läcka igår
- Red Dead Redemption åldersmärkt igen i Korea – det spekuleras i remaster igår
- Fallout London flyttas för att slippa Starfield-konkurrensen igår
- Minecraft-filmen kan ha hittat sin Steve – Pedro "The Last of Us-Joel" Pascal igår
- Stor Diablo IV-patch släppt, mer XP och ombalanserade klasser igår