- •Вариант 1 Линия метро
- •Порядок выполнения работы
- •Вариант 2 Гостиница
- •Порядок выполнения работы
- •Вариант 3 Программа на ассемблере
- •Порядок выполнения работы
- •Вариант 4 Студенты института
- •Порядок выполнения работы
- •Вариант 5 Книжный каталог
- •Порядок выполнения работы
- •Вариант 6 Таблица идентификаторов
- •Порядок выполнения работы
- •Вариант 7 Учебные группы
- •Порядок выполнения работы
- •Вариант 8 Информационные агентства
- •Порядок выполнения работы
- •Вариант 9 Учебный план
- •Порядок выполнения работы
- •Вариант 10 Спортивная команда
- •Порядок выполнения работы
- •Вариант 11 Файловая система
- •Порядок выполнения работы
- •Вариант 12 Телефонный сервис
- •Порядок выполнения работы
- •Вариант 13 Торговый склад
- •Порядок выполнения работы
- •Вариант 14 Жилищный фонд
- •Порядок выполнения работы
- •Вариант 15 Туристическое бюро
- •Порядок выполнения работы
- •Вариант 16 Банковские операции
- •Порядок выполнения работы
- •Вариант 17 Отдел кадров
- •Порядок выполнения работы
- •Вариант 18 Жилищная контора
- •Порядок выполнения работы
- •Вариант 19 Налоговая служба
- •Порядок выполнения работы
- •Вариант 20 Сетевой сервер
- •Порядок выполнения работы
- •Вариант 21 Семестровый контроль
- •Порядок выполнения работы
- •Вариант 22 Сетевой сервис
- •Порядок выполнения работы
Вариант 12 Телефонный сервис
Разработать приложение, позволяющее организовать работу по учёту телефонных услуг. Абонентам-клиентам предоставляются следующие услуги: телефон, факс и сеть (INTERNET). Информация о некотором телефонном абоненте хранится в его описателе. Описатель абонента содержит: указатель на описатель клиента, количество сеансов связи и указатель на динамический массив описателей услуг. Клиентами могут быть – «физические лица» и «юридические лица».
Описатель клиента «физическое лицо» – фамилия и инициалы, почтовый адрес, номер банковского счёта.
Описатель клиента «юридическое лицо» - название организации, фамилия и инициалы ответственного лица, почтовый адрес, номер банковского счёта.
Описатель телефона – «номер» партнёра, дата и время связи, продолжительность связи (в минутах).
Описатель факса – «номер» партнёра, дата и время связи, продолжительность связи (в минутах), объём информации (в МВ).
Описатель сети - «номер» партнёра, дата и время связи, продолжительность связи (в минутах), объём выходного и входного трафика (в МВ).
Каждый абонент телефонного сервиса имеет уникальную характеристику – «номер» абонента. Информация обо всех абонентах телефонного сервиса сведена в таблицу, каждый элемент которой состоит из «номера» абонента и указателя на описатель абонента. Все элементы таблицы упорядочены по возрастанию «номеров».
Полная информация о телефонном сервисе хранится в описателе сервиса, который содержит: название сервиса, месячную плату для бюджетного абонента, тариф оплаты минуты связи, тариф оплаты передачи одного МВ и таблицу абонентов.
Обеспечить выполнение следующих операций:
-
Для описателя сервиса:
-
получить (вернуть в качестве результата) месячную плату; получить тариф минуты связи, получить тариф передачи одного МВ;
-
включить элемент в таблицу по «номеру»;
-
найти элемент в таблице по «номеру»;
-
показать содержимое таблицы.
-
-
Для любого абонента:
-
получить (вернуть в качестве результата) тип клиента;
-
получить время (продолжительность) оказания услуги; изменить время;
-
получить объём переданной информации; изменить объём информации;
-
дополнить информацию об оказанных услугах.
-
-
Для приложения:
-
оформить нового клиента телефонного сервиса;
-
модифицировать информацию об оказанных услугах для указанного абонента в соответствии с её типом;
-
рассчитать общий объём переданной информации для указанного абонента;
-
рассчитать общее время пользования телефонным сервисом по его типу;
-
(*) определить стоимость оказанных услуг для всех абонентов, используя класс-итератор.
-
Порядок выполнения работы
-
На основе описания задачи определить состав классов.
-
Разработать иерархию классов и схему их взаимодействия.
-
Для каждого класса определить его состояние и необходимые методы.
-
Разработать и отладить все классы. Приложение реализовать в виде простой диалоговой программы.
-
(*) Разработать и отладить класс, реализующий работу приложения. Предусмотреть в классе возможность сохранения таблицы в файле и ее восстановления.
-
(*) Разработать и отладить класс-итератор, с помощью которого реализовать дополнительные операции.
Примечание: пункты задания, отмеченные (*), являются дополнительными.