Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Приклад

Читайте также:
  1. Боротьба міст за незалежність (на прикладах Італії, Франції, Німеччини).
  2. В прикладном разделе
  3. Военно-прикладное многоборье
  4. Глава 2. Несколько слов о прикладниках очищения
  5. Глава 4. Прикладная наука
  6. Демон прикладывает все усилия, чтобы истребить мир в нашем сердце, ибо знает, что Бог пребывает в мире и в мире совершает великие дела».
  7. Допомога при навчанні гімнастичним вправам.Види допомоги та їх значення. Надати приклади

 

Завдання: Створити програму, яка б здійснювала обрахунки площі трикутника за вказаними трьома координатами вершин. Реалізувати програму з використанням трьох форм:

1. Ввід даних та отримання результату обрахунків;

2. Дублювання введених значень та виведення результату відшукання відстані між двома точками;

3. Відшукання відстані між двома вказаними точками;

 

Хід виконання:

1. Створюємо новий проект.

2. До Form1 додаємо 5 міток (label), 7 текстових полів (textBox) та 1 кнопку (Button):

3. Створюємо нову панель Form2.

4. Запрограмовуємо кнопку Button1, що розташована на Form1:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

double a1,a2,b1,b2,c1,c2;

a1=System::Convert::ToDouble(textBox1->Text);// переведення введеного числа у тип Double і запис у змінну;

a2=System::Convert::ToDouble(textBox2->Text);

b1=System::Convert::ToDouble(textBox3->Text);

b2=System::Convert::ToDouble(textBox4->Text);

c1=System::Convert::ToDouble(textBox5->Text);

c2=System::Convert::ToDouble(textBox6->Text);

 

Form2^ f2=gcnew Form2; // виклик другої форми;

f2->x1=a1; // присвоєння глобальній змінній введене значення;

f2->x2=a2;

f2->y1=b1;

f2->y2=b2;

f2->z1=c1;

f2->z2=c2;

 

f2->ShowDialog();// запуск форми;

}

5. На початку файлу Form1.h підключаємо Form2:

#include "Form2.h";

6. Переходимо до Form2 і додаємо 6 міток (label), 15 текстових полів (textBox) та 4 кнопки (Button):

7. Створюємо нову панель Form3.

8. На початку файлу Form2.h підключаємо Form3:

#include "Form3.h";

9. Описуємо глобальні змінні:

public: double x1,x2,y1,y2,z1,z2; //оголошення глобальних змінних;

10. Викликаємо шаблон Form2_Load за допомогою якого дублюємо значення координат вершин:

//координати вершини х1;

this->textBox1->Text = x1.ToString();

this->textBox2->Text = x2.ToString();

//координати вершини х2;

this->textBox3->Text = y1.ToString();

this->textBox4->Text = y2.ToString();

//координати вершини х1;

this->textBox6->Text = x1.ToString();

this->textBox7->Text = x2.ToString();

//координати вершини х3;

this->textBox8->Text = z1.ToString();

this->textBox9->Text = z2.ToString();

//координати вершини х2;

this->textBox11->Text = y1.ToString();

this->textBox12->Text = y2.ToString();

//координати вершини х3;

this->textBox13->Text = z1.ToString();

this->textBox14->Text = z2.ToString();

 

11. Запрограмовуємо кнопку Button1 для запуску наступної форми для обрахунку відстані між заданими двома координатами:

double t1,t2,t3,t4,b;

t1=System::Convert::ToDouble(textBox1->Text);

t2=System::Convert::ToDouble(textBox2->Text);

 

t3=System::Convert::ToDouble(textBox3->Text);

t4=System::Convert::ToDouble(textBox4->Text);

 

Form3^ f3=gcnew Form3;

 

f3->f31=t1;

f3->f32=t2;

f3->f33=t3;

f3->f34=t4;

 

f3->ShowDialog();

Аналогічно програмуються інші дві кнопки Button2 та Button3.

 

12. Далі обчислюємо відстані.

 

