Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Robson Miguel

C operações linguagem C com caracteres

Recommended Posts

Olá, alguém saberia como criar um programa onde solicitamos dois numeros ao usuário e pedimos qual operação ele gostaria de fazer. Se ele colocar * deve ser feita uma multiplicação mostrando a operação e assim por diante. Acho que estou me atrapalhando no If, até agora tenho isso:

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

int main()
{
    float num1, num2, opera, sum, sub, mult, div;

    printf("\n Digite o primeiro numero: " );
    scanf("%f", &num1);

    printf("\n Digite o segundo numero: " );
    scanf("%f", &num2);

    
   printf("\n Qual operacao voce deseja realizar? " );
    scanf("%f", &opera);

    if (opera=*)
    {
        printf("%.2f * %.2f = %.2f\n", num1, num2, num1 * num2);
    }

    if("/")
    {

        printf("%.2f / %.2f = %.2f\n", num1, num2, num1 / num2);
    }

    if("+")
    {

        printf("%.2f + %.2f = %.2f\n", num1, num2, num1 + num2);
    }

    if("-")
    {

        printf("%.2f - %.2f = %.2f\n", num1, num2, num1 - num2);
    }

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, você precisa compreender como usar os tipos na função scanf.

Quando você quer um caracter use %c como:

char operador;

scanf("%c",operador);

 

O seus if's não estão funcionais, pois você não comparou o operador recebido com o necessário, sendo o correto:

 

if(operador == '*')

else if (operador == '+')

... 

 

E também compreenda que você pode facilitar seu código usando switch case,

pois seus if's podem ocupar muitas linhas.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá, obrigado pela resposta. Só não entendi porque agora o programa encerra antes de eu conseguir colocar o caractere da operação.

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

int main()
{
    float num1, num2, sum, sub, mult, div;
    char opera;

    printf("\n Digite o primeiro numero: " );
    scanf("%f", &num1);

    printf("\n Digite o segundo numero: " );
    scanf("%f", &num2);


   printf("\n Qual operacao voce deseja realizar? " );
    scanf("%c", &opera);

    if (opera == '*')
    {
        printf("%.2f * %.2f = %.2f\n", num1, num2, num1 * num2);
    }

    else if(opera == '/')
    {

        printf("%.2f / %.2f = %.2f\n", num1, num2, num1 / num2);
    }

    else if(opera == '+')
    {

        printf("%.2f + %.2f = %.2f\n", num1, num2, num1 + num2);
    }

    else if(opera == '-')
    {

        printf("%.2f - %.2f = %.2f\n", num1, num2, num1 - num2);
    }

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode colocar um espaço em branco no scanf que vai receber a entrada da operação, ali fica um \n na entrada, o espaço serve pra tirar isso do input.

 

printf("\n Qual operacao voce deseja realizar? " );
scanf(" %c", &opera);

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×