Ir para conteúdo
Fórum Script Brasil
  • 0

Calculadora básica em C


senhor_unix

Pergunta

Calculadora feita no Dev-C++.

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

main ()
{
  
float n1,n2,resultado;
char operador;


printf("\n Digite o primeiro numero:");
scanf ("%f",&n1);
printf("\n Digite o segundo numero:");
scanf ("%f",&n2);
printf("\n Digite o operador:");
scanf ("%s",&operador);

getch();
if (operador=='+') {
resultado=n1+n2;    
printf ("\n O resultado e: %f",resultado);


}  
  
else
if (operador=='-') {
resultado=n1-n2;
printf ("\n O resultado e: %f",resultado);

}

else
if (operador=='/') {
resultado=n1/n2;
printf ("\n O resultado e: %f",resultado);

}

else  
if (operador=='*') {
resultado=n1*n2;
printf ("\n O resultado e: %f",resultado);


}
getch();

}

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

senhor_unix, esta é minha primeira postagem neste fórum. Estou iniciando meus estudos em linguagem C.

Reparando seu código, resolvi adaptá-lo a fim de incluir uma nova funcionalidade:

- inicialmente o programa (para não fugir do seu objetivo, que é calcular) deve passar ao menos uma vez por toda a rotina, logicamente dependerá da ação do usuário digitando os valores e o operador desejado. Porém no seu código, isso só acontece uma vez e em seguida o console é encerrado, pois bem a adaptação que fiz é simplesmente, perguntar ao usuário no final do primeiro cálculo, se ele deseja fazer outro(s) ou não;

- depois substitui a estrutura if e else, para verificar o tipo de operador, pela comando switch (achei que melhora a "legibilidade" do código);

- depois para cada tipo de operação a resposta é impressa em cores diferentes.

segue abaixo estas adaptações:

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

void main (void)
{  
float n1,n2,resultado;
char operador, resposta;
int resp=1;
resposta='s';
while (resp) {
      printf("\n Digite o primeiro numero:");
      scanf ("%f",&n1);
      printf("\n Digite o segundo numero:");
      scanf ("%f",&n2);
      printf("\n Digite o operador:");
      scanf ("%s",&operador);
      getch();
      switch (operador) {
              case '/':
                   resultado=n1/n2;
                   textcolor(12); /* personalizando a cor*/
                   cprintf ("\n O resultado da divisao e: %f",resultado);
                   textcolor(15);  /* voltando a cor padrão */
                   break;
            
              case '*':
                   resultado=n1*n2;
                   textcolor(11);
                   cprintf ("\n O resultado da multiplicacao e: %f",resultado);
                   textcolor(15);
                   break;
            
              case '+':
                   resultado=n1+n2;
                   textcolor(10);
                   cprintf ("\n O resultado da adicao e: %f",resultado);
                   textcolor(15);
                   break;
            
              case '-':
                   resultado=n1-n2;
                   textcolor(9);
                   cprintf ("\n O resultado da subtracao e: %f",resultado);
                   textcolor(15);
                   break;
       } /* fim switch */
       resp=0; /*a inteção é que o programa só passe 1 vez automaticamente, depois 
       dependerá da resposta do usuário para continuar calculando ou não */
       printf("\n Deseja fazer uma nova operacao? (1=sim ou 0=não):");
       scanf("%d", &resp);  
} /* fim do while */ 
} /* fim da funçao principal */

Quero deixar claro que minha intenção é apenas didática. Também estou aprendendo e pretendo ajudar outros a aprenderem também.

Esse código foi escrito no dev c++ - versão: 4.9.9.2

Editado por Marcos.Orci
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...