Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
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
TYSQUARE89    80

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
Robson Miguel    0
  • Autor do tópico
  • 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

    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

    ×