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

Вариант 12 Телефонный сервис

Разработать приложение, позволяющее организовать работу по учёту телефонных услуг. Абонентам-клиентам предоставляются следующие услуги: телефон, факс и сеть (INTERNET). Информация о некотором телефонном абоненте хранится в его описателе. Описатель абонента содержит: указатель на описатель клиента, количество сеансов связи и указатель на динамический массив описателей услуг. Клиентами могут быть – «физические лица» и «юридические лица».

Описатель клиента «физическое лицо» – фамилия и инициалы, почтовый адрес, номер банковского счёта.

Описатель клиента «юридическое лицо» - название организации, фамилия и инициалы ответственного лица, почтовый адрес, номер банковского счёта.

Описатель телефона – «номер» партнёра, дата и время связи, продолжительность связи (в минутах).

Описатель факса – «номер» партнёра, дата и время связи, продолжительность связи (в минутах), объём информации (в МВ).

Описатель сети - «номер» партнёра, дата и время связи, продолжительность связи (в минутах), объём выходного и входного трафика (в МВ).

Каждый абонент телефонного сервиса имеет уникальную характеристику – «номер» абонента. Информация обо всех абонентах телефонного сервиса сведена в таблицу, каждый элемент которой состоит из «номера» абонента и указателя на описатель абонента. Все элементы таблицы упорядочены по возрастанию «номеров».

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

Обеспечить выполнение следующих операций:

  • Для описателя сервиса:

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

    • включить элемент в таблицу по «номеру»;

    • найти элемент в таблице по «номеру»;

    • показать содержимое таблицы.

  • Для любого абонента:

    • получить (вернуть в качестве результата) тип клиента;

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

    • получить объём переданной информации; изменить объём информации;

    • дополнить информацию об оказанных услугах.

  • Для приложения:

    • оформить нового клиента телефонного сервиса;

    • модифицировать информацию об оказанных услугах для указанного абонента в соответствии с её типом;

    • рассчитать общий объём переданной информации для указанного абонента;

    • рассчитать общее время пользования телефонным сервисом по его типу;

    • (*) определить стоимость оказанных услуг для всех абонентов, используя класс-итератор.

Порядок выполнения работы

  1. На основе описания задачи определить состав классов.

  2. Разработать иерархию классов и схему их взаимодействия.

  3. Для каждого класса определить его состояние и необходимые методы.

  4. Разработать и отладить все классы. Приложение реализовать в виде простой диалоговой программы.

  5. (*) Разработать и отладить класс, реализующий работу приложения. Предусмотреть в классе возможность сохранения таблицы в файле и ее восстановления.

  6. (*) Разработать и отладить класс-итератор, с помощью которого реализовать дополнительные операции.

Примечание: пункты задания, отмеченные (*), являются дополнительными.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]