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

Объектно-ориентированное программирование в C++

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Программа по организации заполнения массива объектов приложения из внешнего файла данных формата csv. Описание модуля Def.h, Plant.h и Main.cpp. Контрольный пример работы программы. Рассмотрение передачи неправильного имени файла в качестве параметра.
Краткое сожержание материала:

Размещено на

Содержание

  • Введение
  • 1. Обзор средств реализации курсового проекта
  • 2. Описание программного комплекса
    • 2.1 Структура программного комплекса
    • 2.2 Описание модуля Def.h
    • 2.3 Описание модуля Plant.h
    • 2.4 Описание модуля Main.cpp
  • 3. Описание работы программы по контрольному примеру
    • 3.1 Вызов программы без параметров
    • 3.2 Вызов программы только с именем файла в качестве параметра, командой `v`
    • 3.3 Вызов программы с командой `r`
    • 3.4 Передача неправильного имени файла в качестве параметра
  • Заключение
  • Список использованных источников
  • Приложение

Введение

Целью данной работы является научиться управлять массивами объектов посредством средств объектно-ориентированного программирования.

В ходе работы необходимо создать программный комплекс, по обработке заданного множества данных.

Множество данных представляет собой массив объектов, описание которых находиться в файле формата CSV. В данном варианте это массив, описывающий производственные предприятия города. Для каждой записи должны быть определены три поля данных:

- количество сотрудников (integer);

- название (string);

- занимаемая площадь в гектарах (real).

Во время выполнения приложение должно выполнять следующие действия:

- загрузка массива из текстовых файлов в формате CSV (данные, разделенные символом ";", причем одна строка задает один элемент массива);

- просмотр всех элементов массива (один элемент на одной строке);

- получение отчета по количеству числовых значений, находящихся в заданном диапазоне.

Условия и ограничения на выполнение задания:

- Использование объектно-ориентированного подхода при проектировании приложения обязательно.

- Все поля классов, описывающих элементы множества данных, - private (за исключением констант).

- Классы для элементов множества данных должны содержать конструкторы следующих видов: а) конструктор без параметров, очищающий переменные объекта класса; б) конструктор, инициализирующий все переменные класса, значениями, заданными в качестве параметра; в) конструктор приведения из строки символов (поля класса, разделенные символом ";");

- Исходный файл является корректным.

- Интерфейс разработанных классов продемонстрировать в форме консольного приложения.

- Выводить отчеты в виде таблицы (одна запись - одна строка таблицы).

1. Обзор средств реализации курсового проекта

Для разработки программы использован язык C++.

Язык возник в начале 1980-х годов, когда сотрудник фирмы Bell Laboratories Бьёрн Страуструп придумал ряд усовершенствований к языку С под собственные нужды. До начала официальной стандартизации язык развивался в основном силами Страуструпа в ответ на запросы программистского сообщества. В 1998 году был ратифицирован международный стандарт языка C++: ISO/IEC 14882:1998 "Standard for the C++ Programming Language"; после принятия технических исправлений к стандарту в 2003 году -- нынешняя версия этого стандарта -- ISO/IEC 14882:2003.

Ранние версии языка, известные под именем "C с классами", начали появляться с 1980 года. Идея создания нового языка берёт начало от опыта программирования Страуструпа для диссертации. Он обнаружил, что язык моделирования Simula имеет такие возможности, которые были бы очень полезны для разработки большого программного обеспечения, но работает слишком медленно. В то же время язык BCPL достаточно быстр, но слишком близок к языкам низкого уровня и не подходит для разработки большого программного обеспечения. Страуструп начал работать в Bell Labs над задачами теории очередей (в приложении к моделированию телефонных вызовов). Попытки применения существующих в то время языков моделирования оказались неэффективными. Вспоминая опыт своей диссертации, Страуструп решил дополнить язык C (преемник BCPL) возможностями, имеющимися в языке Симула. Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами. В результате, практические задачи моделирования оказались доступными для решения как с точки зрения времени разработки (благодаря использованию Симула-подобных классов) так и с точки зрения времени вычислений (благодаря быстродействию C). В начале в C были добавлены классы (с инкапсуляцией), производные классы, строгая проверка типов, inline-функции и аргументы по умолчанию.

