ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.01.2024
Просмотров: 144
Скачиваний: 8
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Московский Технический Университет Связи и Информатики
Кафедра информатики
Лабораторная работа №1
по теме:
«Интегрированная среда разработки Visual Studio .NET, и основные понятия – Вычисление периметра и площади треугольника»
Выполнила:
Троицкая Екатерина Ивановна
Группа: ЗБИК2051
Лектор к.т.н., доц.:
Саркисова Ирина Олеговна
Москва 2021
Общее задание
Создать Приложение Windows Forms на C++ с именем Проект-ЛР1-1, которое должно вычислять периметр и площадь треугольника по заданным значениям координат трех его вершин.
Проект-ЛР1-1должен иметь простой интерфейс пользователя:
-
две Кнопки управления;
-
шесть текстовых полейдляотображениия входных данных;
-
два текстовых поля, отображающие выходные данные;
-
поясняющие тексовые надписи.
Формализация и уточнение задания
Задано: x1, y1; x2, y2; x3, y3 – значения координат вершин
треугольника;
Требуется определить: Р – периметр треугольника p=A+B+C;
S – площадь треугольника
S =
где: A,B,C – длины сторон треугольника (расстояния между заданными точками вершин треугольника), определяются по формулам
A= ;
B= ;
C= .
Рр = Р/2 – полупериметр;
Создание блок-схемы
1)Вычисление длины стороны. 2)Вычисление периметра.
3)Вычисление площади. 4)Алгоритм программы.
Разработка приложения
-
Создание нового проекта
1) Запустить VS.
2) Выполнить команду Создать проект.... На экране появится диалоговое окно Создание проекта.
3) Выбрать шаблон CLR Приложения Windows Form и в диалоговом окне Создание проекта ввести в текстовом поле Имя (нижней части диалогового окна Создание проекта) имя проекта Проект-ЛР1-1 и указать местоположение файла проекта.-
Щелкнуть на кнопке ОКдиалогового окна Создание проекта.
-
Разработка графического интерфейса пользователя
-
Таблица используемых объектов
Тип объекта | Класс объекта | Свойство | Значение свойства |
Форма | Form | Name | Form1 |
Text | Лабораторная работа 1. Вычисление периметра и площади треугольника | ||
BackColor | Dark Green | ||
Текстовое поле | TextBox | Name | TBx1 |
Текстовое поле | TextBox | Name | TBx2 |
Текстовое поле | TextBox | Name | TBx3 |
Текстовое поле | TextBox | Name | TBy1 |
Текстовое поле | TextBox | Name | TBy2 |
Текстовое поле | TextBox | Name | TBy3 |
Текстовое поле | TextBox | Name | TBp |
Enabled | False | ||
Текстовое поле | TextBox | Name | TBs |
Enabled | False | ||
Кнопка | Button | Text | Вычислить |
Кнопка | Button | Text | Завершить |
-
Написание программного кода
Текст заголовочного файла Header.h в котором прописана математическая библиотека и прототипы функций.
//Заголовочный файл Header.h
#pragma once
#include
double pl(double x1, double y1, double x2, double y2, double x3, double y3);
double pr(double x1, double y1, double x2, double y2, double x3, double y3);
Текст файла calc.cpp с функциями формул для вычисления длины стороны, площади периметра треугольника.
//Файл resh.cpp
#include "Header.h"
double LenS(double xA, double yA, double xB, double yB)
{
return sqrt((xA - xB)*(xA - xB) + (yA - yB)*(yA - yB));
}
double CalcP(double a, double b, double c)
{
return a + b + c;
}
double CalcS(double a, double b, double c)
{
double ph = CalcP(a, b, c) / 2;
return sqrt(ph*(ph - a)*(ph - b)*(ph - c));
}
double pl(double x1, double y1, double x2, double y2, double x3, double y3)
{
double a, b, c, s;
a = LenS(x1, y1, x2, y2);
b = LenS(x2, y2, x3, y3);
c = LenS(x1, y1, x3, y3);
s = CalcS(a, b, c);
return s;
}
double pr(double x1, double y1, double x2, double y2, double x3, double y3)
{
double a, b, c, p;
a = LenS(x1, y1, x2, y2);
b = LenS(x2, y2, x3, y3);
c = LenS(x1, y1, x3, y3);
p = CalcP(a, b, c);
return p;
}
Часть текста файла MyForm.h после #pragma endregion с описанием событийных процедур.
#pragma endregion
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
this->Close();
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
if (TBx1->Text->Length == 0)
{
MessageBox::Show("Введите значение Х1", "Ошибка", MessageBoxButtons::OK, MessageBoxIcon::Error);
TBx1->Focus();
return;
}
double x1 = Convert::ToDouble(TBx1->Text);
if (TBy1->Text->Length == 0)
{
MessageBox::Show("Введите значение Y1", "Ошибка", MessageBoxButtons::OK, MessageBoxIcon::Error);
TBy1->Focus();
return;
}
double y1 = Convert::ToDouble(TBy1->Text);
if (TBx2->Text->Length == 0)
{
MessageBox::Show("Введите значение Х2", "Ошибка", MessageBoxButtons::OK, MessageBoxIcon::Error);
TBx2->Focus();
return;
}
double x2 = Convert::ToDouble(TBx2->Text);
if (TBy2->Text->Length == 0)
{
MessageBox::Show("Введите значение Y2", "Ошибка", MessageBoxButtons::OK, MessageBoxIcon::Error);
TBy2->Focus();
return;
}
double y2 = Convert::ToDouble(TBy2->Text);
if (TBx3->Text->Length == 0)
{
MessageBox::Show("Введите значение Х3", "Ошибка", MessageBoxButtons::OK, MessageBoxIcon::Error);
TBx3->Focus();
return;
}
double x3 = Convert::ToDouble(TBx3->Text);
if (TBy3->Text->Length == 0)
{
MessageBox::Show("Введите значение Y3", "Ошибка", MessageBoxButtons::OK, MessageBoxIcon::Error);
TBy3->Focus();
return;
}
double y3 = Convert::ToDouble(TBy3->Text);
double s, p;
s = pl(x1, y1, x2, y2, x3, y3);
p = pr(x1, y1, x2, y2, x3, y3);
TBp->Text = p.ToString();
TBs->Text = s.ToString();
}
Результат работы программы
При ошибке ввода данных.
-
Проверка результата в Excel
p=A5+A6+A7, pp=E5/2, s=КОРЕНЬ(H5*(H5-A5)*(H5-A6)*(H5-A7))