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