Вывести на экран всех студентов одной группы - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста как реализовать поиск.Нужно вывести на экран всех студентов одной группы.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.IO;
 
namespace FirstEnum
{
    class Program
    {
        class Student
        {
            public string FIO { get; set; }
            public string Group { get; set; }
            public string Predmet { get; set; }
            public int Ocenka { get; set; }
            public string Otch { get; set; }
 
            public override string ToString()
            {
                return string.Format("Фамилия:{0},Имя и Отчество:{1},Группа:{2},Предмет:{3},Оценка:{4}", FIO, Otch, Group, Predmet, Ocenka );
            }
        }
 
        static void Main(string[] args)
        {
            bool kones = true;
            ArrayList al = new ArrayList();
 
            while (kones)
            {
                Console.WriteLine();
                PrintMessage();
                int a = int.Parse(Console.ReadLine());
                if (a == 0)
                {
                    AddNewStudent(al);
                }
                else if (a == 1)
                {
                    PrintAllStudent(al);
                }
                else if (a == 2)
                {
                    FindStudent(al);
                }
                else if (a == 3)
                {
                    FindGroup(al);
                }
                else if (a == 4)
                {
                    PodschetOtl(al);
                }
 
                else if (a == 8)
                {
                    SaveToFiles(al);
                }
                else kones = false;
            }
 
        }
 
        private static void SaveToFiles(ArrayList al)
        {
            DirectoryInfo di = new DirectoryInfo("Data");
            di.Create();
            StreamWriter sw = File.CreateText("D:\\student.txt");
            foreach (var item in al)
            {
                Student st = (Student)item;
                sw.WriteLine(st.ToString());
            }
            sw.Close();
        }
 
        private static void FindStudent(ArrayList al)
        {
            Console.WriteLine("Введите фамилию:");
            string findFIO = Console.ReadLine();
            bool fd = false;
            Student findSt = new Student();
            foreach (var item in al)
            {
                Student st = (Student)item;
                if (findFIO == st.FIO)
                {
                    findSt = st;
                    fd = true;
                    break;
                }
            }
            if (fd) { Console.WriteLine(findSt.ToString()); }
            else { Console.WriteLine("Студент не найден"); }
        }
 
        private static void FindGroup(ArrayList al)
        {
            Console.WriteLine("Введите группу :");
            string findGroup = Console.ReadLine();
            bool ft = false;
            Student findSt = new Student();
            foreach (var item in al)
            {
                Student st = (Student)item;
                if(findGroup == st.Group)
                {
                    findSt = st;
                    ft = true;
                    break;
                }
            }
            if (ft) { Console.WriteLine(findSt.ToString()); }
            else { Console.WriteLine("Студент не найден"); }
        }
 
        private static void PodschetOtl(ArrayList al)
        {
            
        }

        private static void PrintMessage()
        {
            Console.WriteLine("Для добавления студента нажмите на 0");
            Console.WriteLine("Для получения списка студентов нажмите на 1");
            Console.WriteLine("Для поиска студента по фамилии нажмите на 2");
            Console.WriteLine("Для поиска группы студетов нажмите на 3");
            Console.WriteLine("Для поиска для подсчета отличников нажмите на 4");
            Console.WriteLine("Для сохранения нажмите на 8");
            Console.WriteLine("Для выхода из приложения на 9");
        }
 
        private static void PrintAllStudent(ArrayList al)
        {
            FileStream file1 = new FileStream("D:\\student.txt", FileMode.Open);
            StreamReader reader = new StreamReader(file1);
            Console.WriteLine(reader.ReadToEnd());
            reader.Close();
            Console.ReadLine();
        }
 
        private static void AddNewStudent(ArrayList al)
        {
            string fio; string grup; string predmet; int mark; string otcestvo;
            Console.WriteLine("Введите фамилию студента:");
            fio = Console.ReadLine();
            Console.WriteLine("Введите имя и отчество: ");
            otcestvo = Console.ReadLine();
            Console.WriteLine("Группа:");
            grup = Console.ReadLine();
            Console.WriteLine("Предмет:");
            predmet = Console.ReadLine();
            Console.WriteLine("Введите оценку студента:");
            mark = int.Parse(Console.ReadLine());
            al.Add(new Student { FIO = fio, Otch = otcestvo, Group= grup, Predmet = predmet, Ocenka = mark });
        }
 
        private static void LoadStudent(ArrayList al)
        {
            al.Add(new Student { FIO = "Pushkin", Otch = "Александр Сергеевич", Group = "230721", Predmet = "Математический анализ", Ocenka = 80 });
            al.Add(new Student { FIO = "Lermontov", Otch = "Михаил Юрьевич", Group = "221543", Predmet = "Математический анализ", Ocenka = 59 });
            al.Add(new Student { FIO = "Dostoevskii",Otch = "Федор Михайлович", Group = "232323", Predmet = "Математический анализ", Ocenka = 33 });
        }
    }
}

Решение задачи: «Вывести на экран всех студентов одной группы»

textual
Листинг программы
private static void FindGroup(ArrayList al)
{
    Console.WriteLine("Введите группу :");
    string findGroup = Console.ReadLine();
    //Поиск
    var query = from Student n in al
                where n.Group == findGroup
                select n;
    //Вывод на экран
    foreach (var item in query)
        Console.WriteLine(item.ToString());
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5
Похожие ответы