C# 用C语言编写数组和平均值程序#
我正在用C语言编写一个GUI程序,其中包括三个文本框(一个用于姓名输入,一个用于成绩输入,一个用于成绩输出)和五个按钮(一个用于输入名称/等级并添加到相应的数组中,一个用于仅显示刚输入的名称和等级,一个用于显示最低等级,一个用于显示最高等级,一个用于显示班级平均值) 我设计了表单,但需要一些代码方面的帮助,有两个数组,一个用于年级,一个用于姓名,这两个数组中最初存储了五个值。以下是我到目前为止的代码:C# 用C语言编写数组和平均值程序#,c#,visual-studio,C#,Visual Studio,我正在用C语言编写一个GUI程序,其中包括三个文本框(一个用于姓名输入,一个用于成绩输入,一个用于成绩输出)和五个按钮(一个用于输入名称/等级并添加到相应的数组中,一个用于仅显示刚输入的名称和等级,一个用于显示最低等级,一个用于显示最高等级,一个用于显示班级平均值) 我设计了表单,但需要一些代码方面的帮助,有两个数组,一个用于年级,一个用于姓名,这两个数组中最初存储了五个值。以下是我到目前为止的代码: namespace WindowsFormsApplication3 { using
namespace WindowsFormsApplication3
{
using static System.Console;
public partial class highestGrade : Form
{
int[] grade = new int[] { 90, 80, 60, 70, 80, };
string[] name = new string[] { "Sally", "Joe", "Sue", "Pete", "Tom", };
double sum = 0;
double average;
int x = 4;
int y = 4;
int z = 0;
public highestGrade()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void label2_Click(object sender, EventArgs e)
{
}
private void addStudent_Click(object sender, EventArgs e)
{
if (x <= 9)
{
Array.Sort(grade, name);
name[x] = textBox1.Text;
grade[x] = Convert.ToInt32(textBox2.Text);
sum = sum + grade[x];
textBox1.Text = string.Empty;
textBox2.Text = string.Empty;
}
}
private void display_Click(object sender, EventArgs e)
{
outputText.Visible = true;
outputText.Text = textBox1.Text + " " + textBox2.Text;
}
private void lowestGrade_Click(object sender, EventArgs e)
{
Array.Sort(grade, name);
outputText.Visible = true;
outputText.Text = name[z] + " " + grade[z];
}
private void button4_Click(object sender, EventArgs e)
{
Array.Sort(grade, name);
outputText.Visible = true;
outputText.Text = name[y] + " " + grade[y];
}
private void averageGrade_Click(object sender, EventArgs e)
{
for (int y = 0; y < 5; y++)
{
sum = sum + grade[y];
}
average = sum / grade.Length;
string avgOutput = Convert.ToString(average);
outputText.Visible = true;
outputText.Text = "Class Average: " + avgOutput;
y++;
}
}
}
命名空间窗口窗体应用程序3
{
使用静态系统控制台;
公共部分课程最高等级:表格
{
int[]等级=新int[]{90,80,60,70,80,};
字符串[]名称=新字符串[]{“Sally”、“Joe”、“Sue”、“Pete”、“Tom”,};
双和=0;
双倍平均;
int x=4;
int y=4;
int z=0;
公共高级程度()
{
初始化组件();
}
私有无效标签1_单击(对象发送方,事件参数e)
{
}
私有无效标签2_单击(对象发送方,事件参数e)
{
}
私有void addStudent\u单击(对象发送者,事件参数e)
{
如果(x您必须在再次添加等级之前重置当前的总和
,以正确计算平均值:
private void averageGrade_Click(object sender, EventArgs e) {
sum = 0; // reset sum
for (int y = 0; y < 5; y++) {
sum = sum + grade[y];
}
average = sum / grade.Length;
string avgOutput = Convert.ToString(average);
outputText.Visible = true;
outputText.Text = "Class Average: " + avgOutput;
}
对于最低/最高等级的问题:每次单击按钮时计算这些。消除全局变量y
,z
private void lowestGrade_Click(object sender, EventArgs e) {
// this probably only needs to be sorted if a value is added or removed (addStudent_Click)
Array.Sort(grade, name);
outputText.Visible = true;
// first element (with index 0) will be the lowest because arrays are sorted now
outputText.Text = name[0] + " " + grade[0];
}
您还可以使用LINQ.First()
和.Last()
访问集合的第一个或最后一个元素,或者不需要排序。使用LINQ.Min()
和.Max()
方法。在再次添加等级之前,您必须重置当前的总和
,以正确计算平均值:
private void averageGrade_Click(object sender, EventArgs e) {
sum = 0; // reset sum
for (int y = 0; y < 5; y++) {
sum = sum + grade[y];
}
average = sum / grade.Length;
string avgOutput = Convert.ToString(average);
outputText.Visible = true;
outputText.Text = "Class Average: " + avgOutput;
}
对于最低/最高等级的问题:每次单击按钮时计算这些。消除全局变量y
,z
private void lowestGrade_Click(object sender, EventArgs e) {
// this probably only needs to be sorted if a value is added or removed (addStudent_Click)
Array.Sort(grade, name);
outputText.Visible = true;
// first element (with index 0) will be the lowest because arrays are sorted now
outputText.Text = name[0] + " " + grade[0];
}
您还可以使用LINQ.First()
和.Last()
来访问集合的第一个或最后一个元素,或者不需要排序使用LINQ.Min()
和.Max()
方法。尝试..就最低/最高值而言,仅排序并获取数组中的第一个或最后一个..您最好切换到列表
尝试..就最低/最高值而言,仅排序并获取数组中的第一个或最后一个..您最好切换到列表