Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы по ТРПО.doc
Скачиваний:
61
Добавлен:
17.03.2015
Размер:
65.02 Кб
Скачать

Лабораторная работа № 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;

  • показывать все записи в наглядном формате и в упорядоченном по алфавиту виде (сортировка по наименованию пункта отправления-прибытия);

  • по желанию пользователя редактировать данные указанного им маршрута;

  • по желанию пользователя сохранять изменения (перезаписывать файл).

Меню реализовывать не требуется. Методы класса должны быть объявлены в классе, а определены вне класса. Такие действия, как сортировка, редактирование и сохранение необходимо оформить в виде функций (не методов).