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

(DUVIDA) raiz quadrada


athoslive

Pergunta

quando eu fui criar minha calculadora de raiz quadrada no BORLAND C deu este error:

Function 'SQRT' should have a prototype

#include <stdio.h>
#include <conio.h>

void main()
{
              float x;
              int a;
              printf("Digite o numero da potencia");
              scanf("%s",&a);
              x=SQRT(a);
              printf("a resposta é %s",a);
              getch();
}

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

tem que fazer #include <math.h>

E a funcao é em minusculo

a = sqrt(B);

matematicamente falando você consegue o mesmo efeito elevando o numero por 0.5 e pra isso em C você pode usar a função

a = pow(b, (.5));

Abs

Link para o comentário
Compartilhar em outros sites

  • 0

É como o CPP falou.

Tem que incluir a biblioteca <math.h>. É nela que estão contidas as expressões matemáticas.

Se quiser a raiz de 15, usa o sqrt(15) e não esquece de utilizar variáveis de tipo float, pois se declarar as variáveis em int e a raiz não for inteira, o resultado não vai dar certo.

Link para o comentário
Compartilhar em outros sites

  • 0
quando eu fui criar minha calculadora de raiz quadrada no BORLAND C deu este error:

Function 'SQRT' should have a prototype

#include <stdio.h>
#include <conio.h>

void main()
{
              float x;
              int a;
              printf("Digite o numero da potencia");
              scanf("%s",&a);
              x=SQRT(a);
              printf("a resposta é %s",a);
              getch();
}
Como todos os outros disseram, o nome da função tem que ser minúscula.
int a;
float x;
scanf("%s",&a);
printf("a resposta é %s",a);
Você está tentando atribuir uma string a uma variável no scanf() e no printf() você está tentando mostrar uma string, sendo que a variável é float. Substitua o %s no scanf() por %d(porque você quer ler um inteiro) e coloque um %f no printf(), pois o que você está tentando mostrar é um float. Outra coisa: Como todos os outros dissram, inclua a biblioteca <math.h> E um outro detalhe: TODAS as funções da biblioteca math.h (incluindo a sqrt()) recebem como parâmetro um double e também retornam um tipo double, portanto, ao lidar com essas funções, use somente variáveis do tipo double para não acontecer imprevistos. Bem, reescrevendo o seu código, ele ficará assim:
#include <stdio.h>
#include <conio.h>
#include <math.h> // Inclua essa biblioteca!

void main(void)
{
    double x;
    double a;
    printf("Digite o numero da potencia:");
    scanf("%lf",&a); // Use %lf para ler double.
    x=sqrt(a);
    printf("A resposta é: %lf",x);
    getch();
}

Espero ter ajudado!

Editado por bruce845
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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...