Hej! Har en uppgift som lyder såhär "Skriv ett litet program som en Console Application eller en Windows Forms Application som läser in uppgifter för ett antal säljare i en säljkår."
Jag ska även läsa in resultaten till en fil. "Resultatet ska visas både på skärmen och skrivas till en fil.
Ange endast filnamnet då du definierar filen. Alltså ange inte någon sökväg. Då hamnar filen
där .exe-filen ligger vilket ju är praktiskt."
Har googlat runt lite och browsat forum men hittar inte hur jag ska göra. Finns det någon här som hade kunnat hjälpa mig med detta.
Min kod ser ut såhär:
Jag ska även läsa in resultaten till en fil. "Resultatet ska visas både på skärmen och skrivas till en fil.
Ange endast filnamnet då du definierar filen. Alltså ange inte någon sökväg. Då hamnar filen
där .exe-filen ligger vilket ju är praktiskt."
Har googlat runt lite och browsat forum men hittar inte hur jag ska göra. Finns det någon här som hade kunnat hjälpa mig med detta.
Min kod ser ut såhär:
Kod:
// Variablerna för klassen "saljare"
public class Saljare
{
public string namn;
public string personnummer;
public string distrikt;
public int antalartiklar;
public Saljare(string namn, string personnummer, string distrikt, int antalartiklar)
{
this.namn = namn;
this.personnummer = personnummer;
this.distrikt = distrikt;
this.antalartiklar = antalartiklar;
}
}
public class Program
{
static void PrintSalesSorted(int level, IEnumerable<Saljare> salespersons)
{
if (!salespersons.Any())
{
return;
}
Console.WriteLine("-----------------------------");
Console.WriteLine($"Antal Säljare på nivå {level}: {salespersons.Count()}");
Console.WriteLine("");
// Detta printas i slutet när man lagt in alla säljarna. Det skrivs i console baserat på antalet sälj.
foreach (var p in salespersons.OrderBy(n => n.antalartiklar))
{
Console.WriteLine("Namn: " + p.namn);
Console.WriteLine("Personnummer: " + p.personnummer);
Console.WriteLine("Distrikt: " + p.distrikt);
Console.WriteLine("Antal sälj: " + p.antalartiklar);
Console.WriteLine("Sälj nivå: " + level);
Console.WriteLine("-----------------------------");
}
}
// Början av koden som visas i console.
static void Main(string[] args)
{
Console.WriteLine("Klass för säljare och resultat: ");
Console.WriteLine("-------------------------------");
Console.Write("Antal säljare som ska registreras: ");
int num = int.Parse(Console.ReadLine() ?? "0");
List<Saljare> salesmen = new List<Saljare>();
// En for loop som loopas antalet gånger som man valt att registrerar säljare. Här skriver man in infon om säljarna man vill registrera.
for (int i = 0; i < num; i++)
{
Console.WriteLine();
Console.Write("Ange information för säljare " + (i + 1));
Console.WriteLine();
Console.WriteLine();
Console.Write("Ange Namn: ");
var name = Console.ReadLine() ?? "";
Console.Write("Ange Personnummer: ");
var pnr = Console.ReadLine() ?? "";
Console.Write("Ange Distrikt: ");
var district = Console.ReadLine() ?? "";
Console.Write("Ange antal Artiklar: ");
var antalArtiklar = int.Parse(Console.ReadLine() ?? "0");
Console.WriteLine();
var saljare = new Saljare(name, pnr, district, antalArtiklar);
salesmen.Add(saljare);
}
// De olika nivåerna för säljarna baserat på antalet artiklar. Här sorteras det också efter antalet sälj.
var level1 = salesmen.Where(n => n.antalartiklar < 50);
PrintSalesSorted(1, level1);
var level2 = salesmen.Where(n => n.antalartiklar >= 50 && n.antalartiklar < 100);
PrintSalesSorted(2, level2);
var level3 = salesmen.Where(n => n.antalartiklar >= 100 && n.antalartiklar < 200);
PrintSalesSorted(3, level3);
var level4 = salesmen.Where(n => n.antalartiklar > 200);
PrintSalesSorted(4, level4);
Console.ReadLine();
}
}