Разместить в созданном заголовочном файле структуру, описывающую прямоугольник - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Мне надо разработать структуру, описывающую прямоугольник с помощью его координат и функции расчёта площади и периметра. Также разработать функцию, позволяющую создавать структуру прямоугольника на основе данных, введённых с консоли. Разместить код функций, рассчитывающих параметры фигуры в отдельном файле исходного текста. Создать заголовочный файл, позволяющий вызывать функции созданного файла исходного текста из других файлов. Разместить в созданном заголовочном файле структуру, описывающую прямоугольник. Предусмотреть в созданном заголовочном файле защиту от повторного включения с помощью Include Guard. Программа запускается и выводит ошибку на вызове функции create_struct в файле main.cpp

файл rectnagle.h

Листинг программы
  1. #ifndef RECTANGLE_H
  2. #define REGTANGLE_H
  3. struct data
  4. {
  5. float x1;
  6. float y1;
  7. float x2;
  8. float y2;
  9. float x3;
  10. float y3;
  11. };
  12. float square (data rect);
  13. float perimetr (data rect);
  14. data create_struct (data rect);
  15. #endif

файл rectangle.cpp

Листинг программы
  1. #ifndef RECTANGLE_CPP
  2. #define RECTANGLE_CPP
  3. #include <math.h>
  4. #include <stdio.h>
  5. #include "rectangle.h"
  6. float square (data rect)
  7. {
  8. 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) ));
  9. return s;
  10. }
  11. float perimetr (data rect)
  12. {
  13. 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 ) );
  14. return p;
  15. }
  16. data create_struct (data rect)
  17. {
  18. printf("Write the coordinates of the corner points");
  19. scanf("%f %f %f %f %f %f", &rect.x1, &rect.y1, &rect.x2, &rect.y2, &rect.x3, &rect.y3 );
  20. return rect;
  21. }
  22. #endif

файл main.cpp

Листинг программы
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include "rectangle.h"
  4. int main ()
  5. {
  6. data exz;
  7. float sq, per;
  8. exz = create_struct (exz);
  9. sq = square (exz);
  10. per= perimetr (exz);
  11. return 0;
  12. }

Решение задачи: «Разместить в созданном заголовочном файле структуру, описывающую прямоугольник»

textual
Листинг программы
  1. data exz = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы