لقد كتبت كود خاص ليساعد صاحب االعمل على تصنيف البائعين من خلال وفرزهم الى مجموعات مختلفة بناءا على عدد المبيعات. وتواجهني مشكلة الا وهي ان البرنامج ينسخ الاتي
enter number of sellers : 3
seller 1:
enter your name: marah
enter your socialID number: 963258741
Distict: syria
sold products: 69
seller 2:
enter your name: mohammed
enter your socialID number: 658088064
Distict: egypt
sold products: 3
seller 3:
enter your name: Eric
enter your socialID number: 69853658
Distict: sweden
sold products: 99
Namn: Personnummer: Distrikt: Artiklar: level:
1 seller has reached level 1 and sold between 0-49 products
mohammed 658088064 egypt 3
2 seller has reached level 2 and sold between 50-99 products
marah 963258741 syria 69
2 seller has reached level 2 and sold between 50-99 products
Eric 69853658 sweden 99
ولكنني اريد ان احذف التكرار بين الاسماء وعدد الاشخاص وساوضح ماذا اعني في المثال التالي
2 seller has reached level 2 and sold between 50-99 products
marah 963258741 syria 69
Eric 69853658 sweden 99
وليس
2 seller has reached level 2 and sold between 50-99 products
marah 963258741 syria 69
2 seller has reached level 2 and sold between 50-99 products
Eric 69853658 sweden 99
الكود هو التالي
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2 {
public struct Salesman
{
public string name;
public int idn;
public string district;
public int products;
public string level;
}
public class Sales
{
static Salesman[] Seller;
static void Main(string[] args)
{
Console.Write("enter number of sellers : ");
string a = Console.ReadLine();
int number = int.Parse(a);
Seller = new Salesman[number];
for (int i = 0; i < Seller.Length; i++)
{
Console.WriteLine("--------------------------");
Console.WriteLine("seller {0}:", i + 1);
Seller[i] = ReadSalesman();
}
SortSalesmen();
PrintSalesmen();
}
static Salesman ReadSalesman()
{
Salesman n = new Salesman();
Console.Write("enter your name: ");
n.name = Console.ReadLine();
Console.Write("enter your socialID number: ");
n.idn = int.Parse(Console.ReadLine());
Console.Write("Distict: ");
n.district = Console.ReadLine();
Console.Write("sold products: ");
n.products = int.Parse(Console.ReadLine());
return n;
}
static void SortSalesmen()
{
bool unsorted = true;
int end = Seller.Length - 1;
while (unsorted)
{
unsorted = false;
for (int j = 0; j < end; j++)
{
if (Seller[j].products > Seller[j + 1].products)
{
Swap(Seller, j, j + 1);
unsorted = true;
}
}
end--;
}
}
static void Swap(Salesman[] array, int a, int b)
{
Salesman s = array[a];
array[a] = array[b];
array[b] = s;
}
static void PrintSalesmen()
{
int level1 = 0;
int level2 = 0;
int level3 = 0;
int level4 = 0;
foreach (Salesman n in Seller)
{
if (n.products < 50)
{
++level1;
}
else if (n.products >= 50 && n.products < 100)
{
++level2;
}
else if (n.products >= 100 && n.products < 200)
{
++level3;
}
else if (n.products > 200)
{
++level4;
}
}
System.IO.StreamWriter file = new System.IO.StreamWriter("results.txt", false, System.Text.Encoding.UTF8);
Console.WriteLine("\nNamn:\tPersonnummer:\tDistrikt:\tArtiklar:\tlevel:");
file.WriteLine("\nNamn:\tPersonnummer:\tDistrikt:\tArtiklar:\tlevel:");
foreach (Salesman n in Seller)
{
string Level = null;
if (n.products < 50)
{
Console.WriteLine(level1 + " seller has reached level 1 and sold between 0-49 products");
file.WriteLine(level1 + " seller has reached level 1 and sold between 0-49 products");
}
else if (n.products >= 50 && n.products < 100)
{
Console.WriteLine(level2 + " seller has reached level 2 and sold between 50-99 products");
file.WriteLine(level2 + " seller has reached level 2 and sold between 50-99 artiklar");
}
else if (n.products >= 100 && n.products < 200)
{
Console.WriteLine(level3 + " seller has reached level 3 and sold between 100-199 artiklar");
file.WriteLine(level3 + " seller has reached level 3 and sold between100-199 artiklar");
}
else if (n.products > 200)
{
Console.WriteLine(level1 + " seller has reached level 4 and sold between over 199 artiklar");
file.WriteLine(level1 + " säljare har nått nivå 4 and sold between over 199 artiklar");
}
Console.WriteLine("\n" + n.name + "\t" + n.idn + "\t" + n.district + "\t" + n.products);
file.WriteLine("\n" + n.name + "\t" + n.idn + "\t" + n.district + "\t" + n.products);
Level = n.level;
}
Console.ReadLine();
file.Close();
}
}
}
هل يمكن لاحد مساعدتي
التعليقات