【发布时间】:2018-05-19 14:19:28
【问题描述】:
我正在尝试创建一个程序,该程序接受用户输入的学生数量,然后考虑到提示 5 个成绩和每个学生的平均成绩。
学生记录示例如下:
学生#...... Grade1..... Grade2..... Grade3..... Grade4..... Grade5.....平均
到目前为止的代码(无论如何可能都不正确):
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Question_Two
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Input the number of students: ");
int n = int.Parse(Console.ReadLine());
Student[] students = new Student[6];
string studentId = "Student 1"; //error here
students[0].addGrade(double.Parse(studentId)); // or error here
double value;
value = double.Parse(Console.ReadLine());
students[1].addGrade(value);
value = double.Parse(Console.ReadLine());
students[2].addGrade(value);
value = double.Parse(Console.ReadLine());
students[3].addGrade(value);
value = double.Parse(Console.ReadLine());
students[4].addGrade(value);
value = double.Parse(Console.ReadLine());
students[5].addGrade(value);
students[6].getAverage();
}
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[] students = new Student[6],您只需要Student student = new Student();并将students[0]等替换为student。这将用于获得一名学生的成绩并获得一名学生的平均成绩。要为 6 名学生做这件事,您需要进行更多代码更改。