Приклад
Описати структуру з ім'ям STUDENT, що містить такі поля:
прізвище та ініціали;
номер групи;
успішність (масив із п'яти елементів).
Написати програму, яка виконує такі дії:
введення з клавіатури даних масив, що складається з десяти структур
типу STUDENT; записи мають бути упорядковані за зростанням номера
групи;
виведення на дисплей прізвищ та номерів груп для всіх студентів,
включених до масиву, якщо середній бал студента меньше 4.0;
якщо таких студентів немає, вивести відповідне повідомлення.
using System;
using System.Linq;
struct STUDENT
{
public string FullName; // Прізвище та ініціали
public int GroupNumber; // Номер групи
public float[] Grades; // Успішність (масив із п'яти елементів)
// Метод для обчислення середнього балу
public float GetAverageGrade()
{
return Grades.Average();
}
}
class Program
{
static void Main(string[] args)
{
const int numStudents = 10;
STUDENT[] students = new STUDENT[numStudents];
// Введення даних про студентів
for (int i = 0; i < numStudents; i++)
{
Console.Write($"Введіть прізвище та ініціали студента {i + 1}: ");
students[i].FullName = Console.ReadLine();
Console.Write($"Введіть номер групи студента {i + 1}: ");
students[i].GroupNumber = int.Parse(Console.ReadLine());
students[i].Grades = new float[5];
Console.Write($"Введіть 5 оцінок студента {i + 1}: ");
for (int j = 0; j < 5; j++)
{
students[i].Grades[j] = float.Parse(Console.ReadLine());
}
}
// Сортування студентів за номером групи
students = students.OrderBy(s => s.GroupNumber).ToArray();
// Виведення студентів з середнім балом меньш 4.0
bool found = false;
foreach (var student in students)
{
if (student.GetAverageGrade() < 4.0)
{
Console.WriteLine($"Студент: {student.FullName}, Група: {student.GroupNumber}");
found = true;
}
}
// Якщо таких студентів немає
if (!found)
{
Console.WriteLine("Студентів з середнім балом більше 4.0 немає.");
}
}
}
Пояснення до коду:
Структура
STUDENT
:FullName
— зберігає прізвище та ініціали студента.GroupNumber
— зберігає номер групи.Grades
— масив із п'яти елементів, який зберігає оцінки студента.Метод
GetAverageGrade()
обчислює середній бал студента.
Введення даних:
Програма запитує у користувача ввести дані для кожного студента, включаючи прізвище, номер групи та оцінки.
Сортування:
Використовується метод
OrderBy
для сортування масиву студентів за зростанням номера групи.
Виведення результатів:
Програма обчислює середній бал кожного студента за допомогою методу
GetAverageGrade()
.Виводиться інформація про студентів, у яких середній бал меньш 4.0.
Якщо таких студентів немає, виводиться відповідне повідомлення.