Ir ao conteúdo
  • Cadastre-se

C++ Usar resultado de uma operação para a outra em c.


MarcelloSM

Posts recomendados

Pessoal, preciso de uma ajuda básica em c. Estou fazendo uma calculadora que precisa usar o resultado de de uma operação para iniciar outra.  Já ta quase pronta porém esse detalhe não estou conseguindo. Vou dar um exemplo abaixo, o usuário digitou 2 + 2 =4 teria que pegar esse 4 para ser o n1 de outra operação e assim continuar sucessivamente. Se alguém poder me ajudar fica agradecido.

 

2

2

=

4

-

2

=

2

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@MarcelloSM Para isso basta usar um 'marcador', como uma variavel temporária para receber o valor, e depois verificar se o local está preenchido, na lógica seguiria essas etapas:

int calcular(int n1,int n2, char op); // funcao ficticia que retorna resultado

//variaveis em main
char operador;
int n1,n2,tmp = -1;

//EM LOOP
//recebe n1
if(tmp >= 0)
	n1 = tmp;
else 
	scanf("%d",&n1);

//recebe operador
scanf("%c",&operador); 

//recebe n2
scanf("%d, &n2); 

//receber resultado em tmp
tmp = calcular(n1, n2, operador);

 

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

 @TYSQUARE89 Muito obrigado pela sua ajuda. Sou novo em c e o que eu consegui desenvolver até agora foi isso. Só que não consigo colocar sua dica no código que fiz. Se puder da uma olhadinha e ver o que pode ser melhorado, agradeço muito. Sei que muita coisa pode melhorar mas não sei o que fazer.

 

#include <stdio.h>

int main()
{
        float num1,num2,resultado;
        char oper;

        do
        {
            scanf("%f", &num1);
            scanf(" %c",&oper);
            scanf("%f", &num2);
    
     switch( oper )
            {
                case '+':
                        resultado = num1 + num2;
                        break;

                case '-':
                        resultado = num1 - num2;
                        break;

                case '*':
                        resultado = num1 * num2;
                        break;

                case '/':
                        if(num2 != 0)
                            resultado = num1 / num2;
                              break;

                default:
                        if(num1 != 0 && oper != '0' && num2 != 0)
                            printf(" Operador invalido\n\n ");}
                            
        printf("=\n");
        printf("%.2f\n\n", resultado);
   

        }while(num1 != '0' && oper != '0' && num2 != 0);
}

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

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