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

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



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

Лекция 5. Подготовка к ООП Красс Александр СПбГУ ИТМО, 2008.
Лекция 15. Введение в ООП. Часть 6 Красс Александр СПбГУ ИТМО, 2008.
Лекция 9. Введение в ООП. Часть 2 Красс Александр СПбГУ ИТМО, 2008.
Лекция 10. Введение в ООП. Часть 3 Красс Александр СПбГУ ИТМО, 2008.
Лекция 11. Введение в ООП. Часть 4 Красс Александр СПбГУ ИТМО, 2008.
Лекция 12. Контрольная работа Красс Александр СПбГУ ИТМО, 2008.
Лекция 13. Введение в ООП. Часть 4 Красс Александр СПбГУ ИТМО, 2008.
Лекция 18. Повторение и введение в STL (часть 1) Красс Александр СПбГУ ИТМО, 2008.
Лекция 16. Введение в ООП. Часть 7 Красс Александр СПбГУ ИТМО, 2008.
Лекция 8. Введение в ООП. Часть 1 Красс Александр СПбГУ ИТМО, 2008.
Лекция 2. Фундаментальные типы данных и основные конструкции Красс Александр СПбГУ ИТМО, 2008.
Работа с файлами Сазонов Д.О. ПМиЭММ Часть 2. Тема занятия: Работа с файлами через потоки Для реализации файлового ввода/вывода, необходимо включить в.
Лекция 7. Структура языка С/С++. Операторы ветвления: условный оператор if. Полное ветвление. Неполное ветвление. Оператор множественного выбора switch.
Даная матрица Задача 1. Дана матрица X[0:n-1][0:m-1] и массив Y[0:k-1]. Написать программу, которая вычисляет массив Z, состоящий из элементов X, расположенных.
Лекция 3. Одномерные массивы, указатели и ссылки Красс Александр СПбГУ ИТМО, 2008.
Лекция 1. Введение Красс Александр СПбГУ ИТМО, 2008.
Лекция 31. Динамическая информация о типе Красс Александр СПбГУ ИТМО, 2009.
Лабораторная работа 7. Работа с динамической памятью, строками и файлами.
Лекция 22. Шаблоны (часть 2) Красс Александр СПбГУ ИТМО, 2008.
Транксрипт:

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

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

3 Вспомним прошлую лекцию

4 Ручное тестирование – каторга

5 Используем файлы для ввода ifstream if(input.txt); char str[20]; int i; if >> str >> i; cout << " i = " << i << endl; cout << " str = " << str << endl;

6 Используем файлы для вывода ifstream of("output.txt"); char str[] = "A string"; int i = 15; of << str << i;

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

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

9 Книжный склад struct Book { char *title; char *authors; // or // char **authors; char *publishingOffice; int shelf; int count; };

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

11 Теперь сегодняшняя лекция

12 Что будем сегодня делать? Подумаем как разбивать код на функции Посмотрим на работу книжного склада с точки зрения реального мира Поймём как это можно использовать с точки зрения ООП Увидим разницу между ООП и структурным программированием

13 Посмотрим на работу книжного склада с точки зрения реального мира

14 Какие нам нужны сущности для работы книжного склада? Какие операции они должны совершать?

15 Сущности Книга Карточка книги Заведующий складом

16 Классы Книга – Book Карточка книги – BookCard Заведующий складом – BookStorage

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