Создание класса STUDENT - C#
Формулировка задачи:
Добрый день.
Прошу помощи в решении следующей задачи:
Определить класс с именем STUDENT, содержащий следующие поля:
- фамилия и инициалы;
- номер группы;
- успеваемость (массив из нескольких элементов).
Написать методы, выполняющие следующие действия:
- ввод с клавиатуры данных в массив, состоящий из нескольких объектов типа STUDENT;
- вывод на дисплей фамилий и номеров групп для всех студентов, включенных в массив.
- если есть студенты имеющие 2 в табеле, вывести таких студентов, если таких студентов нет, вывести соответствующее сообщение
Использовал различные источники и форумы и в итоге написал, с горем пополам, следующий код:
При компиляции появляется следующая ошибка:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
public class Student
{
private int[] Skill;
public Student (string StudentName, string StudentGroup, int[] SkillArray)
{
StudentName = StudentName;
StudentGroup = StudentGroup;
Skill= SkillArray;
}
public string StudentName { get; private set; }
public int StudentGroup { get; private set; }
public SkillArray SkillArray { get; private set; }
}
class Program
{
static void Main(string[] args)
{
//создаем массив оценок
SkillArray[] SkillArray=new SkillArray[3];
SkillA[,] SkillA = new SkillA[3,3];
Random rand = new Random();
for (int i = 0; i < 3; ++i)
{
for (int j = 0; j < 3; ++i)
SkillA[i,j] = rand.Next(2,5);
}
// создаем массив объектов класса
Student[] StudentList = new Student[3];
for (i = 0; i < StudentList.Length; i++)
{
Console.WriteLine("Добавление информации о новом студенте {0} из {1}", i + 1,StudentList.Length);
Console.WriteLine("Ввведите фамилию и инициалы студента:");
string StudentName = Console.ReadLine();
while (true)
{
Console.WriteLine("Введите группу студента:");
StudentGroup = Console.ReadLine();
}
// заполняем массив оценок студента
for (n=0;n<3;n++)
{
for(m=0;m<3;m++)
SkillArray[i] = SkillA[n,m];
}
break;
StudentList[i] = new Student(StudentName, StudentGroup, SkillArray);
Console.Clear();
Console.WriteLine("Студент успешно добавлен");
}
Console.Clear();
StudentList.Sort(StudentName); // сортируем массив объектов
Console.WriteLine("\nСписок студентов");
Console.WriteLine();
Console.WriteLine("Имя Группа Успеваемость");
for (i=0;i<3;i++)
Console.WriteLine(StudentList[i]);
// Студенты, у которых есть двойки
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("Студенты с двойками");
int a=0;
for (n=0;n<3;n++)
{
for(m=0;m<3;m++)
{
if (SkillA[n,m] == 2)
{
Console.WriteLine(StudentList[n]);
a++;
break;
}
}
}
if (a==0)
Console.WriteLine("В списке нет студентов с двойками");
}
}
}solution.cs(24,16): error CS0246: The type or namespace name `SkillArray' could not be found. Are you missing an assembly reference?
Я понимаю, что как-то не так обозвал массив оценок, но как исправить не могу понять. Прошу помощи. Заранее спасибо)Решение задачи: «Создание класса STUDENT»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
public class Student : IComparable<Student>
{
public Student(string StudentName, string StudentGroup, int[,] Skill)
{
this.StudentName = StudentName;
this.StudentGroup = StudentGroup;
this.Skill = Skill;
}
public string StudentName { get; private set; }
public string StudentGroup { get; private set; }
public int[,] Skill;
//реализация метода CompareTo интефейса IComparable
public int CompareTo(Student that)
{
return this.StudentName.CompareTo(that.StudentName);
}
}
class Program
{
static void Main(string[] args)
{
Random rand = new Random();
// создаем массив объектов класса
Student[] StudentList = new Student[3];
for (int i = 0; i < StudentList.Length; i++)
{
Console.WriteLine("Добавление информации о новом студенте {0} из {1}", i + 1, StudentList.Length);
Console.WriteLine("Ввведите фамилию и инициалы студента:");
string StudentName = Console.ReadLine();
Console.WriteLine("Введите группу студента:");
string StudentGroup = Console.ReadLine();
// заполняем массив оценок студента
int[,] Skill = new int[3, 5];
for (int m = 0; m < 5; m++)
Skill[i, m] = rand.Next(2, 5);
StudentList[i] = new Student(StudentName, StudentGroup, Skill);
Console.Clear();
Console.WriteLine("****************************");
Console.WriteLine("* Студент успешно добавлен *");
Console.WriteLine("****************************");
Console.WriteLine("\nНажмите любую клавишу для продолжения...");
Console.ReadKey();
Console.Clear();
}
Console.Clear();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("******************************************");
Console.WriteLine("\n Список студентов");
Console.WriteLine();
for (int i = 0; i < 3; i++)
{
Console.Write("Студент: {0} Группа:{1}", StudentList[i].StudentName, StudentList[i].StudentGroup);
Console.Write(" Табель:");
for (int j = 0; j < 5; j++)
{
Console.Write(" {0}", StudentList[i].Skill[i, j]);
}
Console.WriteLine();
}
// Студенты, у которых есть двойки
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("******************************************");
Console.WriteLine("\n Студенты с двойками");
Console.WriteLine();
int a = 0;
for (int n = 0; n < 3; n++)
{
for (int m = 0; m < 5; m++)
{
if (StudentList[n].Skill[n, m] == 2)
{
Console.WriteLine("Студент:{0}\nГруппа: {1}\n", StudentList[n].StudentName, StudentList[n].StudentGroup);
a++;
break;
}
}
}
if (a == 0)
Console.WriteLine("В списке нет студентов с двойками");
Console.ReadKey();
}
public static Comparison<Student> StudentName { get; set; }
}
}