使用用户输入c#进行BubbleSort



我正在创建一个程序,让用户输入不同的销售人员,并根据他们销售的商品获得特定的级别。我现在正试图为控制台创建一个BubbleSort;销售人员";在他们卖出多少商品后按顺序排列。如何根据他们之前输入的项目编写数组?

我是一个编码新手,不介意对我当前的代码进行反馈,告诉我可以做得更好。

提前感谢!把我的代码放在下面

namespace salesprogram

{类销售人员{公共字符串名称;公开的ulong号码;公共字符串区;公共int项;

static void Main(string[] args)
{
SalesPerson.InputSalesPersons();
int[] arr = {};
bubbleSort(arr);

}

public static void InputSalesPersons()
{
Console.Write("Hur många säljare vill du mata in? ");
int count = Convert.ToInt32(Console.ReadLine());
var sellers = new List<SalesPerson>();
for (int i = 0; i < count; i++)
{
SalesPerson s = RegisterPerson(i);
sellers.Add(s);
}
}

static SalesPerson RegisterPerson(int i)
{

// Sätter en string för namn på säljare
Console.Write("Ange namn för säljare {0}: ", i);
string name = Console.ReadLine();

// String för personnummer 
Console.Write("Ange personnummer för säljare {0} (10 siffror): ", i);
ulong number = ulong.Parse(Console.ReadLine());
// String för distrikt på säljare
Console.Write("Ange distrikt för säljare {0}: ", i);
string district = Console.ReadLine();
// String för sålda artiklar
Console.Write("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;

}
public static void bubbleSort(int[] arr)
{
for (int i = 0; i < arr.Length - 1; i++)
{
for (int j = 0; j < arr.Length - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
public SalesPerson(string name, ulong number, string district, int items)
{
this.name = name;
this.number = number;
this.district = district;
this.items = items;
}
// Beroende på antal sålda artiklar (items) får säljarna en nivå (Level)
public int Level
{
get
{
if (items < 50) return 1;
if (items < 100) return 2;
if (items < 200) return 3;
return 4;
}

}

}

}

我建议的第一件事是:保持主管道清洁。不应该有任何逻辑。将您的逻辑到方法移动到SalesPerson

此外,SalesPerson应在单独的文件中。

您像使用服务一样使用SalesPerson。应该是static class静态方法命名为CCD_ 5。InputSalesPersons重命名为RegisterPerson

使用var是一种很好的做法。

更好的转换方法是使用ParseTryParse方法

InputSalesPersons将具有下一个代码。

public static void InputSalesPersons()
{
Console.Write("Hur många säljare vill du mata in? ");
var count = int.Parse(Console.ReadLine());
var sellers = new List<SalesPerson>();
for (int i = 0; i < count; i++)
{
SalesPerson s = RegisterPerson(i);
sellers.Add(s);
}
}

你会得到干净的Main。美丽,不是吗?

static void Main(string[] args)
{
SalesPerson.InputSalesPersons();
}

相关内容

  • 没有找到相关文章

最新更新