Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Объектно-ориентированное программирование на языке С++

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Создание программы для обработки информации об объектах предметной области "Бытовая техника" в среде визуального программирования C++. Иерархия родственных классов. Описание логической структуры программы. Реализация файлового ввода/вывода данных.
Краткое сожержание материала:

Размещено на

1

Институт Информационных технологий

Кафедра Математическое и программное обеспечение ЭВМ

КУРСОВАЯ РАБОТА

по дисциплине Объектно-ориентированное программирование

на тему "Объектно-ориентированное программирование на языке С++"

Выполнил

студент группы 1ИС 310

Шидловская Валерия Игоревна

Череповец, 2014

Оглавление

  • Введение
    • 1. Общие сведения
    • 2. Функциональное назначение
    • 3. Объектно-ориентированный анализ предметной области
    • 4. Описание логической структуры программы
    • 5. Используемые технические средства
    • 6. Вызов и загрузка
    • 7. Входные данные
    • 8. Выходные данные
    • 9. Тестирование программы
  • Заключение
  • Список используемой литературы
  • Приложения

Введение

Данный программный продукт предназначен для обработки предметной области "Бытовая техника". В ходе разработки были использованы принципы и возможности объектно-ориентированного программирования. При его разработке была создана иерархия родственных классов предметной области, реализована работа виртуальных и чисто виртуальных функций, а также класс интерфейс.

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

1. Общие сведения

Программа предназначена для обработки информации об объектах предметной области "Бытовая техника".

В программе использовались следующие концепции ООП:

· механизм наследования;

· принцип инкапсуляции;

· перегрузка операторов.

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

Разработка программного продукта была произведена с использованием средств языка С++ в среде визуального программирования C++ Builder 6.0 в операционной системе Windows 7.

2. Функциональное назначение

Программа предназначена для обработки данных, относящихся к предметной области "Бытовая техника" и выполняет следующие возможности:

- ввод данных с клавиатуры;

- сохранение данных в файл;

- загрузка данных из файла;

- просмотр данных об объектах выбранного класса;

- сортировка данных по полю "Цена"(по возрастанию/убыванию);

- сравнение объектов класса по полю "Цена";

- копирование данных;

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

3. Объектно-ориентированный анализ предметной области

Для описания предметной области разработана следующая иерархия классов (рис.1):

Рис. 1. Иерархия родственных классов

Класс-интерфейс (абстрактный базовый класс) содержит объявление чисто виртуальных функций (или отложенных методов). В данном случае, это функция печати print(). Объявляется такая функция в открытой части класса.

Производный от АБК класс - базовый класс Бытовая техника - содержит общие характеристики элементов бытовой техники, такие как название, мощность, цена.

Эти поля размещены в защищенном блоке protected для того, чтобы быть доступными для всех классов-потомков. Доступ к полям базового класса осуществляется с помощью методов, объявленных в блоке public. В базовом классе реализованы: конструктор по умолчанию, с параметрами и копирующий конструктор, функция вывода данных на экран.

Классы Замораживающая техника, Пылесосы, Микроволновые печи являются производными для БК. Механизм наследования - одиночный. Каждый производный класс содержит элементы родительского класса и при этом включает собственные, присущие только ему характеристики.

Класс Замораживающая техника содержит 2 числовые характеристики - "Максим. температура" и "Количество камер" и в свою очередь имеет 2 производных класса со своими характеристиками:

-Морозильные камеры ("Расположение");

-Холодильники ("Схема компоновки");

Класс Пылесосы имеет числовые характеристики "Объём пылесборника", "Мощность всасывания", "Количество насадок" и не имеет производных классов.

Класс Микроволновые печи (СВЧ) содержит одну строковую характеристику - "Тип".

В программе создаются объекты классов Морозильные камеры, Холодильники, Пылесосы, Микроволновые печи. Внутри этих классов содержатся функции файлового ввода / вывода, перегруженные операторы присваивания, сравнения, а виртуальная функция вывода описана в соответствии с компонентными данными каждого класса.

4. Описание логической структуры программы

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

Для создания иерархии родственных типов используется механизм одиночного наследования. Количество уровней в иерархии - 4.

В программе предусмотрены следующие компонентные функции:

· load - загрузка из файла, при этом необходимо передать в качестве формального параметра файл - источник, таблица для вывода, номер строки;

· save - сохранение в файл, в качестве формального параметра указывается файл - приемник;

· clear - очищает файл перед записью;

· operator = - перегруженный оператор присваивания, используется для присвоения объектов;

· оperator == - перегруженный оператор сравнения[1];

Добавление записей производится вручную с клавиатуры или при загрузке из файла. Выбрав нужный класс и заполнив все поля, нажимаем "Добавить". Данные заносятся в соответствующую таблицу. При нажатии на кнопку "Сохранить" данные перезаписываются в файл.

При нажатии на кнопку "Загрузить" в таблицу заносятся данные в соответствии с выбранным классом, которые ранее были сохранены в файл.

При нажатии на кнопку "Сортировать" производится сортировка по возрастанию / убыванию по полю "Цена".

Кнопка "Сравнить" позволяет сравнить выведенные в таблицу объекты по "Цене" с заданными номерами.

При вызове функции print вызываются виртуальная функция print из класса interf. Так как данная функция - виртуальная, то работает механизм замещения, поэтому виртуальная функция замещается соответствующей функцией для производного класса.

Обработка исключительных ситуаций выполняется при добавлении информации в таблицы: осуществляется проверка на соответствие типов данных введенной информации и проверка на ввод пустого значения. Также в поля, где предусмотрен ввод чисел, невозможен ввод букв. При возникновении ошибки появляется соответствующее информационное сообщение[2].

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

Системные средства:

1) операционные системы:

· Windows XP;

· Windows 7;

· Windows 8.

2) аппаратные средства:

· клавиатура;

· мышь;

· монитор.

6. Вызов и загрузка

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

7. Входные данные

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

Таблица 1.

Морозильные камеры.

Входные данные

Тип данных

Название

String

Мощность

Integer

Цена

Integer

Максим. Те...

Другие файлы:

Введение в объектно-ориентированное программирование
Объектно-ориентированное программирование как методология программирования, опирающаяся на инкапсуляции, полиморфизме и наследовании. Общая форма клас...

Объектно-ориентированное программирование: Язык Smalltalk. Учебное пособие для вузов
В учебном пособии обсуждаются базовые понятия объектной идеологии, их реализация и применение в языке Основу книги составили материалы курсов, читавши...

Объектно-ориентированное программирование на языке С++
Приемы и правила объектно-ориентированного программирования с использованием языка С++. Общие принципы разработки объектно-ориентированных программ. О...

Программирование на языке C++. Самоучитель
Эта книга – самоучитель и практическое руководство по объектно-ориентированному программированию на языке C++. В ней на профессиональном уровне изло...

Объектно-ориентированное программирование
Разработка программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С средствами Microsoft Visual Stud...