Ir ao conteúdo
  • Cadastre-se

Calculadora em c


diasalan2012

Posts recomendados

Amigos estou com problema no código, sempre quando executo, qualquer resultado aparece 0, alguem pode me ajudar ??

 

#include <stdio.h>

int main ()
{
    int valor1,valor2,resultado;
    char operador;
    
    printf ("\n\t1 - Soma\n\t2 - Subtracao\n\t3 - Multiplicacao\n\t4 - Divisao\n\t ");
    scanf ("%c",&operador);
    printf ("Digite o primeiro valor\n");
    scanf ("%d",&valor1);
    printf ("Digite o segundo valor\n");
    scanf ("%d",&valor2);
    
    switch (operador)
    {
    
    case 1:
        resultado = valor1 + valor2;
    break;
    
    case 2:
        resultado = valor1 - valor2;
    break;
    
    case 3:
        resultado = valor1 * valor2;
    break;
    
    case 4:
        resultado = valor1 / valor2;
    break;
    
}
        printf ("O Resultado e: %d",resultado);
        scanf ("%c",&operador);
    }

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

quando você pergunta     printf ( "\n\t1 - Soma\n\t2 - Subtracao\n\t3 - Multiplicacao\n\t4 - Divisao\n\t " ), logo depois você le um char scanf ( "%c", &operador );, então o que acontece é que nunca se cumpre nenhuma das condições case 1: pois operador == 1 é falso, o correto seria operador == '1', pois 1 nao é a mesma coisa que '1', 1 é um inteiro, e '1' é um char.

#include <stdio.h>int main () {    int valor1, valor2, resultado;    char operador;        printf ( "\n\t1 - Soma\n\t2 - Subtracao\n\t3 - Multiplicacao\n\t4 - Divisao\n\t " );    scanf ( "%c%*c", &operador );    printf ( "Digite o primeiro valor\n" );    scanf ( "%d%*c", &valor1 );    printf ( "Digite o segundo valor\n" );    scanf ( "%d%*c", &valor2 );        switch ( operador ) {            case '1':            resultado = valor1 + valor2;            break;                    case '2':            resultado = valor1 - valor2;            break;                    case '3':            resultado = valor1 * valor2;            break;                    case '4':            resultado = valor1 / valor2;            break;                }        printf ( "O Resultado e: %d", resultado );    //scanf ( "%c", &operador );}
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!