Описать структуру с именем STUDENT - C# (208218)
Формулировка задачи:
Помогите пожалуста...Очень срочно нужно. За рание спасибо.
Описать структуру с именем STUDENT, содержащую следующие поля:
• фамилия и инициалы;
• номер группы;
• успеваемость (массив из пяти элементов).
Написать программу, выполняющую следующие действия:
• ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT;
• упорядочить записи по возрастанию номера группы;
• вывод на дисплей фамилий и номеров групп для всех студентов, включённых в массив, если средний бал студента больше 4.0; если таких студентов нет, то вывести соответствующее сообщение.
Решение задачи: «Описать структуру с именем STUDENT»
textual
Листинг программы
using System;
using System.Linq;
namespace Students
{
class Program
{
static void Main(string[] args)
{
Student[] students = new Student[10];
for (int i = 0; i < students.Length; i++)
{
Console.Write("Введите имя и инициалы {0}-ого студента: ", i + 1);
string name = Console.ReadLine();
Console.Write("Введите номер группы {0}-ого студента: ", i + 1);
int nomber = int.Parse(Console.ReadLine());
Console.Write("Введите, через запятую, 5 оценок {0}-ого студента: ", i + 1);
string[] marks = Console.ReadLine().Split(',');
int[] progress = new int[5];
for (int a = 0; a < 5; a++)
progress[a] = int.Parse(marks[a].ToString());
students[i] = new Student(name, nomber, progress);
}
var stud = from i in students orderby i.GroupNomber select i; //Сортировка!
Console.WriteLine("\n\nУпорядоченный по номеру группы массив студентов: ");
foreach (Student student in stud)
Console.WriteLine("\n" + student.ToString());
int count = 0;
foreach (Student student in students)
if (student.MediumBall() > 4)
count++;
if (count == 0)
Console.WriteLine("\nНет студентов со средним баллом больше 4!");
else
Console.WriteLine("\nСписок студентов со средним баллом боьше 4: ");
foreach (Student student in students)
if (student.MediumBall() > 4)
Console.WriteLine("\n" + student.ToString());
Console.ReadKey();
}
}
struct Student
{
public string Name;
public int GroupNomber;
int[] progress;
public Student(string Name, int GroupNomber, int[] marks)
{
this.Name = Name;
this.GroupNomber = GroupNomber;
progress = marks;
}
public double MediumBall()
{
double MedBall = 0;
foreach (int i in progress)
MedBall += i;
MedBall /= progress.Length;
return MedBall;
}
public override string ToString()
{
return string.Format("ФИО: {0} \nНомер группы: {1}", Name, GroupNomber);
}
}
}