Jump to content

Calculadora


Mr.Henrique
 Share

Recommended Posts

galera fiz uma calculadora agora gostaria de saber como faço para fazer com que o usuario escolha se ele deseja reniciar ou não a calculadora novamente

#include<stdio.h>
main(){
    float n1,n2,r; // n1 = numero n2= segundo numero r = resultado da conta
    char op; // op = operador logico
    printf("Escolha um operador logico: \n [ + ] Soma \n [ - ] subtracao \n [ * ] mutiplicacao \n [ / ] divisao \n ");
    scanf("%c",&op);
    printf("Digite um numero : ");
    scanf("%f",&n1);
    printf("digite o segundo numero: ");
    scanf("%f",&n2);

    if (op=='+'){
    r=n1+n2;
    printf("o resultado de %.0f %c %.0f = %.0f\n",n1,op,n2,r);
    }
    else if (op=='-'){
    r=n1-n2;
    printf("o resultado de %.0f %c %.0f = %.0f\n",n1,op,n2,r);
    }
    else if (op=='*'){
    r=n1*n2;
    printf("o resultado de %.0f %c %.0f = %.0f\n",n1,op,n2,r);
    }
    else if (op=='/')
            if (n2==0)
            printf("Conta Invalida\n");
                            else {
                            r=n1/n2;
                            printf("o resultado de %f %c %f = %f\n",n1,op,n2,r);
                            }
    else
    printf("Operador logico invalido\n");
    system("pause");
    }
Edited by thoga31
GeSHi
Link to comment
Share on other sites

ficaria assim ?

int main (void){
      float n1,n2,r; // n1 = numero n2= segundo numero r = resultado da conta
      char op // op = operador logico
      int run = 0;
      do {
      printf("Escolha um operador logico: \n [ + ] Soma \n [ - ] subtracao \n [ * ] mutiplicacao \n [ / ] divisao \n ");
      scanf("%c",&op);
      printf("Digite um numero : ");
      scanf("%f",&n1);
      printf("digite o segundo numero: ");
      scanf("%f",&n2);

      if (op=='+'){
      r=n1+n2;
      printf("o resultado de %.0f %c %.0f = %.0f\n",n1,op,n2,r);
      }
      else if (op=='-'){
      r=n1-n2;
      printf("o resultado de %.0f %c %.0f = %.0f\n",n1,op,n2,r);
      }
      else if (op=='*'){
      r=n1*n2;
      printf("o resultado de %.0f %c %.0f = %.0f\n",n1,op,n2,r);
      }
      else if (op=='/')
              if (n2==0)
               printf("Conta Invalida\n");
                             else {
                             r=n1/n2;
                             printf("o resultado de %f %c %f = %f\n",n1,op,n2,r);
                             }
      else
      printf("Operador logico invalido\n");

      printf("Deseja reniciar o programa ? (s/n)");
      scanf("%d",&run);
      }while (run);
      return 0;
      }
      }
      system("pause");
      }


Edited by thoga31
GeSHi
Link to comment
Share on other sites

O seguinte código não faz muito sentido:

printf("Deseja reniciar o programa ? (s/n)");
scanf("%d",&run);

O scanf está a ler um inteiro, mas na mensagem que mostras ao utilizador tens (s/n).

Adicionalmente, tentaste compilar o programa?

As chavetas parecem não estar correctas, falta-te um ; a terminar uma declaração.

Tirando isto, o programa deve estar a funcionar minimamente. Há, no entanto, coisas que podes melhorar, como a verificação dos valores lidos.

Link to comment
Share on other sites

Sim, é que to tentado fazer o codigo para reniciar o programa tipo o usuario calcula a conta depois de calcular o programa faz um pergunta Voce gostaria de reniciar o programa ?(s/n)

se ele colocar sim o programa renicia e se ele colocar n o programa fecha sozinho

mais não consigo fazer isso

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.