На основе данных входного файла составить список студентов группы, включив следующие данные - C#
Формулировка задачи:
На основе данных входного файла составить список студентов группы, включив следующие данные: ФИО, номер группы, результаты сдачи трех экзаменов. Вывести в новый файл информацию о студентах, успешно сдавших сессию, отсортировав по номеру группы.
Не поможете сделать так, чтобы у тех студентов, у которых есть двойка не выводились в списке. У меня вообще не получается(
class Program
{
struct Vedomost
{
public string FIO;//ФИО
public int number;//Номер группы
public int[] results;//результаты сдачи 3х экзаменов
public Vedomost(string FIO, int number, int[] results)
{
this.FIO = FIO;
this.number = number;
this.results = results;
}
public void Vivod()
{
Console.WriteLine("{0} ({1}) : {2}", FIO, number, String.Join(" ", results));
}
}
static Random r = new Random();
static int[] Rand()
{
return Enumerable.Range(0, 3).Select(v => r.Next(2, 6)).ToArray();
}
static void Main(string[] args)
{
Vedomost[] V = { new Vedomost("Иванов Сергей Иванович", 3, Rand()),
new Vedomost("Соколов Сергей Иванович", 2, Rand()),
new Vedomost("Сидорова Екатерина Петровна", 1, Rand()),
new Vedomost("Овчинников Илья Васильевич", 5, Rand()),
new Vedomost("Савельева Ирина Олеговна", 4, Rand())};
V = V.OrderBy(v => v.number).ToArray();
foreach (var a in V)
{
a.Vivod();
if (a.results.Average() >= 3)
System.IO.File.AppendAllText(@"E:\1.txt", String.Format("{0} ({1}) : {2}{3}",
a.FIO, a.number, String.Join(" ", a.results), Environment.NewLine));
}
Console.ReadKey();
}
}
}Решение задачи: «На основе данных входного файла составить список студентов группы, включив следующие данные»
textual
Листинг программы
foreach (var a in V)
{
a.Vivod();
if (!a.results.Any(r => r == 2))
System.IO.File.AppendAllText(@"E:\1.txt", String.Format("{0} ({1}) : {2}{3}",
a.FIO, a.number, String.Join(" ", a.results), Environment.NewLine));
}