Permalänk

c# räkna varv i loop

Hej, jag behöver hjälp med hur man räknar varv genom en loop i c#.

Det jag behöver få fram är hur många personer som hamnar i samma nivå.
fyra nivåer: under 50 artiklar, 50-99 artiklar, 100-199 artiklar samt en nivå 199 artiklar

Utskriften ska se ut såhär:

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

static void Main(string[] args) { List<SalesPerson> sellers = new List<SalesPerson>(); for (int i = 0; i < 8; i++) { SalesPerson s = InputSalesPerson(i); sellers.Add(s); } foreach (SalesPerson Seller in seller) { Console.WriteLine(Seller.Name + Seller.Number + Seller.Distict + Seller.SoldItems ); } } private static SalesPerson InputSalesPerson(int i) { Console.WriteLine("Ange namn för Säljare {0}:", i); string name = Console.ReadLine(); Console.WriteLine("Ange personnummer för Säljare {0}:", i); string number = Console.ReadLine(); System.Console.WriteLine("Ange distrikt för Säljare {0}", i); string district = Console.ReadLine(); Console.WriteLine("Ange antal sålda artiklar för Säljare {0}:", i); int items = int.Parse(Console.ReadLine()); SalesPerson s = new SalesPerson(name, number, district, items); return s; } struct SalesPerson { public SalesPerson(string name, string civilRegistrationNumber, string district, int soldItems) : this() { this.Name = name; this.CivilRegistrationNumber = civilRegistrationNumber; this.District = district; this.SoldItems = soldItems; } public string Name { get; set; } public string CivilRegistrationNumber { get; set; } public string District { get; set; } public int SoldItems { get; set; } public int Level { get { if (this.SoldItems < 50) return 1; if (this.SoldItems < 100) return 2; if (this.SoldItems < 200) return 3; return 4; } } }

Permalänk
Medlem

Verkar som du har allt du behöver, förstår inte riktigt vad du är ute efter?
Du kan få ut vilken nivå en säljare har?
Du kan loopa igenom alla säljare och kolla vilken nivå alla säljare har?

Dvs loopa igenom alla säljare kolla vilken nivå dom har addera 1 på en variabel.
Skriv ut dina variabler.

foreach (SalesPerson Seller in seller) { if(Seller.getLevel() == 1) levelone++; //osv } Hoppas det var nåt sånt här du var ute efter.

Visa signatur

Corsair 16GB (4x4096MB) CL9 1600Mhz | Asus P8Z77-V PRO |
Samsung SSD Basic 830-Series 256GB | Intel Core i7 3770K 3,5Ghz |
Asus Xonar Essence STX | Noctua NH-U9B SE2 | Antec Performance One P280 | Corsair HX 850W 80+ Gold Modulär | MSI GTX 770

Permalänk
Medlem

Eller kanske det var mer så här du menade.

for(int i = 1; i < 5; ++i) { foreach (SalesPerson Seller in seller) { if(Seller.getLevel() == i) { count++; Console.WriteLine(Seller.Name + Seller.Number + Seller.Distict + Seller.SoldItems ); } } //Sen anropar du här nån fin funktion som skriver ut resten, skickar in count som parameter, kör du ifsatser etc. count = 0; }

Visa signatur

Corsair 16GB (4x4096MB) CL9 1600Mhz | Asus P8Z77-V PRO |
Samsung SSD Basic 830-Series 256GB | Intel Core i7 3770K 3,5Ghz |
Asus Xonar Essence STX | Noctua NH-U9B SE2 | Antec Performance One P280 | Corsair HX 850W 80+ Gold Modulär | MSI GTX 770

Permalänk
Skrivet av NoPaiN^:

Verkar som du har allt du behöver, förstår inte riktigt vad du är ute efter?
Du kan få ut vilken nivå en säljare har?
Du kan loopa igenom alla säljare och kolla vilken nivå alla säljare har?

Dvs loopa igenom alla säljare kolla vilken nivå dom har addera 1 på en variabel.
Skriv ut dina variabler.

foreach (SalesPerson Seller in seller) { if(Seller.getLevel() == 1) levelone++; //osv } Hoppas det var nåt sånt här du var ute efter.

Tack jo det hjälpte

Permalänk
Medlem
Skrivet av JungelTarzan:

Hej, jag behöver hjälp med hur man räknar varv genom en loop i c#.

Det jag behöver få fram är hur många personer som hamnar i samma nivå.
fyra nivåer: under 50 artiklar, 50-99 artiklar, 100-199 artiklar samt en nivå 199 artiklar

Utskriften ska se ut såhär:

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

...

Något i denna stilen:

public void PrintSellerGroup(int level, IEnumerable<Seller> sellers) { var sellerList = sellers.ToList(); Console.WriteLine("Namn Persnr Distrikt Antal"); foreach (var seller in sellerList) { var line = string.Format("{0} {1} {2} {3}", seller.Name, seller.CivilRegistrationNumber, seller.District, seller.SoldItems); Console.WriteLine(line); } var report = string.Format("{0} säljare har nått nivå {1}", sellerList.Count(), level); Console.WriteLine(report); } var sellerGroups = sellers.GroupBy(seller => seller.Level); foreach (var grp in sellerGroups) { PrintSellerGroup(grp.Key, grp); }

Visa signatur

Kom-pa-TI-bilitet