9. Определите класс Order
vector
. Класс Purchase
должен содержать поля name
, unit_price
и count
, характеризующие товар. Определите механизм считывания из файла и записи в файл объектов класса Order
. Определите механизм для вывода на экран объектов класса Order
. Создайте файл, содержащий по крайней мере десять объектов класса Order
, считайте его в контейнер vector
, отсортируйте по имени (клиента) и запишите обратно в файл. Создайте другой файл, содержащий по крайней мере десять объектов класса Order
, примерно треть из которых хранится в первом файле, считайте их в контейнер list
, отсортируйте по адресам (клиента) и запишите обратно в файл. Объедините два файла в третий файл, используя функцию std::merge
.10. Вычислите общее количество заказов в двух файлах из предыдущего упражнения. Значение отдельного объекта класса Purchase
unitprice*count
.11. Разработайте графический пользовательский интерфейс для ввода заказов из файла.
12. Разработайте графический пользовательский интерфейс для запроса файла заказов; например, “Найти все заказы от Joe
Hardware
” или “перечислить все заказы из файла Clothing
.” Подсказка: сначала разработайте обычный интерфейс и лишь потом на его основе начинайте разрабатывать графический.13. Напишите программу, “очищающую” текстовый файл для использования в программе, обрабатывающей запросы на поиск слов; иначе говоря, замените знаки пунктуации пробелами, переведите слова в нижний регистр, замените выражения
14. Напишите программу (используя результат предыдущего упражнения), отвечающую на следующие вопросы и выполняющую следующие задания: “Сколько раз слово
15. Разработайте графический пользовательский интерфейс из предыдущего упражнения.
Послесловие
Часть IV
Дополнительные темы
Глава 22
Идеалы и история
Когда кто-то говорит: “Мне нужен такой язык
программирования, которому достаточно
просто сказать, его я хочу”,
дайте ему леденец.
Алан Перлис (Alan Perlis)
В этой главе очень кратко и выборочно изложена история языков программирования и описаны идеалы, во имя которых они были разработаны. Эти идеалы и выражающие их языки программирования образуют основу профессионализма. Поскольку в настоящей книге используется язык С++, мы сосредоточили свое внимание именно на нем, а также на языках, появившихся под его влиянием. Цель этой главы — изложить основы и перспективы развития идей, представленных в книге. Описывая каждый из языков, мы рассказываем о его создателе или создателях: язык — это не просто абстрактное творение, но и конкретное решение, найденное людьми для стоявших перед ними проблем в определенный момент времени.
22.1. История, идеалы и профессионализм