Всем доброго времени суток!!! помогите пожалуйста с задачей. никак не могу понять что надо сделать.
Описать структуру, соответствующую заданиям лабораторной работы 10. Создать параметризованную коллекцию (см. раздел «Классы-прототипы») для хра-нения описанной структуры. Вид коллекции выбрать самостоятельно. Написать Windows-приложение для работы с этой коллекцией, позволяющее выполнять: □ добавление элемента в коллекцию с клавиатуры; □ считывание данных из файла; □ запись данных в тот же или указанный файл; □ удаление элемента из коллекции1. Приложение должно содержать меню и диалоговые окна и предусматривать обработку возможных ошибок пользователя с помощью исключений.
Вот лабораторная 10: Описать структуру с именем STUDENT, содержащую следующие поля: □ фамилия и инициалы; □ номер группы; □ успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия: □ ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT (записи должны быть упорядочены по возрастанию номера группы); □ вывод на экран фамилий и номеров групп для всех студентов, включенных в массив, если средний балл студента больше 4,0 (если таких студентов нет, вывести соответствующее сообщение).
Вот решение 10 лабораторной:
| Код | using System; using System.Collections.Generic; using System.Text;
namespace zadanie_10 { class Program { const int STUDENTS_QUANTITY = 2; const int SUBJECT_QUANTITY = 5;
static void Main(string[] args) { Student[] Results = new Student[STUDENTS_QUANTITY];
GetStudents(Results); CheckGoodMark(Results); 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("записей не найдено"); } } } }
|
помогите кто может или объясните пожалуйста! заранее спасибо!!!
Добавлено через 2 минуты и 29 секунд что такое??? указал в теме C#, а вывелось C.... |