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

Министерство образования и науки Российской Федерации

Московский государственный университет дизайна и технологии

Кафедра информационных технологий

Задания для лабораторных работ по дисциплине

"Объектно-ориентированное программирование"

для студентов механического факультета, обучающихся по специальности

220300 - Системы автоматизированного проектирования

Курс: 2

Семестр: 4

Разработал:

к.т.н., доцент

Семёнов А.А.

Москва « 2014

Лабораторная работа № 1 (визуально):

Потоки С++ и бинарные файлы

Вариант 1

Напишите программу, которая позволяет создавать базу данных авиакомпании и хранить её в бинарном файле (например, …\aviabase.dat). Каждая запись бинарного файла содержит: наименование рейса (30 байт); тип самолёта(10 байт); количество проданных билетов (sizeof(int) байт); цена одного билета (sizeof(float) байт). Программа должна позволять: а) добавлять в двоичный файл записи, причём столько раз, сколько угодно пользователю; б) показывать все записи в наглядном формате, причём стоимость одного билета должна выводиться с двумя знаками после запятой; в) подсчитывать общую выручку от всех рейсов. Пользователь должен иметь возможность в любой момент выбрать необходимое ему действие с помощью меню, например следующего вида:

==================AviaBase=====================

1 - dobavit zapis; 2 - pokazat vse zapisi;

3 - pokazat obshuyu vyruchku; 4 - vyhod;

Vash vybor:

Меню реализуйте с помощью функции, возвращающей значение. Предусмотрите обработку исключительных ситуаций.

Вариант 2

Напишите программу, которая позволяет создавать базу данных железнодорожных поездов и хранить её в бинарном файле (например, …\railwaybase.dat). Каждая запись бинарного файла содержит: номер поезда (sizeof(int) байт); пункт отправления-прибытия (30 байт); количество проданных билетов (sizeof(int) байт); цена одного билета (sizeof(float) байт). Программа должна позволять: а) добавлять в двоичный файл записи, причём столько раз, сколько угодно пользователю; б) показывать все записи в наглядном формате, причём стоимость одного билета должна выводиться с двумя знаками после запятой; в) подсчитывать выручку указанного номера поезда. Пользователь должен иметь возможность в любой момент выбрать необходимое ему действие с помощью меню, например следующего вида:

===================RailwayBase=====================

1 - dobavit zapis; 2 - pokazat vse zapisi;

3 - pokazat vyruchku poezda; 4 - vyhod;

Vash vybor:

Меню реализуйте с помощью функции, возвращающей значение. Предусмотрите обработку исключительных ситуаций.

Лабораторная работа № 2 (визуально):

Массивы структур (структурные массивы)

Вариант 1

На основе задания предыдущей л/р создайте структуру Avia, содержащую 4 поля: наименование рейса (30 байт); тип самолёта(10 байт); количество проданных билетов; цена одного билета. Программа должна позволять:

  • считывать записи из бинарного файла (…\aviabase.dat) и путём динамического выделения памяти формировать массив структуры;

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

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

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

Пункт 2, 3 и 4 необходимо реализовать в виде функций. Предусмотрите обработку исключительных ситуаций.

Вариант 2

На основе задания предыдущей л/р создайте структуру Railway, содержащую 4 поля: номер поезда; пункт отправления-прибытия (30 байт); количество проданных билетов; цена одного билета. Программа должна позволять:

  • считывать записи из бинарного файла (…\railwaybase.dat) и путём динамического выделения памяти формировать массив структуры;

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

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

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

Пункт 2, 3, 4 необходимо реализовать с помощью функций. Предусмотрите обработку исключительных ситуаций.