我正在尝试使用C#建立一个考试评分员。我对此很陌生,并且不太了解。我将使用哪些代码添加最小和最大按钮,并添加一个标签,说明它是最小还是最大?
private void btnAdd_Click(object sender, EventArgs e)
{
int points;
try
{
points = int.Parse(txtPoints.Text);
lstPoints.Items.Add(points);
txtPoints.Clear();
txtPoints.Focus();
if (lstPoints.Items.Count == 12)
{
txtPoints.Enabled = false;
btnAdd.Enabled = false;
}
if (lblResult.Text != "")
{
lblResult.Text = "";
}
}
catch
{
MessageBox.Show("Please enter only whole numbers");
txtPoints.Clear();
txtPoints.Focus();
}
}
private void btnAvg_Click(object sender, EventArgs e)
{
double total = 0;
for (int i = 0; i < lstPoints.Items.Count; i++)
{
total += (int)lstPoints.Items[i];
}
total /= lstPoints.Items.Count;
lblResult.Text = total.ToString();
}
private void btnClear_Click(object sender, EventArgs e)
{
lstPoints.Items.Clear();
txtPoints.Enabled = true;
btnAdd.Enabled = true;
}
}
}
答案 0 :(得分:1)
希望这有效
private void getMax()
{
int max=0;
for (int i = 0; i < lstPoints.Items.Count; i++)
{
if(max<(int)lstPoints.Items[i])
{
max=(int)lstPoints.Items[i];
}
}
lblResult.Text = max.ToString();
}
}
private void getMin()
{
int min=(int)lstPoints.Items[0];
for (int i = 1; i < lstPoints.Items.Count; i++)
{
if(min>(int)lstPoints.Items[i])
{
min=(int)lstPoints.Items[i];
}
}
lblResult.Text = min.ToString();
}
}
答案 1 :(得分:0)
我认为有两种可能性:
1)当你写这篇文章时:
lstPoints.Items.Add(points);
而不是添加到
List(Of Integer)
使用SortedList。所以 list将始终具有排序结果集。2)使用
Array.Sort()
对记录进行排序。
一旦你对记录进行了排序,第一个是最小值,最后一个是最大值(假设按升序排序)。
取出两个按钮并放在表单上,将Text
属性从属性窗口分别设置为Min
和Max
,并在事件处理程序中处理Click
事件并选择来自lstPoints
数组的相关结果集。
希望它有所帮助!