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

Void push_back(t &value);

void pop_back(void);

T& back(void);

void erase (iterator p);

iterator insert(iterator position, const T& value);

T& operator[](int i);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

2

class List

На основе списка.

Дополнительный набор методов:

void push_back(T &value);

void push_front(T &value);

void pop_back(void);

void pop_front(void);

T& back(void);

T& front(void);

void erase (iterator p);

iterator insert(iterator position, const T& value);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

3

class Deque

На основе динамического массива.

Дополнительный набор методов:

void push_back(T &value);

void push_front(T &value);

void pop_back(void);

void pop_front(void);

T& back(void);

T& front(void);

void erase (iterator p);

iterator insert(iterator position, const T& value);

T& operator[](int i);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

4

class Deque

На основе списка.

Дополнительный набор методов:

void push_back(T &value);

void push_front(T &value);

void pop_back(void);

void pop_front(void);

T& back(void);

T& front(void);

void erase (iterator p);

iterator insert(iterator position, const T& value);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

5

class Stack

На основе списка.

Дополнительный набор методов:

void push(T &value);

void pop(void);

value_type& top();

void erase (iterator p);

iterator insert(iterator position, const T& value);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

6

class Stack

На основе динамического массива.

Дополнительный набор методов:

void push(T &value);

void pop(void);

value_type& top();

void erase (iterator p);

iterator insert(iterator position, const T& value);

T& operator[](int i);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

7

class Queue

На основе динамического массива.

Дополнительный набор методов:

void push_back(T &value);

void pop_front(void);

T& front(void);

void erase (iterator p);

iterator insert(iterator position, const T& value);

T& operator[](int i);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

8

class Queue

На основе списка.

Дополнительный набор методов:

void push_back(T &value);

void pop_front(void);

T& front(void);

void erase (iterator p);

iterator insert(iterator position, const T& value);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

9

class Map

На основе динамического массива.

Дополнительный набор методов:

T& operator[](const Key& x);

iterator find(const Key& x);

size_type count(const Key& x);

pair<iterator, bool> insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

10

class Map

На основе списка.

Дополнительный набор методов:

T& operator[](const Key& x);

iterator find(const Key& x);

size_type count(const Key& x);

pair<iterator, bool> insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

11

class MultiMap

На основе динамического массива.

Дополнительный набор методов:

iterator find(const Key& x);

iterator lower_bound(const Key& x);

iterator upper_bound(const Key& x);

size_type count(const Key& x);

pair<iterator, bool> insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

12

class MultiMap

На основе списка.

Дополнительный набор методов:

iterator find(const Key& x);

iterator lower_bound(const Key& x);

iterator upper_bound(const Key& x);

size_type count(const Key& x);

pair<iterator, bool> insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

13

class Set

На основе списка.

Дополнительный набор методов:

iterator find(const Key& x);

size_type count(const Key& x);

iterator insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

bool operator==(контейнер& that);

bool operator!=(контейнер& that);

14

class Set

На основе динамического массива.

Дополнительный набор методов:

iterator find(const Key& x);

size_type count(const Key& x);

iterator insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

T& operator[](int i);

bool operator==(контейнер& that);

bool operator!=(контейнер& that);

15

class MultiSet

На основе динамического массива.

Дополнительный набор методов:

iterator find(const Key& x);

iterator lower_bound(const Key& x);

iterator upper_bound(const Key& x);

size_type count(const Key& x);

iterator insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

T& at(int i);

16

class MultiSet

На основе списка.

Дополнительный набор методов:

iterator find(const Key& x);

iterator lower_bound(const Key& x);

iterator upper_bound(const Key& x);

size_type count(const Key& x);

iterator insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

17

class Vector

На основе динамического массива.

Дополнительный набор методов:

void push_back(T &value);

void pop_back(void);

T& back(void);

void erase (iterator p);

iterator insert(iterator position, const T& value);

T& at(int i);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

18

class List

На основе списка.

Дополнительный набор методов:

void push_back(T &value);

void push_front(T &value);

void pop_back(void);

void pop_front(void);

T& back(void);

T& front(void);

void erase (iterator p);

iterator insert(iterator position, const T& value);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

19

class Deque

На основе динамического массива.

Дополнительный набор методов:

void push_back(T &value);

void push_front(T &value);

void pop_back(void);

void pop_front(void);

T& back(void);

T& front(void);

void erase (iterator p);

iterator insert(iterator position, const T& value);

T& at(int i);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

20

class Deque

На основе списка.

Дополнительный набор методов:

void push_back(T &value);

void push_front(T &value);

void pop_back(void);

