Читайте также:
|
|
Завдання: Створити програму, яка б здійснювала обрахунки площі трикутника за вказаними трьома координатами вершин. Реалізувати програму з використанням трьох форм:
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 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ОТРИМАННЯ ПЕРЕДАНИХ ДАНИХ У ДОЧІРНІЙ ФОРМІ | | | Как христиане относятся к гомосексуализму? |