Курсовая работа (т): Розробка програм мовою С++ з використанням технології об’єктно-орієнтованого програмування

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Системні вимоги для роботи програми:

1.     Процесор: Intel Core i3 2.2 GHz;

2.      Мінімальний об’єм оперативної пам'яті: 128 МБ;

.        Мінімальний об’єм відео пам’яті: 64 МБ

.        Пристрій введення (мишка, клавіатура);

.        Пристрій виведення (монітор);

.        Операційна система WINDOWSXP\7\VISTA\8\8.1 .

.        Необхідне програмне забезпечення Microsoft Visual Studio.

Робота програми розпочинається з відкриття файлу Курсова.exe.

Відкривається пусте вікно, (рисунок 5).

Для початку роботи програми виконайте команду: «Запустити програму»

Після виконання даної команди на дисплей виведуться наші графічні об’єкти, а саме трикутники.

Для зміни координат фігур, треба скористатися командою: «Відкрити файл з даними». У файлі можна змінювати координати вершин трикутників, за бажанням можна додати трикутники .

Для виходу із програми виконати команду : “Вихід”.

ВИСНОВКИ


Під час виконання курсової роботи я навчився застосовувати ООП для написання програм. Дослідив основна методи об’єктно-орієнтованого програмування. Навчився створювати алгоритми по математичних формулах. Застосовувати ієрархію класів. Здобув знання по роботі з середовищем програмування Microsoft Visual Studio 2010 . Здобув неоціненний досвід роботи і використав на практиці знання здобуті на даній дисципліні.

ПЕРЕЛІК ПОСИЛАНЬ


1.      Гради Буч, Роберт А. Максимчук, Майкл У. Энгл, Бобби Дж. Янг, Джим Коналлен, Келли А. Хьюстон. Объектно-ориентированный анализ и проектирование с примерами приложений. М.: Вильямс, 2008.- 720с. Лафоре Р. Объектно-ориентированное программирование на C++ / Р. Лафоре. - Москва: 2005. - 568с.

.        Armstrong, «The Quarks of Object-Oriented Development.» In descending order of popularity, the «quarks» are: Inheritance, Object, Class, Encapsulation, Method, Message Passing, Polymorphism, Abstraction Баддю Т. Об’єктно-орієнтоване програмування у дії / Т. Баддю. -Київ: 2006. - 384с.

.        Прат С. Лекції та вправи / С. Прат. -Харків: 2003. - 476с.

.        Алан Кэй The Early History of Smalltalk. - Apple Computer, ACM SIGPLAN Notices, vol.28, №3, March 1993..

.        C++ - Wikipedia, thefreeencyclopedia [Електронний ресурс]. // - C++:http://uk.wikipedia.org/wiki/C%2B%2B,вільний, - Загол. з екрану.

ДОДАТКИ

Додаток А


#pragma once

#include "Triangle.h"kursova {namespace System;namespace System::ComponentModel;namespace System::Collections;namespace System::Windows::Forms;namespace System::Data;namespace System::Drawing;

/// <summary>

/// Сводка для Form1

/// </summary>ref class Form1 : public System::Windows::Forms::Form

{:(void)

{();

//

//TODO: добавьте код конструктора

//

}:

/// <summary>

/// Освободить все используемые ресурсы.

/// </summary>

~Form1()

{(components)

{components;

}

}: System::Windows::Forms::MenuStrip^ menuStrip1;:: System::Windows::Forms::ToolStripMenuItem^ файлToolStripMenuItem;: System::Windows::Forms::ToolStripMenuItem^ відкритиФайлЗДанимиToolStripMenuItem;: System::Windows::Forms::ToolStripMenuItem^ запуститиПрограмуToolStripMenuItem;: System::Windows::Forms::ToolStripMenuItem^ вийтиToolStripMenuItem;: System::Windows::Forms::ToolStripMenuItem^ проПрограмуToolStripMenuItem;

#pragma region Windows Form Designer generated codeInitializeComponent(void)

{

// налаштування компонентів програми

}

#pragma endregion: System::Void запуститиПрограмуToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)

{trngl; //Створення об'єкта класа Triangle.set(); //виклик функції отримання даних.searchS(); //виклик функції пошуку площ.Draw(); //виклик функції малювання трикутників.Free(); //вивільнення пам'яті

}: System::Void вийтиToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)

{>Close();

}: System::Void відкритиФайлЗДанимиToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)

{("notepad Координати.txt");

}

}

Додаток Б


#pragma once

#include "Form1.h"

#include <math.h>namespace kursova;class Triangle

{:(void);*x1,*x2,*x3,*y1,*y2,*y3*S,*P,Sc;*a,*c,*b,color;i;j,x,y,k,l;* Dani;set()

{=0;= fopen ("Координати.txt", "r"); //зчитуємо дані з файлу(EOF(Dani)!=true)

{= (int*)realloc (x1,i+1); //динамічно створюємо масив= (int*)realloc (x2,i+1);= (int*)realloc (x3,i+1);= (int*)realloc (y1,i+1);= (int*)realloc (y2,i+1);= (int*)realloc (y3,i+1);= (int*)realloc (c,i+1);= (int*)realloc (a,i+1);(Dani, "%12d %16d %21d %25d %30d %34d %40d %44d %c", &x1[i], &x2[i], &x3[i], &y1[i], &y2[i],&y3[i],&c[i],&a[i],); //записуємо дані в масив++;

}

};searchS()

{(j=0;j<i,j++)

{=x3[j]-x1[j]; //шукаємо координати сторони b=y3[j]-y1[j];[j]=Sqrt(x*x+y*y); //шукаэмо довжину сторони b[j]=((a[j]+b[j]+c[j])/2); // шукаєм периметр[j]=Sqrt(P[j]*(P[j]-a[j])*(P[j]-b[j])*(P[j]-c[j])); //шукаєм площу=Sc+S[j]; //шукаєм середню площу фігур

}=Sc/i; //шукаєм середню площу фігур= (int*)realloc (S,i+1);[i]=Sc;(k=0;k<-1-,k++)(j=0;j<i,j++) //сортуємо площі

{(S[j]>S[j+1]

{(S[j],S[j+1]);

}

}(j=0;j<i+1,j++) //шукаєм найближчу площу до середньої

{(S[j]=Sc)

{(Sc-S[j-1]>S[j+1]-Sc)

{=j+1; //запамятовуємо номер найближчої площі

}

{=j-1; //запамятовуємо номер найближчої площі

}

}

};draw()

{F1=gcnew Form1();(j=0;j<i,j++)

{(j=color)

{(k=0;k<3;k++)

{->lineShape[k]->BorderColor="MenuHighlight"; //міняєм колір найближчого трикутника на блакитний і малюєм його лінії->lineShape[k]->X1 = x1[j];->lineShape[k]->X2 = x2[j];->lineShape[k]->Y1 = y1[j];->lineShape[k]->Y2 = y2[j];=k;

}

}

{(k=l;k<l+3;k++)

{->lineShape[k]->BorderColor="ControlText"; //міняєм колір звичайних трикутників на чорний і малюєм їх лінії->lineShape[k]->X1 = x1[j];->lineShape[k]->X2 = x2[j];->lineShape[k]->Y1 = y1[j];->lineShape[k]->Y2 = y2[j];=k;

}

}

}

};

};

Источник: https://www.bibliofond.ru/detail.aspx?id=870217