Разместить в созданном заголовочном файле структуру, описывающую прямоугольник - 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};
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д