我刚刚学习 C# 并使用 Visual Studio 为课程构建应用程序。我必须构建一个应用程序,需要为一个按钮存储 5 个数字,然后使用第二个按钮计算平均值并与 5 个数字一起呈现。我无法确定“商店”按钮、“显示”按钮和文本显示区域的代码。该应用程序不断要求输入 double[] 的值,并且只会显示平均结果,如果用户没有在输入数字所需的任何文本区域中输入值,我还需要弹出一个消息框可以计算一下。
这是应用程序设计的图像以及下面的代码......
这是我的代码...
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnStoreScores_Click(object sender, EventArgs e)
{
//As decimal values will be used to calculate the "double" function has been used to declare the value size to be entered.
double[] numbers = new double[5];
numbers[0] = double.Parse(txtScore1.Text);
numbers[1] = double.Parse(txtScore2.Text);
numbers[2] = double.Parse(txtScore3.Text);
numbers[3] = double.Parse(txtScore4.Text);
numbers[4] = double.Parse(txtScore5.Text);
//The below will ask for an input to be made into the missing text box.
MessageBox.Show("Please enter a value in " + numbers.ToString());
}
//The below button function will calculate the average score from the stored numbers.
private void btnDisplayScores_Click(object sender, EventArgs e)
{
//Here we use Double to allow decimal values in the sum function.
double[] numbers = new double[5];
double sum = 0;
double average = 0;
numbers[0] = double.Parse(txtScore1.Text);
numbers[1] = double.Parse(txtScore2.Text);
numbers[2] = double.Parse(txtScore3.Text);
numbers[3] = double.Parse(txtScore4.Text);
numbers[4] = double.Parse(txtScore5.Text);
//a foreach loop has been used to allow the double average to be calculated.
foreach (double value in numbers)
{
sum += value;
}
average = sum / numbers.Length;
txtDisplay.Text = numbers.ToString() + Environment.NewLine + "The average of the exam scores is " + average.ToString();
}
}
我最初有一个 myDoubles,但这与 sum 函数冲突。我一直在绞尽脑汁地思考如何正确编码 MessageBox 以及 double[] 的问题。我尝试过 double[,] 但有一个语法错误,我只是在学习如何正确调试。
如果我应该看看“浮动”超过两倍,我对此持开放态度,并且希望能帮助我做到这一点。
您可以使用字符串生成器:
StringBuilder sb = new StringBuilder();
foreach (var number in numbers)
{
sb.Append(number.ToString());
}
sb.Append(Environment.NewLine);
sb.Append("The average of the exam scores is " + average.ToString());
txtDisplay.Text = sb.ToString();