Упражнение 4

Работа с файлове

Задача 1
Да се дефинират:
- базов клас  Person с два членове-данни: име и фамилия,  член-функции за достъп до данните, член-функции read и write за четене от файл и писане на файл на данните с параметър файлова променлива.
- производен  клас Student с член-данна факултетен номер (цяло числа), член-функция за достъп до данните и член-функции read и write (с параметър файлова променлива) за четене от файл и писане на файл на данните на обект от този клас.
- производен  клас Teacher с член-данна сигнатура на курс, член-функция за достъп до данните и член-функции read и write (с параметър файлова променлива) за четене от файл и писане на файл на данните на обект от този клас.

Да се напише програма, която да чете файл с имена на студенти (Student) и друг файл с имена на преподаватели (Teacher) и да създаде полиморфна колекция - масив с указатели към обекти от тези два класа. Накрая да изведе файл с всички студенти и преподаватели, чийто малки имена започват с дадена буква.

Да се спазва формата за вход и изход, даден в примерните файлове:

Файл с данни за преподаватели:
5
John Doe CITB001
Adam Smith CITB002
Jane Black CITB003
Bob Robinson OOK111
Mary Popins OOK222

 
Файл с данни за студенти:
4
Jana Ivanova 45353
Ivan Stoianov 55325
Briana Janes 45235

Jane Mode 45235
 
Примерен изходен файл за списък на студенти и преподаватели, чийто имена започват с буквата J:
John Doe CITB001
Jane Black
CITB003
Jana Ivanova 45353

Jane Mode 45235

Примерно решение на задачата: 4_1.cpp

Задача 2
Да се реши Задача 1 от Упражнение 3, като данните за трите вида геометрични фигури (триъгълници, правоъгълници и окръжности) се четат от три файла - по едни за всеки вид фигури.

Файл за триъгълници:
10 20 10
3 4 5

Файл за правоъгълници:
5 10

20 20
10 30

Файл за окръжности:
C 100
C 1