Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Com Um Programinha Em C++


psybox

Pergunta

Este é um programa para calcular o máximo divisor comum entre dois números:

#include <iostream>
#include <cmath>

using namespace std;

float mdc(float num_a, float num_b);

int main(int argc,char* argv[]) {
    
    float num_a;
    float num_b;
    float resul;
    
    cout << "\nDigite um valor para A: ";
    cin >> num_a;
    cout << "\nDigite um valor para B: ";
    cin >> num_b;
    
    resul = mdc( num_a, num_b );
    cout << "\nResultado: "<< resul << "\n";
    
    return 0;
    
}

float mdc( float num_a, float num_b ) {
        
    if( num_b == 0 ) {
            
        return num_a;
        
    }
                
    return mdc( num_b, fmod( num_a, num_b ));
        
}
Durante a compilação ocorre o seguinte erro: $gcc -o mdc mdc.cpp
/tmp/ccPSCwBy.o(.text+0x19): In function `main':
: undefined reference to `std::cout'
/tmp/ccPSCwBy.o(.text+0x1e): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccPSCwBy.o(.text+0x2d): In function `main':
: undefined reference to `std::cin'
/tmp/ccPSCwBy.o(.text+0x32): In function `main':
: undefined reference to `std::basic_istream<char, std::char_traits<char> >::operator>>(float&)'
/tmp/ccPSCwBy.o(.text+0x42): In function `main':
: undefined reference to `std::cout'
/tmp/ccPSCwBy.o(.text+0x47): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccPSCwBy.o(.text+0x56): In function `main':
: undefined reference to `std::cin'
/tmp/ccPSCwBy.o(.text+0x5b): In function `main':
: undefined reference to `std::basic_istream<char, std::char_traits<char> >::operator>>(float&)'
/tmp/ccPSCwBy.o(.text+0x8d): In function `main':
: undefined reference to `std::cout'
/tmp/ccPSCwBy.o(.text+0x92): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccPSCwBy.o(.text+0x9b): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(float)'
/tmp/ccPSCwBy.o(.text+0xa4): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccPSCwBy.o(.text+0x11e): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `std::ios_base::Init::Init[in-charge]()'
/tmp/ccPSCwBy.o(.text+0x14d): In function `__tcf_0':
: undefined reference to `std::ios_base::Init::~Init [in-charge]()'
/tmp/ccPSCwBy.o(.gnu.linkonce.t._ZSt4fmodff+0x10): In function `std::fmod(float, float)':
: undefined reference to `fmodf'
/tmp/ccPSCwBy.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

Desde já agradeço a todos..

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Não mexo muito com C++, mexo mais com C

não seria:

#include <iostream.h>

#include <cmath.h>

e alias, a e b não deveriam ser inteiros para que o probema faça sentido?

maximo divisor comum só está definido para inteiros...

Você pode ter problemas com a precisão do float fazendo algo genérico assim... mas depende da sua aplicação...

se mudar para int (ou long long ou algo tipo) lembre que o operador de módulo é o %, ai você não precisa do #include <cmath.h>

Link para o comentário
Compartilhar em outros sites

  • 0

Os headers em C++ não precisam do ".h" no nome. Mas voce pode usar tambem. Mais uma coisa: o compilador que voce esta usando esta errado. Para C++, use o g++ ou gpp.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...