jorgerabello
(usa Ubuntu)
Enviado em 25/02/2009 - 18:42h
Cara muito obrigado !!!!!!!!!
Valeu msmo, agora funcionou, so q ao inves de o programa aceitar uma entrada do teclado la no fim ele segue direto para o break,estou tentando ver o que é mas pelo fonte acho que é o getchar só tem o if (condição mas o getchar não está la ?Posso fazer a msma função do getchar com scanf ?Segue o fonte:
#include <stdio.h>
#include <stdlib.h>
/*Calculadora Simples */
/*Por Jorge Rabello*/
int main(int nargs, char *args[])
{
float result,a,b;
int menu;
int iContinua;
for (iContinua = 0; iContinua == 1;)
system("clear"); /*executa um comando shell (limpar a tela)*/
printf("\n\tMenu\n\t[1] Somar\n\t[2] Subtrair\n\t[3] Dividir\n\t[4] Multiplicar\n\t>> ");
scanf("%d",&menu);
switch (menu)
{
case 1: printf("\n\tOpcao %d escolhida!\n",menu);
printf("\n\tDigite o Primeiro Valor:");
printf("\n\t>> ");
scanf("%f",&a);
printf("\n\tDigite o Segundo Valor:");
printf("\n\t>> ");
scanf("%f",&b);
result= a+b;
printf("\n\t>> Resultado: %.2f\n\n",result);
break;
case 2: printf("\n\tOpcao %d escolhida!\n",menu);
printf("\n\tDigite o Primeiro Valor:");
printf("\n\t>> ");
scanf("%f",&a);
printf("\n\tDigite o Segundo Valor:");
printf("\n\t>> ");
scanf("%f",&b);
result = a -b;
printf("\n\t>> Resultado: %.2f\n\n",result);
break;
case 3: printf("\n\tOpcao %d escolhida!\n",menu);
printf("\n\tDigite o Primeiro Valor:");
printf("\n\t>> ");
scanf("%f",&a);
printf("\n\tDigite o Segundo Valor:");
printf("\n\t>> ");
scanf("%f",&b);
result = a/b;
printf("\n\t>> Resultado: %.2f\n\n",result);
break;
case 4:
printf("\n\tOpcao %d escolhida!\n",menu);
printf("\n\tDigite o Primeiro Valor:");
printf("\n\t>> ");
scanf("%f",&a);
printf("\n\tDigite o Segundo Valor:");
printf("\n\t>> ");
scanf("%f",&b);
result = a*b;
printf("\n\t>> Resultado: %.2f\n\n",result);
break;
default: printf("\n\t>> Nenhuma das opcoes foi selecionada!\n\n");
}
printf ("\n\n\tDeseja efetuar outra conta? (s/n)\n");
fflush (stdin); /* limpa o bufer da entrada padrão, do teclado, para não receber "lixo" */
/* getchar recebe um caractere da entrada padrão */
if (getchar ()== 's') /* Continua o laço e começa tudo de novo */
{
iContinua = 1;
}
else /* Qualquer coisa diferente de "s" é considerado "não" como resposta */
{
iContinua = 0; /* E o laço será finalizado */
}
}
------------------------------------------------------------------------
Menu
[1] Somar
[2] Subtrair
[3] Dividir
[4] Multiplicar
>> 4
Opcao 4 escolhida!
Digite o Primeiro Valor:
>> 6
Digite o Segundo Valor:
>> 6
>> Resultado: 36.00
Deseja efetuar outra conta? (s/n)