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

Dúvida no código


GGenesis

Pergunta

Ola. 

Estou resolvendo umas questões simples da faculdade, uma delas é essa: Desenvolva um diagrama que:
·  Leia 4 (quatro) números;·  Calcule o quadrado de cada um;·  Se o valor resultante do quadrado do terceiro for >= 1000, imprima-o e finalize;
·  Caso contrário, imprima os valores lidos e seus respectivos quadrados.

Fiz o código e acredito q esteja correto, entretanto quando rodo o programa trava ao pedir o primeiro número.

Segue o código.

#include <stdio.h>
#include <stdlib.h>

int main()
{
    float n1,n2,n3,n4,q1,q2,q3,q4;
    printf("Digite quatro numeros\n");
    scanf("%f","%f","%f","%f",&n1,&n2,&n3,&n4);
    q1=pow(n1,2);
    q2=pow(n2,2);
    q3=pow(n3,2);
    q4=pow(n4,2);
    if (q3>1000)
    {
        printf("O quadrado do terceiro numero escolhido e=%.2f",q3);
    }
    else
    {
        printf("Numero %.2f,Quadrado %.2f\nNumero %.2f,Quadrado %.2f\nNumero %.2f,Quadrado %.2f\nNumero %.2f,Quadrado %.2f\n",n1,q1,n2,q2,n3,q3,n4,q4);

    }

    return 0;
}
 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá!

 

Bom aqui o compilador através da IDE retornou os seguintes alertas:

 

 

- Os três alertas seguintes estão relacionados ao scanf() da linha 8:

 

 

|8|warning: writing into constant object (argument 2) [-Wformat=]|

 

|8|warning: format ‘%f’ expects argument of type ‘float *’, but argument 2 has type ‘char *’ [-Wformat=]|

 

|8|warning: too many arguments for format [-Wformat-extra-args]|

 

 

Basicamente o que está causando o problema é que dentro do seus scanf(), você separou cada código de formatação para cada uma das suas variáveis, o que ate onde pude aprender sobre scanf() é incorreto.

 

É só mudar de:

 

scanf("%f","%f","%f","%f",&n1,&n2,&n3,&n4);

 

para:

 

scanf ( "%f %f %f %f", &n1, &n2, &n3, &n4 );

 

 

- os dois alertas seguintes se referem ao fato que de a compilador não encontrou qualquer referencia a forma como a função pow() deve funcionar, mais especificamente o compilador está lhe alertando para a falta do protótipo da função pow(), que nesta caso está dentro do arquivo-cabeçalho: #include <math.h>

 

 

|9|warning: implicit declaration of function ‘pow’ [-Wimplicit-function-declaration]|

 

|9|warning: incompatible implicit declaration of built-in function ‘pow’ [enabled by default]|

 

 

Na maior parte das vezes ate onde pude aprender de C, isto tem mais a ver com os programadores que mexerão com o código do que para o compilador, não sei qual o seu nível sobre C, mas quando você começar a ver como as funções de C funcionam, você vai entender o que digo!

 

 

Bom por hora é só . . . veja se as dicas acima lhe ajudam . . .

 

 

Ubuntu 14.04 GCC 4.8 CodeBlocks 13.12

 

 

Espero Ter Ajudado ! ! !

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...