void pop_front(void);

T& back(void);

T& front(void);

void erase (iterator p);

iterator insert(iterator position, const T& value);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

21

class Stack

На основе списка.

Дополнительный набор методов:

void push(T &value);

void pop(void);

value_type& top();

void erase (iterator p);

iterator insert(iterator position, const T& value);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

22

class Stack

На основе динамического массива.

Дополнительный набор методов:

void push(T &value);

void pop(void);

value_type& top();

void erase (iterator p);

iterator insert(iterator position, const T& value);

T& at(int i);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

23

class Queue

На основе динамического массива.

Дополнительный набор методов:

void push_back(T &value);

void pop_front(void);

T& front(void);

void erase (iterator p);

iterator insert(iterator position, const T& value);

T& at(int i);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

24

class Queue

На основе списка.

Дополнительный набор методов:

void push_back(T &value);

void pop_front(void);

T& front(void);

void erase (iterator p);

iterator insert(iterator position, const T& value);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

25

class Map

На основе динамического массива.

Дополнительный набор методов:

struct pair - смотри сpp14.txt

T& operator[](const Key& x);

iterator find(const Key& x);

size_type count(const Key& x);

pair<iterator, bool> insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

26

class Map

На основе списка.

Дополнительный набор методов:

struct pair - смотри сpp14.txt

T& operator[](const Key& x);

iterator find(const Key& x);

size_type count(const Key& x);

pair<iterator, bool> insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

27

class MultiMap

На основе динамического массива.

Дополнительный набор методов:

struct pair - смотри сpp14.txt

iterator find(const Key& x);

iterator lower_bound(const Key& x);

iterator upper_bound(const Key& x);

size_type count(const Key& x);

pair<iterator, bool> insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

28

class MultiMap

На основе списка.

Дополнительный набор методов:

struct pair - смотри сpp14.txt

iterator find(const Key& x);

iterator lower_bound(const Key& x);

iterator upper_bound(const Key& x);

size_type count(const Key& x);

pair<iterator, bool> insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

void swap(контейнер& that);

контейнер& operator=(контейнер& that);

29

class Set

На основе списка.

Дополнительный набор методов:

iterator find(const Key& x);

size_type count(const Key& x);

iterator insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

bool operator==(контейнер& that);

bool operator!=(контейнер& that);

30

class Set

На основе динамического массива.

Дополнительный набор методов:

iterator find(const Key& x);

size_type count(const Key& x);

iterator insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

T& operator[](int i);

T& at(int i);

bool operator==(контейнер& that);

bool operator!=(контейнер& that);

31

class MultiSet

На основе динамического массива.

Дополнительный набор методов:

iterator find(const Key& x);

iterator lower_bound(const Key& x);

iterator upper_bound(const Key& x);

size_type count(const Key& x);

iterator insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

T& at(int i);

bool operator==(контейнер& that);

32

class MultiSet

На основе списка.

Дополнительный набор методов:

iterator find(const Key& x);

iterator lower_bound(const Key& x);

iterator upper_bound(const Key& x);

size_type count(const Key& x);

iterator insert(const value_type& x);

void erase(iterator position);

size_type erase(const Key& x);

bool operator==(контейнер& that);

Задание N 9

Программа должна содержать меню. Меню, помимо дополнительных пунктов, определяемых заданием, должно содержать пункты:

- открытие базы данных (БД)

- ввод новой записи

- корректировка записи,

- стирание записи

- выход.

При открытии БД должно запрашиваться имя файла с БД (при этом должен осуществляться контроль повторного открытия БД).

При выполнении пунктов меню должна быть проверка открытия БД.

БД представляет из себя обыкновенный текстовый файл. Каждая запись этого файла состоит из фиксированного числа слов с заранее определенным смысловым значением.

БД изначально закачивается в контейнер и уже с ним в дальнейшем ведется вся работа.

В контейнере должны храниться объекты, разработанные в задании 7.

Понятие "произвольный запрос" обозначает запрос на ввод некоторого фиксированного количества ключевых значений. Если при вводе значение

некоторого ключа (ключей) пропускается, то считается, что все записи

соответствуют этому ключу (ключам).

Должен быть предусмотрен постраничный вывод данных с возможностью

отказа от дальнейшего вывода.

Методические указания в приложениях 08. 09, 10.

1

БД - товары на складе магазина. Поля записей: название товара, название модели, название фрмы-изготовителя, цена, количество.

Дополнительные пункты меню:

- сводная таблица с колонками: название товара, название модели, название фирмы-изготовителя, цена, количество;

- сводная таблица для произвольного запроса; название товара, название модели, название фирмы-изготовителя;

