Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архив1 / doc200 / Отчётготовый

.doc
Скачиваний:
18
Добавлен:
01.08.2013
Размер:
66.05 Кб
Скачать

Лабораторная РОбота № 4

  1. Функции

    1. Приобретение навыков использования функций

Задание:

Составьте программу, которая решает поставленную в вашем варианте задачу. Программа должна:

представлять собой консольное приложение

отображать сведения о назначении и возможностях программы

отображать сведения об авторе программы

содержать ввод необходимых данных с клавиатуры

выводить результаты расчётов на экран

Вариант №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.

4