Тема 3 - работа със структури в линейни списъци ----------------------------- продължителност: 4 упражнения Задание: Да се създаде програма за събиране и обработка на информацията за студенти, като всяка от обработките се избира от меню. За студентите се съхранява следната информация: - Три имена - като самостоятелни полета с макс. дължина 20 символа. - Факултетен номер - уникално 7 цифрено число (не може да започва с 0) - текущ курс (5 се използва за означаване на семестриално завършил бакалавър) - ЕГН - по 5 оценки за всяка завършена година (ако текущият курс е 1, то няма оценки). За всяка оценка се съхранява следната информация: оценка (цяло число), дата на вземане на изпита (дд.мм.гггг). Ако студентът не се е явявал на изпит, оценката е 0. Ако се е явявал, но не го е взел, оценката е 2, но няма дата. Програмата има следната функционалност: 1. Добавяне на студент към каталога - информацията се въвежда от клавиатурата. 2. Премахване на студент от каталога (по факултетен номер). 3. Разпечатване на информацията за студент (по факултетен номер). 4. Разпечатване на информацията от каталога 5. Записване на каталога във файл. Потребителят задава името и типа на файла (двоичен или текстов). 6. Прочитане на нов каталог от файл. Потребителят задава името и типа на файла (двоичен или текстов). 7. Изписване на информация за студентите, които не са се явявали на нито един изпит. За всеки студент се изписва факултетен номер, трите имена, курс. 8. Изписване на информация за студентите, които са/не са взели даден изпит. Под невзели се разбира не са се явявали или имат оценка 2. За всеки студент се изписва факултетен номер, трите имена и информация за оценката. Обработват се само студенти, които имат необходимия курс. 9. Да се сортират студентите по азбучен ред, като потребителят задава дали е низходящ или възходящ. При еднакви имена да се използва факултетния номер. разпечатване на сортирания каталог 10. Да се сортират студентите по среден успех, като потребителят задава дали е низходящ или възходящ. При еднакъв среден успех, да се използва сортиране по азбучен ред. При формиране на средната оценка се използват оценките по предметите, по които се е явявал дадения студент. Разпечатване на сортирания каталог 11.Премахване от каталога на всички студенти със среден успех под зададен праг 12. Край Изисквания за упражненията: 1 упр. - Добавяне на студент към каталога. - Разпечатване на информацията от каталога - Записване на каталога във файл. Потребителят задава името. РЕАЛИЗИРА СЕ КАТО БИНАРЕН ФАЙЛ. - Прочитане на нов каталог от файл. Потребителят задава името. РЕАЛИЗИРА СЕ КАТО Бинарен ФАЙЛ. 2 упр. - Премахване на студент от каталога (по факултетен номер). - Разпечатване на информацията за студент (по факултетен номер). - Записване на каталога във файл. Потребителят задава името. РЕАЛИЗИРА СЕ КАТО ТЕКСТОВ ФАЙЛ. - Прочитане на нов каталог от файл. Потребителят задава името. РЕАЛИЗИРА СЕ КАТО ТЕКСТОВ ФАЙЛ. 3 Упр. - Изписване на информация за студентите, които не са се явявали на нито един изпит. За всеки студент се изписва факултетен номер, трите имена, курс. - Изписване на информация за студентите, които са/не са взели даден изпит. Под невзели се разбира не са се явявали или имат оценка 2. За всеки студент се изписва факултетен номер, трите имена, курс. - Премахване от каталога на всички студенти със среден успех под зададен праг 4 Упр. - Да се сортират студентите по азбучен ред, като потребителят задава дали е низходящ или възходящ. При еднакви имена да се използва факултетния номер да се запишат в сортиран каталог. - Да се сортират студентите по среден успех, като потребителят задава дали е низходящ или възходящ. При еднакъв среден успех, да се използва сортиране по азбучен ред. При формиране на средната оценка се използват оценките по предметите, по които се е явявал дадения студент. При сортировките да не се пренарежда линейният списък а да се използва динамичен масив от указатели