Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2022, 09:48   #1
Huseyn AX
Пользователь
 
Регистрация: 14.11.2021
Сообщений: 43
По умолчанию Ошибка в многофайловом программе C++

Привет, я начал изучать многофайловой программы и решил попробовать, ну вот первый файл где структура и прототипы функций:
Код:
struct polar
{
    double distance;
    double angle;
};
struct rect
{
    double x;
    double y;
};
polar rect_to_polar(rect xypos);
void show_polar(polar dapos);
А вот второй файл где определение функций:
Код:
#include <iostream>
#include <cmath>
#include "proto.h"
using namespace std;

polar rect_to_polar(rect xypos)
{
  polar answer;
  answer.distance = sqrt (xypos.x * xypos.x + xypos.y * xypos.y);
  answer.angle = atan2(xypos.y, xypos.x);
  return answer;
}
void show_polar(polar dapos)
{
  const double Rad_to_deg = 57.29577951;
  cout << "distance = " << dapos.distance << ", angle = " << dapos.angle * Rad_to_deg;
}
И последний файл:
Код:
#include <iostream>
#include "proto.h"
using namespace std;

int main()
{
    rect rplace;
    polar pplace;
    cout << "Enter the x and y values: ";
    while(cin >> rplace.y >> rplace.y)
    {
        pplace = rect_to_polar(rplace);
        show_polar(pplace);
        cout << "Next two numbers: ";
    }
    return 0;
}
И вот ошибка: c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\ASUS\AppData\Local\Temp\cc z7hcW7.o:Newcpp.cpp.text+0x44): undefined reference
to `rect_to_polar(rect)'
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\ASUS\AppData\Local\Temp\cc z7hcW7.o:Newcpp.cpp.text+0x70): undefined reference
to `show_polar(polar)'
collect2.exe: error: ld returned 1 exit status
Буду пипец как рад вашей помощи и было отлично еще объяснили бы почему это ошибка есть
Huseyn AX вне форума Ответить с цитированием
Старый 14.07.2022, 10:19   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Покажите команду, которой вы компилируете программу. У меня все компилируется нормально
А while (cin >> rplace.y >> rplace.y) тут точно надо дважды `rplace.y` вводить?

Последний раз редактировалось macomics; 14.07.2022 в 10:31.
macomics вне форума Ответить с цитированием
Старый 15.07.2022, 06:44   #3
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 960
По умолчанию

Huseyn AX, файлы *.cpp не добавлены в проект, судя по всему. Надо их туда добавить
Алексей1153 вне форума Ответить с цитированием
Старый 16.08.2022, 12:06   #4
Huseyn AX
Пользователь
 
Регистрация: 14.11.2021
Сообщений: 43
По умолчанию

macomics, у меня компилируется с помощью комбинаций клавиш ctrl+alt+n. У меня visual studio code и я настроивал mingw
Huseyn AX вне форума Ответить с цитированием
Старый 16.08.2022, 12:23   #5
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Huseyn AX, на MinGW должно нормально компилироваться. Я вообще на g++ пробовал под Linux
macomics вне форума Ответить с цитированием
Старый 16.08.2022, 13:03   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Используйте систему сборки (например, makefile напшите) или вручную в консоли вызывайте компилятор с передачей файлов.
p51x вне форума Ответить с цитированием
Старый 18.08.2022, 11:07   #7
Huseyn AX
Пользователь
 
Регистрация: 14.11.2021
Сообщений: 43
По умолчанию

macomics, наверное у меня в настройках проблема, я попробую решить, спасибо за ответ
Huseyn AX вне форума Ответить с цитированием
Старый 18.08.2022, 11:08   #8
Huseyn AX
Пользователь
 
Регистрация: 14.11.2021
Сообщений: 43
По умолчанию

p51x, а как это написать, если вам нетрудно можете ответить?
Huseyn AX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в программе yulia.a Паскаль, Turbo Pascal, PascalABC.NET 3 15.04.2014 19:08
LNK2020: template в многофайловом проекте AntyDES Visual C++ 4 15.12.2011 13:46
Ошибка в программе на Си++ Эммануэль Помощь студентам 20 09.04.2011 18:04
Ошибка в программе C Renat21 Общие вопросы C/C++ 6 02.04.2011 18:00
Ошибка в программе. ZeroCount Помощь студентам 2 18.12.2010 20:33