Создание класса 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; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д