|
Программирование >> Структурное программирование
5.48. (Программа преобразования метрической системы мер) Напишите программу, которая будет помогать пользователю преобразовывать метрическую систему мер. Ваша программа должна позволять пользователю указывать названия единиц измерения в виде строк (например, сантиметры, литры, граммы и т.д. для метрической системы и дюймы, кварты, фунты и т.д. для английской системы мер) и должна отвечать на такие простые вопросы, как Сколько дюймов в 2 метрах? Сколько литров в 10 квартах? Ваша программа должна распознавать неправильные преобразования. Например, вопрос Сколько футов в 5 килограммах? бессмысленен, поскольку фут - это мера длины, тогда как килограмм - мера веса. Головоломный проект работы со строками 5.49. (Генератор кроссвордов) Большинство людей имело дело с кроссвордами, но немногие пытались когда-либо придумывать их сами. Генерация кроссвордов - сложная проблема. Она предлагается здесь в виде проекта по работе со строками, требующего существенной изощренности и усилий. Существует много спорных вопросов, которые программист должен разрешить, чтобы получить работающую программу генерации даже простейших кроссвордов. Например, как представить сетку кроссворда в компьютере. Использовать последовательность строк, или двумерный массив? Программисту нужен источник слов (т.е. компьютерный словарь), который можно было бы вызывать непосредственно из программы. В какой форме хранить слова, чтобы облегчить требуемые программой сложные манипуляции со строками? По настоящему честолюбивый читатель захочет генерировать и ту часть головоломки, в которой печатаются краткие подсказки для горизонтальных и вертикальных слов. Даже просто печать незаполненного варианта кроссворда сама по себе не простая проблема. глава Классы и абстрагирование данных Цели Понять принципы инкапсуляции и скрытия данных при разрабоке программного обеспечения. Понять идеи абстракции данных и абстрактных типов данных (АТД). Научиться создавать АТД С++, а именно, классы. Понять, как создаются, используются и разрушаются объекты классов. Научиться управлять доступом к данным-элементам и функциям-элементам. Начать ценить значение объектной ориентации. Резюме Терминология Типичные ошибки программировани Хороший стиль программирования Советы по повышению эффективности Замечания по технике программирования Упражнения для самопроверки Ответы на упражнения для самопроверки Упражнения 6.1. Введение Теперь мы начнем знакомиться с объектной ориентацией в С++. Почему мы отложили объектно-ориентированное программирование (ООП) на С++ до главы 6? Дело в том, что объекты, которые мы будем строить, будут составлены частично из структурированных фрагментов программ, так что сначала нам нужно было определить основы структурного программирования. План 6.1. Введение 6.2. Определения структур 6.3. Доступ к элементам структуры 6.4. Использование определенного пользователем типа Time с помощью Struct 6.5. Использование абстрактного типа данных Time с помощью класса 6.6. Область действия класс и доступ к элементам класса 6.7. Отделение интерфейса от реализации 6.8. Управление доступом к элементам 6.9. Функции доступа и обслуживающие функции-утилиты 6.10. Инициализация объектов класса: конструкторы 6.11. Использование конструкторов с аргументами по умолчанию 6.12. Использование деструкторов 6.13. Когда вызываются конструкторы и деструкторы 6.14. Использование данных-элементов и функций-элементов 6.15. Тонкий момент: возвращение ссылки на закрытые данные-элементы 6.16. Присваивание побитовым копированием по умолчанию 6.17. Повторное использование программного обеспечения 6.18. Размышления об объектах: программирование классов для моделирования лифта.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |