Лабораторная работа № 4:
Классы
1) Создайте класс с именем Time, содержащий три поля типа int, предназначенные для хранения часов, минут и секунд. Один из конструкторов класса должен инициализировать поля нулевыми значениями, а другой конструктор – заданным набором значений. Создайте метод класса, который будет выводить значения полей на экран в формате 23:59:59, и метод, складывающий значения двух объектов типа Time, передаваемых в качестве аргументов. В главной функции следует создать два инициализированных объекта и один неинициализированный объект. Затем сложите два инициализированных значения, а результат присвойте третьему объекту и выведите его значение на экран (например, 13:23:50 + 10:52:50 = 0:16:40). Где возможно, сделайте методы константными.
|
2) Есть пункт для взимания платежей за проезд по автостраде. Каждая проезжающая машина должна заплатить за проезд 50 копеек, однако платят не все. В кассе ведётся учёт числа проехавших машин и суммарная выручка от оплаты за проезд. Создайте модель такой кассы с помощью класса. Класс должен содержать два поля, которые предназначены для учёта количества проехавших автомобилей и суммарной выручки от оплаты проезда. Конструктор должен инициализировать оба поля нулевыми значениями. Метод для "заплативших" должен инкрементировать число машин и увеличивать суммарную выручку. Другой метод (для "не заплативших") должен увеличивать число автомобилей, а выручку не изменять. Так же необходим метод для вывода значений на экран. Создайте программу, которая продемонстрирует работу класса. Программа должна предлагать нажать соответствующую клавишу для имитации заплатившего и недобросовестного автолюбителя. Нажатие клавиши Esc должно приводить к выдаче текущих значений количества машин и выручки.
|
Лабораторная работа № 5:
Массивы и классы. Методы и функции
Вариант 1
На основе задания л/р №3 создайте класс Avia. Программа должна позволять:
-
дописывать записи в бинарный файл;
-
считывать записи из бинарного файла и путём динамического выделения памяти формировать массив типа Avia;
-
показывать все записи в наглядном формате и в упорядоченном по алфавиту виде (сортировка по наименованию рейса);
-
по желанию пользователя редактировать данные указанного им рейса;
-
по желанию пользователя сохранять изменения (перезаписывать файл).
Меню реализовывать не требуется. Методы класса должны быть объявлены в классе, а определены вне класса. Такие действия, как сортировка, редактирование и сохранение необходимо оформить в виде функций (не методов).
Вариант 2
На основе задания л/р №3 создайте класс Railway. Программа должна позволять:
-
дописывать записи в бинарный файл;
-
считывать записи из бинарного файла и путём динамического выделения памяти формировать массив типа Railway;
-
показывать все записи в наглядном формате и в упорядоченном по алфавиту виде (сортировка по наименованию пункта отправления-прибытия);
-
по желанию пользователя редактировать данные указанного им маршрута;
-
по желанию пользователя сохранять изменения (перезаписывать файл).
Меню реализовывать не требуется. Методы класса должны быть объявлены в классе, а определены вне класса. Такие действия, как сортировка, редактирование и сохранение необходимо оформить в виде функций (не методов).