Разрабатывая C с классами (позднее C++), Страуструп также написал программу cfront -- транслятор, перерабатывающий исходный код C с классами в исходный код простого C. Новый язык, неожиданно для автора, приобрёл большую популярность среди коллег и вскоре Страуструп уже не мог лично поддерживать его, отвечая на тысячи вопросов.

В 1983 году произошло переименование языка из C с классами в C++. Кроме того, в него были добавлены новые возможности, такие как виртуальные функции, перегрузка функций и операторов, ссылки, константы, пользовательский контроль над управлением свободной памятью, улучшенная проверка типов и новый стиль комментариев (//). Его первый коммерческий выпуск состоялся в октябре 1985 года. В 1985 году вышло также первое издание "Языка программирования C++", обеспечивающее первое описание этого языка, что было чрезвычайно важно из-за отсутствия официального стандарта. В 1989 году состоялся выход C++ версии 2.0. Его новые возможности включали множественное наследование, абстрактные классы, статические функции-члены, функции-константы и защищённые члены.

В 1990 году вышло "Комментированное справочное руководство по C++", положенное впоследствии в основу стандарта. Последние обновления включали шаблоны, исключения, пространства имён, новые способы приведения типов и булевский тип.

Стандартная библиотека C++ также развивалась вместе с ним. Первым добавлением к стандартной библиотеке C++ стали потоки ввода/вывода, обеспечивающие средства для замены традиционных функций C printf и scanf. Позднее самым значительным развитием стандартной библиотеки стало включение в неё Стандартной библиотеки шаблонов.

Никто не обладает правами на язык C++, он является свободным. Однако сам документ стандарта языка (за исключением черновиков) не доступен бесплатно.

В качестве инструмента для создания исполняемого файла используется среда разработки Borland C++ 3.1. Внешний вид данной оболочки представлен на рис. 1.

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

Notepad++, по сравнению со встроенным редактором среды Borland C++, имеет более широкие возможности по обеспечению удобства редактирования кода программ. Такие, например, как настраиваемая подсветка синтаксиса, подсветка парных скобок, режим автозавершения слов или имен функций, режим подсказки параметров стандартных функций и процедур, сворачивание блоков кода. Пример работы программы Notepad++ приведен на рис. 2.

Рисунок 1 - Внешний вид оболочки Borland C++ 3.1

Рисунок 2 - Пример работы программы Notepad++

массив модуль программа файл

Программа в готовом к применению (откомпилированном) виде представляет собой исполняемый файл plant.exe.

2. Описание программного комплекса

2.1 Структура программного комплекса

Программный комплекс состоит из 3-х программных файлов:

Def.h- описание макроконстант программы

Plant.h- описание базового класса Plant, используемого для организации и управления массивом данных.

Main.cpp- главный программный модуль, содержащий описание глобальных переменных и реализацию основной исполняемой в C++ функции main.

2.2 Описание модуля Def.h

В данном модуле содержится определение глобальных макроконстант приложения:

MAX_NAME - максимальная длина названия предприятия, установлена размером в 30 символов

MAX_PLANT - наибольшее доступное количество элементов в массиве установлено в 100 элементов.

LINES_TO_PRINT - количество записей отображаемых на странице вывода информационного отчета программы, установлено в 10 строк данных на одну страницу.

2.3 Описание модуля Plant.h

Модуль программы Plant.h содержит описание базового класса Plant.

В состав класса входят 3 private свойства:

int WorkCnt;- к-во рабочих на предприятии

char *pName;- указатель на строку с наименованием предприятия

double pArea;- занимаемая площадь

три конструктора класса:

plant();- конструктор без параметров

plant(int, const char*, double);- конструктор с па...

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

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

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

Язык программирования C++
Почему C++. Возникновение и эволюция языка C++. Сравнение языков С++ и С. Эффективность и структура. Процедурное программирование. Модульное программи...

Объектно-ориентированное мышление
Объектно-ориентированное программирование - это фундамент современных языков программирования, включая C++, Java, C#, Visual Basic, .NET, Ruby и Objec...

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