[c#]создание Класса-прототипа И Использование Его В Windows-приложении

  • Автор темы IcedPa1nk1ller
  • Дата начала
I

IcedPa1nk1ller

#1
Всем доброго времени суток!!!
помогите пожалуйста с задачей. никак не могу понять сто надо сделать.

Описать структуру, соответствующую заданиям лабораторной работы 10. Создать параметризованную коллекцию (см. раздел «Классы-прототипы») для хра-нения описанной структуры. Вид коллекции выбрать самостоятельно. Написать Windows-приложение для работы с этой коллекцией, позволяющее выполнять:
□ добавление элемента в коллекцию с клавиатуры;
□ считывание данных из файла;
□ запись данных в тот же или указанный файл;
□ удаление элемента из коллекции1.
Приложение должно содержать меню и диалоговые окна и предусматривать обработку возможных ошибок пользователя с помощью исключений.

Вот лабораторная 10:
Описать структуру с именем STUDENT, содержащую следующие поля:
□ фамилия и инициалы;
□ номер группы;
□ успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия:
□ ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT (записи должны быть упорядочены по возрастанию номера группы);
□ вывод на экран фамилий и номеров групп для всех студентов, включенных в массив, если средний балл студента больше 4,0 (если таких студентов нет, вывести соответствующее сообщение).

Вот решение 10 лабораторной:

C++:
using System;
using System.Collections.Generic;
using System.Text;

namespace zadanie_10
{
class Program
{
const int STUDENTS_QUANTITY = 3;
const int SUBJECT_QUANTITY = 5;

static void Main(string[] args)
{
Student[] Results = new Student[STUDENTS_QUANTITY];

GetStudents(Results);
CheckGoodMark(Results);

List<Student> gryppa = new List<Student>();
gryppa.Add(Student.Equals);


Console.ReadKey();
}

public struct Student
{
public string Surname;
public string Initials;
public int GroupNumber;
public int[] Marks;
}

static void GetStudents(Student[] Students)
{
string buf;
Student student = new Student();
student.Marks = new int[SUBJECT_QUANTITY];

for (int i = 0; i < STUDENTS_QUANTITY; i++)
{
Console.WriteLine("Введите фамилию студента:");
student.Surname = Console.ReadLine();
Console.WriteLine("Введити инициалы студента:");
student.Initials = Console.ReadLine();
Console.WriteLine("Введите группу студента:");
buf = Console.ReadLine();
student.GroupNumber = Convert.ToInt32(buf);
Console.WriteLine("Введите оценку студента: ");
for (int h = 0; h < SUBJECT_QUANTITY; h++)
{
buf = Console.ReadLine();
student.Marks[h] = Convert.ToInt32(buf);
}
Students[i] = student;
}

//сортировка
for (int h = STUDENTS_QUANTITY - 1; h > 0; h--)
{
for (int s = 0; s < h; s++)
{
if (Students[s].GroupNumber > Students[s + 1].GroupNumber)
{
int tmp1 = Students[s].GroupNumber;
string tmp2 = Students[s].Surname;
string tmp3 = Students[s].Initials;
int[] tmp4 = Students[s].Marks;

Students[s].GroupNumber = Students[s + 1].GroupNumber;
Students[s].Surname = Students[s + 1].Surname;
Students[s].Initials = Students[s + 1].Initials;
Students[s].Marks = Students[s + 1].Marks;

Students[s + 1].GroupNumber = tmp1;
Students[s + 1].Surname = tmp2;
Students[s + 1].Initials = tmp3;
Students[s + 1].Marks = tmp4;
}
}
}
}

static void CheckGoodMark(Student[] Students)
{
bool found = false;
int summa = 0;
float aver = 0;

for (int i = 0; i < STUDENTS_QUANTITY; i++)
{
for (int j = 0; j < SUBJECT_QUANTITY; j++)
summa += Students[i].Marks[j];

aver = summa/5;

if (aver >= 4.0)
{
found = true;
Console.Write("Студент " + Students[i].Surname + " " + Students[i].Initials);
Console.Write(" из группы N" + Students[i].GroupNumber);
Console.WriteLine(" имеет средний бал больше 4,0");
}
aver = 0;
summa = 0;
}
if (!found)
{
Console.WriteLine("записей не найдено");
}
}

public class StudentStruct<T> : ICollection<T>
where T:IComparable<T>

{
public T a, b;

public void Add(T item)
{

}
}
}
}
помогите кто может или объясните пожалуйста!
заранее спасибо!!!

P.S.: нам преподаватель этого не объяснял. в книге Павловской, по которой мы учимся толком не написано. а интернете тоже ничего найти не могу.
помогите пожалуйста!!! сдавать уже 14 числа((((