- общая стоимость.

2

БД - данные о книгах в библиотеке. Поля записей: тематика,

ключевое слово1, ключевое слово2, ключевое слово3, ключевое слово4, название книги, автор, год издания, количество страниц.

Дополнительные пункты меню:

- ввод релевантности (процент совпадения ключевых слов запроса);

- печать данных по всем книгах;

- печать данных по книгам удовлетворяющих введенному произвольному

запросу по тематике и ключевым словам..

3

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

Дополнительные пункты меню:

- все расписание;

- перечень поездов, удовлетворяющих введенному произвольному

запросу (тип, пункт назначения, период времени).

4

БД - данные об основных средствах (ОС) предприятия. Поля записей:

название подразделения, инвентарный номер, название оборудования, год производства, первоначальная стоимость, процент амортизации за год, текущая стоимость, произвольное число примечаний.

Дополнительные пункты меню:

- печать ОС по данному подразделению;

- печать ОС с процентом износа больше заданного.

- начисление очередной годовой амортизации.

№ 5

БД - данные об обменных пунктах (ОП). Поля записей:

название банка, номер ОП, адрес, перечень валют с указанием курсов

покупки-продажи произвольной длины.

Дополнительные пункты меню:

- сведения по всем ОП;

- сведения об ОП по произвольному запросу (район, улица);

- адрес ОП по запросу (наивыгодный курс покупки или продажи для

выбранной валюты).

№ 6

БД - данные о пропусках занятий студентами. Поля записей:

ФИО студента, номер группы, произвольное количество данных (номер недели, количество пропущенных часов, количество оправданных часов).

Дополнительные пункты меню:

- сводная таблица по всем студентамы. Колонки таблица: группа, ФИО, кол. проп. часов, кол. оправд. часов, % часов пропущенных по неуважительным

причинам;

- печать таблицы для произвольного запроса.

№ 7

БД - сведения о студентах. Поля записей:

ФИО студента, номер группы, дата рождения, адрес, перечень результатов сдач экзаменов (номер семестра, название дисциплины, оценка).

Дополнительные пункты меню:

- печать сводной таблицы;

- печать таблицы по произвольному запросу.

№ 8

БД - рабочий учебный план кафедры. Поля записей:

название дисциплина, номер семестра, тип занятий, часы, вид контроля, список преподавателей (которые могут внсти даннй вид занятий) .

Дополнительные пункты меню:

- печать сводного рабочего плана;

- печать рабочего плана по произвольному запросу.

№ 9

БД - информационная система "Преподаватель". Поля записей:

ФИО преподавателя, должность, звание, стаж, зарплата, список нагрузки (семестр, название дисциплины, тип занятий, часы).

Дополнительные пункты меню:

- печать сводной таблицы;

- печать таблицы по произвольному запросу.

№ 10

БД - сведения о мастерских бытовых услуг. Поля записей:

название, район, адрес, телефон, список возможных услуг.

Дополнительные пункты меню:

- печать сводной таблицы;

- печать таблицы по произвольному запросу.

№ 11

БД - сведения об автомобилях в гараже. Поля записей:

регистрационный номер, марка, год производства, ФИО шофера, дата очередного ТО, история неисправностей.

Дополнительные пункты меню:

- печать сводной таблицы;

- печать таблицы товаров по произвольному запросу.

№ 12

БД - сведения об автомобилях в ГАИ. Поля записей:

регистрационный номер, марка, год производства, ФИО владельца, штрафная история произвольной длины.

Дополнительные пункты меню:

- печать данных о всех автомобилях;

- печать сведений по автомобилям по произвольному запросу.

№ 13

БД - сведения о недвижимости. Поля записей:

тип дома, район, адрес, количество комнат, стоимость, ФИО владельца, перечень примечаний произвольной длины.

Дополнительные пункты меню:

- печать сводной таблицы;

- сведения о недвижимости, удовлетворяющей произвольному запросу

тип дома, район, количество комнат, максимальная стоимость);

- печать всех данных по максимальной стоимости квартиры.

№ 14

БД - сведения о проведенных футбольных матчах.

Поля записей:

название первой команды, название второй команды, дата, количество забитых

мячей первой командой, количество забитых мячей второй командой, перечень штрафов первой команды, перечень штрафов второй команды.

Дополнительные пункты меню:

- печать сводной таблицы;

- печать таблицы по произвольному запросу;

- общий итог игр выбранной команды.

№ 15

БД - сведения о сотрудниках. Поля записей:

ФИО, год рождения, название подразделения, зарплата, должностная история

произвольной длины.

