Разработка программы рисования замкнутых многоугольников на языке С++, с использованием библиотеки VCL
Содержание
Введение.
Разработка интерфейса приложения
Разработка алгоритма работы приложения, его реализация на языке С++
Заключение
Список литературы
Введение.
В записке приведено описание программы, разработанной в соответствии с заданием на курсовое проектирование по теме “Разработка программы рисования замкнутых многоугольников на языке С++, с использов
анием библиотеки VCL". Программа предназначена для рисования различных правильных многоугольников.
Разработка программы производилась в среде C++ Builder 6, т.к данная среда удобна для разработки, интерфейсы, создаваемые C++ Builder 6 наглядны и просты для использования.
Результаты тестирования подтверждают, что программа правильно выполняет все реализованные, в соответствии с заданием, функции.
Разработка интерфейса приложения
Под графическим интерфейсом пользователя (Graphical User Interface - GUI) подразумевается тип экранного представления, при котором пользователь может выбирать команды, запускать задачи и просматривать списки файлов, указывая на пиктограммы или пункты в списках меню, показанных на экране. Действия могут, как правило, выполняться с помощью мыши, либо нажатием клавиш на клавиатуре. Типичным примером графического интерфейса пользователя является Windows.
C++Builder предоставляет разработчику приложения широкие возможности быстрого и качественного проектирования графического интерфейса пользователя - различных окон, кнопок, меню и т.д.
Интерфейс программы разрабатывался в стиле простейшего графического редактора.
На панели инструментов расположатся элементы для работы непосредственно с холстом. Так, в результате, нескольких проб, собираем форму которая нас удовлетворяет.
Исследование классов библиотеки VCL, используемых в приложении.
Библиотека визуальных компонентов - VCL-библиотека (Visual Component Library) - является репозитарием компонентов, используемых для создания приложений с помощью C++ Builder. Компонентом называется объект, используемый для создания программы, - флажок, комбинированный список или рисунок. Эти компоненты выбираются с помощью щелчка левой кнопкой мыши и перемещаются в рабочую область. Компоненты VCL-библиотеки представляют собой код, который скомпилирован для выполнения определенных операций, что избавляет разработчика от необходимости всякий раз создавать его заново.
Все компоненты обладают свойствами, которыми можно управлять с помощью кода или пакета C++ Builder. Свойства компонента определяют способ его работы, внешний вид, набор функциональных возможностей и т.д.
Компоненты используемые для построения нашего интерфейса можно представить в виде следующего списка:
TForm - форма, окно, которое в большинстве случаев является пользовательским интерфейсом создаваемого приложения.
TMainMenu - не визуальный компонент, главное меню.
TOpenDialog - предназначен для создания окна диалога "Открыть файл".
TSaveDialog - предназначен для создания окна диалога "Сохранить файл".
TPanel - является контейнером для группирования органов управления.
TLabel - отображение текста, который не изменяется пользователем. Никакого оформления текста не предусмотрено, кроме цвета метки и текста.
TEdit - отображение, ввод и редактирование однострочных текстов.
TUpDown - кнопка-счетчик, в сочетании с компонентами TEdit и другими позволяющая вводить цифровую информацию.
TRadioGroup - комбинация группового окна GroupBox с набором радиокнопок RadioButton; служит специально для создания групп радиокнопок. Можно размещать в компоненте несколько радиокнопок, но никакие другие органы управления не разрешены.
TRadioButton - предлагают пользователю набор альтернатив, из которых выбирается одна. Набор реализуется требуемым количеством радиокнопок, размещенных в одном контейнере.
TImage - используется для отображения графики: пиктограмм, битовых матриц и метафайлов.
TStatusBar - представляет собой ряд панелей, отображающих полосу состояния в стиле Windows. Обычно эта полоса размещается внизу формы.
Разработка алгоритма работы приложения, его реализация на языке С++
Целью данной работы является разработка программы рисования замкнутых многоугольников с помощью объектно-ориентированного языка программирования, с использованием его графических функций и методов.
В разработанной программе реализованы следующие возможности:
помещение фигуры на холст (количество граней задается численно, положение на холсте - с помощью мыши);
вращение фигур на холсте (положение на холсте центра вращения указывается с помощью мыши, угол задается численно);
перемещение фигур на холсте с помощью;
очистку холста от фигур;
сохранение в файл коллекции фигур;
загрузка коллекции фигур из файла в двух вариантах: дополнение, или полная замена уже имеющейся на холсте коллекции (предусмотрена фильтрация файлов нужного типа в диалоге "Открытие файла").
Созданная программа в процессе деятельности может быть представлена рядом состояний, которые осуществляют те или иные действия. В программе можно выделить некоторое начальное и конечное состояние. Анализ системы следует начать с жизненного цикла: вначале работы программы пользователь создает или открывает (импортирует) коллекцию фигур, далее следует выбор одного из действий: создание, перемещение и поворот фигуры:
создание фигуры - пользователю необходимо сначала задать количество углов и размер, после чего произвести щелчок левой кнопкой мыши по холсту, в результате чего на указанном месте появится заданный многоугольник;
перемещение фигуры - пользователю необходимо просто навести курсор на фигуру, которую он хочет переместить и нажать левую кнопку мыши, после чего переместить курсор в нужную позицию и отпустить кнопку.
вращение фигуры - пользователю необходимо сначала задать угол поворота, после чего произвести щелчок левой кнопкой мыши по фигуре в месте, где пользователь хочет расположить центр вращения.
После выполнения одного, либо нескольких из вышеописанных действий пользователь может завершить работу, предварительно сохранив в файл коллекцию фигур.
Для реализации поставленных задач был написан класс Polygone, которым описываются все многоугольники на форме. Класс реализован следующим образом:
class Polygone {
friend ostream &operator<< (ostream &output, Polygone polygon);
friend istream &operator>> (istream &input, Polygone &polygon);
private:
int n;
double size;
TPoint center;
TPoint fulcrum;
int lenX,lenY;
double angle;
public:
Polygone ();
Polygone (int n, double size, TPoint center);
Polygone (int n, double size, TPoint center, TPoint fulcrum,
double angle);
int getAmtAngles ();
double getSize ();
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности