Student Book (List проблем)
Напишете програма на C#, която поддържа следните данни за студенти:
- Име;
- Факултетен номер;
- Списък от оценки (не повече от 40 оценки).
Програмата трябва да реализира посочените по-долу функционалности:
- Добавяне на студент (въвеждат се име, фак. номер и брой оценки на отделни редове и списък с оценките на един ред);
- Добавяне на оценки на съществуващ студент (търсене по фак. номер и добавяне на оценки в списъка с оценките);
- Отпечатване на списъка със студенти със следната информация за всеки студент: име, факултетен номер, среден успех;
- Запис на списъка със студенти във файл (в дефиниран от Вас текстов или двоичен формат);
- Прочитане на списъка със студенти от файл в същия формат;
- Сортиране на студентите по факултетен номер, използвайки алгоритъма на пряката селекция (selection sort);
- Сортиране на студентите по среден успех в низходящ ред, използвайки алгоритъма на прякото вмъкване (insertion sort);
- Извеждане на досието на студент, намерен по факултетен номер. Ако списъкът със студенти е сортиран по факултетен номер, да се използва двоично търсене за намиране на студента. Съхранявайте информацията как е сортиран списъка, а не проверявайте динамично дали е сортиран. Досието на студента съдържа името му, факултетен номер, среден успех и списък от оценките му.
Към програмата има и следните допълнителни изисквания:
- Организирайте въвеждането чрез меню с избор на номерирани възможности.
- Програмата трябва да обработва грешки и невалиден вход от потребителя по подходящ начин, като например дава възможност за повторно въвеждане, когато се въвежда число, ако потребителят е въвел невалиден текст. Не се допуска използването на изключения за обработването на невалиден вход от потребителя.
- Преди всяко въвеждане на потребителя трябва да се извежда пояснителен текст какво се очаква да въведе (напр. ако потребителят ще въвежда име на студент, програмата трябва да изпише „Име: “).
- Алгоритмичните елементи на задачата като търсене и сортиране трябва да бъдат реализирани от Вас, а не да се използват готови решения или библиотеки.
- Ако дадена функционалност се използва на повече от едно място, тя трябва да бъде отделена в собствена функция.
Коментар: създавам клас който съдържа характеристиките на студента(class Student) след ,което имам друг клас в който инстанцирам лист и правя метод ,в който да добавям студените в листа със съответните му х-ки :List<Student> lst = new List<Student> ... проблема идва ,когато искам да изляза от метода и искам да ползва листа към който са се добавили съответните данни