Лабораторная РОбота № 4
-
Функции
-
Приобретение навыков использования функций
-
Задание:
Составьте программу, которая решает поставленную в вашем варианте задачу. Программа должна:
представлять собой консольное приложение
отображать сведения о назначении и возможностях программы
отображать сведения об авторе программы
содержать ввод необходимых данных с клавиатуры
выводить результаты расчётов на экран
Вариант №5
Определите функцию, которая возвращает расстояние между двумя точками на плоскости , где - координаты первой и второй точки соответственно Определите функцию, которая возвращает площадь треугольника с заданными вершинами на плоскости, используя формулу Герона и ранее определённую функцию , где - полупериметр треугольника, - длины сторон треугольника Вычислить площадь треугольника с заданными пользователем вершинами, используя определённую функцию
Код программы
#include<iostream.h> // подключение библиотеки ввода-вывода
#include<math.h> // подключение библиотеки математических функций
#include<windows.h> // подключение библиотеки, содержащей функцию
// преобразования кириллицы CharToOem
void Hello();
float Input(char ss[30]);
bool Repeat();
float Distance(float x1,float y1,float x2,float y2);
float Squaretr(float xA,float yA,float xB,float yB,float xC,float yC);
void OutResult(float Res);
int main ()
{
Hello();
do
{
char ss[]="Введите координату х вершины A: x=";
CharToOem(ss,ss);
float xA=Input(ss) ;
CharToOem("Введите координату y вершины A: y=",ss);
float yA=Input(ss) ;
CharToOem("Введите координату х вершины B: x=",ss);
float xB=Input(ss) ;
CharToOem("Введите координату y вершины B: y=",ss);
float yB=Input(ss) ;
CharToOem("Введите координату х вершины C: x=",ss);
float xC=Input(ss) ;
CharToOem("Введите координату y вершины C: y=",ss);
float yC=Input(ss) ;
OutResult(Squaretr(xA,yA,xB,yB,xC,yC));
}
while (Repeat());
return 0 ;
}
void Hello() //функция приветствия
{
char S[]=" Программа вычисляет площадь треугольника с заданными вершинами.\n"
" Автор студентка группы 5341м Фундовная Евгения.\n\n";
CharToOem (S,S);
cout<<S;
}
float Input(char ss[30]) //функция ввода значения
{
cout<<ss;
float a;
cin>>a;
return a;
}
bool Repeat() //функция повторного прохода программы
{
char S[]="\n Продолжить? (Y/N)";
CharToOem (S,S);
cout<<S;
char answer;
cin>>answer;
return aswer=='Y'||'y'==answer||answer==(char)141||answer==(char)173;
}
//функция вычисления расстояние между двумя точками на плоскости
float Distance(float x1,float y1,float x2,float y2)
{
float d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
return d;
}
//функция вычисления площади треугольника
float Squaretr(float xA,float yA,float xB,float yB,float xC,float yC)
{
float c=Distance(xA,yA,xB,yB);
float a=Distance(xC,yC,xB,yB);
float b=Distance(xA,yA,xC,yC);
float p=(a+b+c)/2;
float Square=sqrt(p*(p-a)*(p-b)*(p-c));
return Square;
}
void OutResult(float Res)
{
char S[]="Площадь трегугольника = ";
CharToOem(S,S);
cout<<S<<Res;
}
Результат работы программы
Рис.4.1.
Выводы
В результате выполнения данной работы, я создала программу, которая определяет площадь треугольника. При этом я использовала функции, оператор цикла с постусловием (while), а также следующие функции: CharToOem, sqrt.