适用于学生和成绩的多维数组

时间:2018-05-19 10:18:47

标签: c# arrays multidimensional-array

我不确定多维数组对于我想做的事情是否正确。

我想输入学生数量,然后为每个学生输入5个等级。在这样做之后,我必须计算平均值。

基本上是这样的:

  

学生.......... 1年级...... 2年级...... 3年级...... 4年级...... 5年级...... ....平均

     

Student1 ............ 87 .............. 71 ................ 64。 .............. 89 ............... 78 .............. 77.8

     

STUDENT2 ............ 54 .............. 76 ................ 89。 .............. 89 ............... 78 .............. 77.2

我为格式化道歉。我不知道块引用。 我不确定多维数组是否有帮助。任何想法。

2 个答案:

答案 0 :(得分:0)

你可以做的是创建一个Student类并创建一个Student数组。

public class Student
{
    private ArrayList grades;

    public Student()
    {
        grades = new ArrayList();
    }

    public void addGrade(double val)
    {
        grades.Add(val);
    }

    public double getAverage()
    {
        double avg = 0;
        for (int i = 0; i < grades.Count; i++)
            avg += (double)grades[i];

        avg /= grades.Count;
        return avg;
    }
}

并创建一个Student类数组:

Student [] students = new Student[10];

将学生成绩添加为:

students[0].addGrade(75);

答案 1 :(得分:0)

由于学生姓名的datatype可能是string且学生成绩的datatype可能是double的列表,我建议您从代表单个学生的class。然后,当您从表单中收集一个学生的数据时,您可以创建一个学生object,使用表单中的数据加载object,然后计算学生的平均成绩。我不确定你之后是否需要对学生object做任何事情(即将其添加到列表中以便导出,将其写入数据库等等)。

以下代码仅显示学生班级的外观。

using System.Collections.Generic;
using System.Windows.Forms;

namespace sandbox
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }

    class Student
    {
        string studentFirstMiddleLastName;
        IList<double> allStudentGrades = new List<double>();

        public Student(string studentFirstMiddleLastName, IList<double> allStudentGrades)
        {
            StudentFirstMiddleLastName = studentFirstMiddleLastName;
            AllStudentGrades = allStudentGrades;
        }

        public string StudentFirstMiddleLastName { get => studentFirstMiddleLastName; set => studentFirstMiddleLastName = value; }
        public IList<double> AllStudentGrades { get => allStudentGrades; set => allStudentGrades = value; }

        public double CalculateAverageofAllStudentGrades()
        {
            double average = 0.0;

            // add up all grades in AllStudentGrades, divide by number of items in AllStudentGrades, load result of this calculation into the variable `average`

            return average;
        }
    }
}