Дополнительные пункты меню:

- распечатка данных о всех сотрудниках;

- печать данных сотрудников по произвольному запросу.

№ 16

БД - данные об оплате электроэнергии. Поля записей:

ФИО клиента, адрес, льгота, список платежей (дата оплаты, показания счетчика, сумма).

Дополнительные пункты меню:

- печать сводной таблицы;

- печать данных произвольному запросу; ФИО, адрес, дата (если дата введена, то последний платеж с меньшей или равной датой);

- все проплаты по выбранному клиенту.

№ 17

БД - данные по детским игрушкам. Поля записей:

название игрушки, цена, наименьший возраст, наибольший возраст, список магазинов (район, адрес).

Дополнительные пункты меню:

- данные по всем игрушкам;

- данные об игрушках по произвольному запросу (название игрушки,

максимальная цена, возраст).

№ 18

БД - данные о собаках. Поля записей:

кличка, порода, дата рождения, ФИО хозяина, список дипломов (зверь, степень диплома, когда).

Дополнительные пункты меню:

- данные по всем собакам;

- данные по произаольному запросу.

№ 19

БД - данные рекламной газеты. Поля записей:

номер рубрики (название рубрики), текст, количество необходимых публикаций,

количество сделанных публикаций, перечень дат сделанных публикаций.

Дополнительные пункты меню:

- печать сводной таблицы, отсортированной по рубрикам;

- печать таблицы по выбранной рубрике;

- отметка публикации (уменьшение количества публикаций на 1).

№ 20

БД - данные о болезнях. Поля записей:

название болезни, перечень возрастов (молодой, средний, пожилой), перечень

симптомов (температура, кашель, головная боль, тошнота ...).

Дополнительные пункты меню:

- печать сводной таблтцы;

- поиск таблицы по произвольному запросу;

- печать симптомов выбранной болезни.

№ 21

БД - перечень блюд повара-диэтолога. Поля записей:

название блюда, номер (первое, второе, третье), калорийность, перечень

продуктов (мясо, лук, ...)

Дополнительные пункты меню:

- печать данных о всех блюдах;

- печать данных о блюдах по произвольному запросу.

№ 22

БД - заказы на доставку товаров на дом. Поля записей:

название товара, вес, количество единиц объема, дата, район, адрес, отметка о доставке.

Дополнительные пункты меню:

- печать данных о всех заказах;

- печать данных о заказах по произвольному запросу: название товара,

дата, район;

- формирование пакета груза для лоставки (с контролем по весу

и объему).

№ 23

БД - график отпусков сотрудников. Поля записей:

ФИО, название подразделения, должность, список отпусков (дата начала - дата окончания) произвольной длины.

Дополнительные пункты меню:

- печать сводной таблицы;

- печать таблицы по призвольному запросу (ФИО, отдел, специализация,).

№ 24

БД - записная книжка. Поля базы данных:

название, дата, время, признак выполнения.

Дополнительные пункты меню:

- печать записей по произвольному запросу: дата, время, признак выполнения;

- печать всех просроченных записей.

№ 25

БД - трудовые вакансии. Поля базы данных:

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

Дополнительные пункты меню:

- печать всех вакансий;

- печать вакансий по произвольному запросу.

№ 26

БД - справочник улмц. Поля базы данных:

название улицы, район, список номеров трамваев, список номеров троллейбусов, список номеров автобусов.

Дополнительные пункты меню:

- распечатка сводной таблицы;

- распечатка транспорта для выбранной улицы;

- распечатка всех улиц для выбранного транспорта.

№ 27

БД - справочник лекарств. Поля базы данных:

название лекарства, список болезней, список аптек (номер, район, улица, номер дома, телефон).

Дополнительные пункты меню:

- распечатка сводной таблицы;

- распечатка таблицы для произвольного запроса.

№ 28

БД - данные о телефонах. Поля базы данных:

номер телефона, ФИО, адрес, список примечаний.

Дополнительные пункты меню:

- распечатка сводной таблицы;

- распечатка данных по ФИО;

- распечатка данных по адресу.

№ 29

БД - театральный справочник. Поля базы данных:

название театра, район, адрес, список спектаклей (жанр, название, дата).

Дополнительные пункты меню:

- распечатка сводной таблицы;

- печать сведений по произвольному запросу: театр, жанр, дата.

№ 30

БД - сведения о загородной недвижимости. Поля базы данных:

район, нас. пункт, тип строения, площадь дома, площадь участка, цена.

Дополнительные пункты меню:

- распечатка сводной таблицы;

- печать всех предложений по произвольному запросу (в запросе

указывать мин. площади и макс. цену).