Описать структуру с именем STUDENT - C# (212938)
Формулировка задачи:
описать структуру с именем student содержащую следующие поля:
1)фамилия и инициалы
2)номер группы
3)успеваимость(массив из 5 элементов)
написать программу выполняющую следующие действия:
1)ввод с клавиатуры данных в массив,состоящих из 10 структур типа student (записи упорядочены по алфавиту)
2)вывод на экран фамилии и номеров групп для всех студентов,имеющих хотя бы одну оченку 2 .(если таких нет,вывести соответствующее сообщение)..
помогите пожалуйста..
Решение задачи: «Описать структуру с именем STUDENT»
textual
Листинг программы
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[SUBJECT_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)
{
for (int i = 0; i < STUDENTS_QUANTITY; i++)
{
string buf;
Student student = new Student();
student.Marks = new int[SUBJECT_QUANTITY];
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;
//упорядочивание (не работает)
int nomer = 0;
for (int s = 0; s < STUDENTS_QUANTITY; s++)
{
if (Students[s].GroupNumber >= Students[s + 1].GroupNumber)
{
nomer = Students[s].GroupNumber;
Students[s].GroupNumber = Students[s + 1].GroupNumber;
Students[s + 1].GroupNumber = nomer;
}
}
}
}
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 ");
}
aver = 0;
summa = 0;
}
if (!found)
{
Console.WriteLine("записей не найдено");
}
}
}
}