Файл: Лабораторная работа 1 по теме.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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. Создание нового проекта

1) Запустить VS.

2) Выполнить команду Создать проект.... На экране появится диалоговое окно Создание проекта.

3) Выбрать шаблон CLR Приложения Windows Form и в диалоговом окне Создание проекта ввести в текстовом поле Имя (нижней части диалогового окна Создание проекта) имя проекта Проект-ЛР1-1 и указать местоположение файла проекта.
  1. Щелкнуть на кнопке ОКдиалогового окна Создание проекта.

VS присвоит проекту имя Проект-ЛР1-1 и отобразит основное окно VS с различными панелями, среди которых присутствует окно конструктора форм с пустой формой Form1. Эта форма будет использоваться для создания интерфейса пользователя.




  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

Завершить





  1. Написание программного кода

Текст заголовочного файла 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();

}

Результат работы программы



При ошибке ввода данных.





  1. Проверка результата в Excel


p=A5+A6+A7, pp=E5/2, s=КОРЕНЬ(H5*(H5-A5)*(H5-A6)*(H5-A7))