Лекция 6. Введение в ООП через практику. Часть 1 Красс Александр Alexander.Krass@gmail.com СПбГУ ИТМО, 2008.

Презентация:



Advertisements
Похожие презентации
Лекция 7. Введение в ООП через практику. Часть 2 Красс Александр СПбГУ ИТМО, 2008.
Advertisements

Лекция 5. Подготовка к ООП Красс Александр СПбГУ ИТМО, 2008.
Лекция 15. Введение в ООП. Часть 6 Красс Александр СПбГУ ИТМО, 2008.
Лекция 11. Введение в ООП. Часть 4 Красс Александр СПбГУ ИТМО, 2008.
Лекция 8. Введение в ООП. Часть 1 Красс Александр СПбГУ ИТМО, 2008.
Лекция 13. Введение в ООП. Часть 4 Красс Александр СПбГУ ИТМО, 2008.
Лекция 10. Введение в ООП. Часть 3 Красс Александр СПбГУ ИТМО, 2008.
Лекция 9. Введение в ООП. Часть 2 Красс Александр СПбГУ ИТМО, 2008.
Лекция 16. Введение в ООП. Часть 7 Красс Александр СПбГУ ИТМО, 2008.
Лекция 1. Введение Красс Александр СПбГУ ИТМО, 2008.
Лекция 2. Фундаментальные типы данных и основные конструкции Красс Александр СПбГУ ИТМО, 2008.
Лекция 18. Повторение и введение в STL (часть 1) Красс Александр СПбГУ ИТМО, 2008.
Лабораторная работа 4. Подпрограммы. Задание на лабораторную работу Написать программу, реализующую хранение информации, указанной в вариантах индивидуальных.
Лекция 12. Контрольная работа Красс Александр СПбГУ ИТМО, 2008.
Работа с файлами Сазонов Д.О. ПМиЭММ Часть 2. Тема занятия: Работа с файлами через потоки Для реализации файлового ввода/вывода, необходимо включить в.
Сложные структуры данных Связные списки. Структуры, ссылающиеся на себя struct node { int x; struct node *next; };
Лекция 22. Шаблоны (часть 2) Красс Александр СПбГУ ИТМО, 2008.
Лекция 21. Шаблоны (часть 1) Красс Александр СПбГУ ИТМО, 2008.
Лекция 31. Динамическая информация о типе Красс Александр СПбГУ ИТМО, 2009.
Защита от взлома Лекция 10Защита от взлома Лекция 10.
Транксрипт:

Лекция 6. Введение в ООП через практику. Часть 1 Красс Александр СПбГУ ИТМО, 2008

2 Будем делать прототип книжного склада

3 Книжный склад Для каждой книги нужно хранить: –название –список авторов –издательство –номер стеллажа –число экземпляров –цену за экземпляр.

4 Книжный склад Должны уметь находить все книги с указанным пользователем: –названием –одним из авторов –номером стеллажа хранения. Просматривать все известные данные о найденных книгах. Добавление новых наименований книг. Новые поступления существующих наименований.

5 Требования Как можно больше группировать последовательности связанных операторов в функции. Например, могут быть функции для поиска по названию книги, для добавления нового наименования и т.д.

6 Немного про области видимости const int maxBookNumber = 100; Book *books[maxBookNumber]; void main() { // Можем использовать здесь books, // т.к. переменная books объявлена в // глобальной области видимости }

7 Немного про области видимости int f() {} void main() { f(); g(); // Ошибка! Функции должны быть // объявлены до // их первого использования или // предоставлен их прототип. } void g() {}

8 Немного про области видимости int f() {} int g(); // Прототип функции g void main() { f(); g(); // Всё хорошо } void g() {}

9 Дополнительные требования для тех, кто быстро кодирует Отгрузка любого допустимого числа книг. Реализовать наиболее оптимальные на Ваш взгляд версии вышеописанных операций. Замечание. Нужно оптимизировать только поиск. Это достигается за счёт способа хранения книг и дополнительных затрат на добавление новых наименований.

10 Поехали!

11 Спасибо за внимание Вопросы?