Для цього переходимо до файлу Form3.h [Design] здійснюємо подвійне клацання і викликаємо шаблон Form3_Load куди записуємо наступне:

public: double f31,f32,f33,f34,fv; // оголошення глобальних змінних;

private: System::Void Form3_Load(System::Object^ sender, System::EventArgs^ e) {

this->textBox1->Text = f31.ToString();// координати першої вершини;

this->textBox2->Text = f32.ToString();// координати першої вершини;

 

this->textBox3->Text = f33.ToString();// координати другої вершини;

this->textBox4->Text = f34.ToString();// координати другої вершини;

 

fv=sqrt((f31-f33)*(f31-f33) + (f32-f34)*(f32-f34)); //знаходження відстані;

this->textBox5->Text = fv.ToString();//виведення результату;

}

 

13. Оголошуємо вказівник *а і програмуємо кнопку:

public: double f31,f32,f33,f34,fv,*a;

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

 

*a=fv;// вказівнику присвоюється значення щойно порахованої відстані

this-> Close();

}

14. Переходимо до файлу Form2.h де оголошуємо нові глобальні змінні типу Double:

public: double b1,b2,b3,*v1,*v2,*v3;

 

15. До процедури button1_Click дописуємо нові рядки. Код повинен мати наступний вигляд:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

double t1,t2,t3,t4,b;

t1=System::Convert::ToDouble(textBox1->Text);

t2=System::Convert::ToDouble(textBox2->Text);

 

t3=System::Convert::ToDouble(textBox3->Text);

t4=System::Convert::ToDouble(textBox4->Text);

 

Form3^ f3=gcnew Form3;

 

f3->f31=t1;

f3->f32=t2;

f3->f33=t3;

f3->f34=t4;

f3->a=&b;//індекс вказівника щойно порахованої відстані

 

f3->ShowDialog();

this->textBox5->Text=b.ToString();

b1=b; //переприсвоєння розрахунків, для легкості у виведенні

}

 

16. Для процедури button2_Click додаємо наступні рядки:

f3->a=&b;

this->textBox10->Text=b.ToString();

b2=b;

17. Для button3_Click:

f3->a=&b;

this->textBox15->Text=b.ToString();

b3=b;

 

18. Запрограмовуємо кнопку «Вихід»:

private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) {

 

*v1=b1; //вказівнику присвоюється значення порахованої відстані між першими двома точками;

*v2=b2;

*v3=b3;

this->Close();//закриття форми;

}

 

19. Останнім кроком,перед запуском програми є поправка коду файлу Form1.h:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

double a1,a2,b1,b2,c1,c2,k1,k2,k3,p,s; // додаємо нові змінні

 

a1=System::Convert::ToDouble(textBox1->Text);

a2=System::Convert::ToDouble(textBox2->Text);

b1=System::Convert::ToDouble(textBox3->Text);

b2=System::Convert::ToDouble(textBox4->Text);

c1=System::Convert::ToDouble(textBox5->Text);

c2=System::Convert::ToDouble(textBox6->Text);

 

Form2^ f2=gcnew Form2;

f2->x1=a1;

f2->x2=a2;

f2->y1=b1;

f2->y2=b2;

f2->z1=c1;

f2->z2=c2;

 

f2->v1=&k1;//змінній k1 надаємо значення відстані між першими двома точками

f2->v2=&k2;

f2->v3=&k3;

f2->ShowDialog();// запуск форми

 

p=(k1+k2+k3)/2; // відшукання півпериметра;

s=sqrt(p*(p-k1)*(p-k2)*(p-k3));// знаходження площі;

this->textBox7->Text=s.ToString(); // виведення значення;

}

 


Дата добавления: 2015-08-21; просмотров: 86 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
ОТРИМАННЯ ПЕРЕДАНИХ ДАНИХ У ДОЧІРНІЙ ФОРМІ| Как христиане относятся к гомосексуализму?

mybiblioteka.su - 2015-2024 год. (0.014 сек.)