Разместить в созданном заголовочном файле структуру, описывающую прямоугольник - C (СИ)
Формулировка задачи:
Здравствуйте!
Мне надо разработать структуру, описывающую прямоугольник с помощью его координат и функции расчёта площади и периметра. Также разработать функцию, позволяющую создавать структуру прямоугольника на основе данных, введённых с консоли.
Разместить код функций, рассчитывающих параметры фигуры в отдельном файле исходного текста. Создать заголовочный файл, позволяющий вызывать функции созданного файла исходного текста из других файлов. Разместить в созданном заголовочном файле структуру, описывающую прямоугольник. Предусмотреть в созданном заголовочном файле защиту от повторного включения с помощью Include Guard.
Программа запускается и выводит ошибку на вызове функции create_struct в файле main.cpp
файл rectnagle.h
#ifndef RECTANGLE_H
#define REGTANGLE_H
struct data
{
float x1;
float y1;
float x2;
float y2;
float x3;
float y3;
};
float square (data rect);
float perimetr (data rect);
data create_struct (data rect);
#endifфайл rectangle.cpp
#ifndef RECTANGLE_CPP
#define RECTANGLE_CPP
#include <math.h>
#include <stdio.h>
#include "rectangle.h"
float square (data rect)
{
float s = ( sqrt ( pow(rect.x2-rect.x1, 2) + pow(rect.y2-rect.y1, 2) ) * sqrt ( pow(rect.x3-rect.x2, 2) + pow(rect.y3-rect.y2, 2) ));
return s;
}
float perimetr (data rect)
{
float p = 2 * sqrt ( pow ( rect.x2 - rect.x1, 2 ) + pow ( rect.y2 - rect.y1, 2 ) ) + 2 * sqrt ( pow ( rect.x3 - rect.x2, 2 ) + pow ( rect.y3 - rect.y2, 2 ) );
return p;
}
data create_struct (data rect)
{
printf("Write the coordinates of the corner points");
scanf("%f %f %f %f %f %f", &rect.x1, &rect.y1, &rect.x2, &rect.y2, &rect.x3, &rect.y3 );
return rect;
}
#endifфайл main.cpp
#include <stdio.h>
#include <math.h>
#include "rectangle.h"
int main ()
{
data exz;
float sq, per;
exz = create_struct (exz);
sq = square (exz);
per= perimetr (exz);
return 0;
}Решение задачи: «Разместить в созданном заголовочном файле структуру, описывающую прямоугольник»
textual
Листинг программы
data exz = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};