senhor_unix Postado Fevereiro 22, 2010 Denunciar Share Postado Fevereiro 22, 2010 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(); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcos.Orci Postado Dezembro 18, 2011 Denunciar Share Postado Dezembro 18, 2011 (editado) 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 Dezembro 18, 2011 por Marcos.Orci Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 #VictorMartins Postado Março 17, 2012 Denunciar Share Postado Março 17, 2012 Bom, mas faltou uma otimizada no code Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
senhor_unix
Calculadora feita no Dev-C++.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.