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

(Resolvido) programa compila e da erro (nv. iniciante)


romulo37

Pergunta

inciante em C/C++ e no forum xD... então...

Fiz esse programa de um exercício de uma apostila... exercício básico de início que já vi em várias outras... o problema é que está compilando tudo certo... mas o programa está executando errado. ex.:

--xx--

Insira o numero 1: (se eu coloco "4")

Insira o numero 2: (e aqui "5")

o programa responde certo

O segundo numero e maior: 5.00

mas...

Insira o numero 1: (se eu coloco "5")

Insira o numero 2: (e aqui "4")

o programa responde errado :s

O primeiro numero e maior: 5.00

O segundo numero e maior: 4.00

--xx--

/\ não era para ele mostrar só a primeira mensagem? :s

--xx--

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

int main()
{
       float num1, num2;
       printf("\n\n\n Insira o numero 1: ");
       scanf("%f", &num1);
       printf("\n Insira o numero 2: ");
       scanf("%f", &num2);
       if (num1>num2)
       {
                        printf("\n\n\n O primeiro numero e maior: %4.2f",num1);
                  }
       else (num1<num2);
       {
              printf("\n\n\n O segundo numero e maior: %4.2f",num2);
              }
       getch();
       return(0);
}

Editado por romulo37
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Seu erro tá qui:

else (num1<num2);

Tira o ponto e virgula no final do else que resolve. Com esse ponto e virgula ai você quebrou o comando else.

Abraço.

Olá.. fiz o que você disse mas o programa não compila e aparece o seguinte erro

17 expected primary-expression before "else"

17 expected `;' before "else"

pelo 2º erro eu achei que tinha que colocar o ponto e vírgula

obs.: uso o compilador do programa Dev C++ (caso faça diferença)

Obrigado ^^

Editado por romulo37
Link para o comentário
Compartilhar em outros sites

  • 0
é mas acho q você queria era um else if:

else if (num1<num2)

deram os mesmos dois erros :s (tentei com e sem ponto e vírgula... tentei com e sem a expressão.. entre parênteses e sem parênteses.. etc)

será que não é um bug do compilador? :(

Editado por romulo37
Link para o comentário
Compartilhar em outros sites

  • 0

Tenta esse código:

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

int main()
{
       float num1, num2;
       printf("\n\n\n Insira o numero 1: ");
       scanf("%f", &num1);
       printf("\n Insira o numero 2: ");
       scanf("%f", &num2);
       if (num1>num2)
       {
                        printf("\n\n\n O primeiro numero e maior: %4.2f",num1);
        }
       else if(num1<num2)
              {
              printf("\n\n\n O segundo numero e maior: %4.2f",num2);
              }
       getch();
       return(0);
}

Aqui funcionou. Abraço.

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...