Académique Documents
Professionnel Documents
Culture Documents
MINAS GERAIS
CURSO TECNICO EM ELETROELETRONICA
CALCULADORA
Disciplina: Introduo
Programao
Professor: Enderson
Neves Cruz
Introduo 3
Descrio do problema 4
Descrio da soluo proposta 5
Cdigo fonte 6
Fluxograma 11
Concluses 14
Referncias 15
3
Introduo
Descrio do problema
Funo principal:
Oferece ao usurio a opo de usar ou no a calculadora, utiliza a
Funo menu_opcoes para imprimir na tela as opes das operaes.
O usurio digita os valores a ser calculado e o caractere do sinal da
operao que ele deseja realizar.
Envia para funo calculo os valores digitados e o caractere, e
imprime na tela do usurio o calculo realizado e o resultado.
Funo composta por uma estrutura de repetio WHILE que permite
controlar a opo do usurio quando desejar encerrar o uso do programa,
estruturas condicionais IF, ELSE para controlar a opo de uso se valida
ou no
Funo menu_opcoes:
Imprimi na tela do usurio a Inicializao do programa e o menu de
operaes.
Funo calculo:
Recebe da funo principal dois nmeros reais, salva nas variveis
num1 e num2 do tipo float e um caractere na varivel oper do tipo char.
Compara o caractere digitado se algum do menu de opes e
imprime o resultado da operao na tela do usurio.Dependendo do
caractere digitado pelo usurio a funo imprime um resultado diferente.
Funo composta por estrutura condicional SWITCH CASE que
controla o resultado a ser impresso de acordo com o caractere digitado,
caso o usurio digite um caractere invalido imprime na tela a mensagem
opo invalida; composta tambm por estrutura condicional, IF ELSE IF,
ELSE que controla se o usurio digitar valores invlidos, como dividendo
igual a zero ou raiz de ndice par de nmeros negativos, tambm usada
para controlar qual o ndice da raiz a ser calculada.
6
Cdigo fonte:
//bibliotecas do programa
#include <stdio.h>
#include <math.h>
/*
------------------------------------------------------
CALCULADORA-----------------------------------------------------
Programa Calculadora simples realiza algumas operaes bsicas:
Soma, subtrao, multiplicao, diviso, resto da diviso, potncia
raiz quadrada e raiz cbica.
Programa possui opo de usar ou no a calculadora, possui menu
de opes das operaes a ser realizada.
Dividido em 3 funes: Funo principal, funo menu_opcoes,
funo calculo.
Funo principal:
Recebe do usurio a opo de usar ou no a calculadora, utiliza a
funo menu_opcoes para imprimir na tela as opes das operaes.
Recebe do usurio os valores a ser calculado e o caractere do sinal
da operao que ele deseja realizar.
Envia para funo calculo os valores digitados e o caractere e
imprime na tela do usurio o calculo realizado e o resultado.
Funo menu_opcoes:
Imprimi na tela do usurio a Inicializao do programa e o menu de
operaes.
Funo calculo:
Recebe da funo principal dois nmeros reais, salva nas variveis
num1 e num2 do tipo float e um caractere na varivel oper do tipo char.
7
case '-':
printf("%.2f\n\n", num1 - num2);
break;
case '*':
printf("%.2f\n\n", num1 * num2);
break;
8
case '/':
if(num2 != 0)//Compara se o dividendo diferente de 0
printf("%.2f\n\n", num1 / num2);
else
printf("\n\nNao existe divisao por 0\n\n");
break;
case '%':
printf("%d\n\n", (int)num1 % (int)num2);
break;
case '^':
printf("%.2f\n\n", pow(num1,num2));
break;
case 'r':
if(num2==2)//compara se o indicie da raiz igual a 2
{
if(num1>0)//compara se o radicando positivo
printf("%.2f\n\n", sqrt(num1));
else
printf("\n\nNao existe raiz de indice par de numeros negativos!\n\n");
}
else if(num2==3)//compara se o indice da raiz igual a 3
printf("%.2f\n\n",cbrt(num1));
else
printf("\n\nOpcao invalida!\n\n");
break;
default:
printf("\n\n Operador invalido \n\n ");
}
}
9
}
//Informa opo invalida, caso usurio digite opo invalida e oferece
nova oportunidade de opo
else
{
printf("\n\nOpcao invalida!\n\n");
printf("\n\nDeseja Usar a calculadora?\n\n ");
printf("\n\nDigite:\n 1- para usar\n 0- para sair\n\n");
scanf("%d",&liga);
}
}
//Imprime fim do programa
printf("\n\n Fechando calculadora!\n \n");
system("pause");
return 0;
}
11
Fluxograma
Inicio
Liga
liga!=0
liga==1
---C A L C U L A D O R A---
Operaes disponveis
' + ' soma
' - ' subtrao
' * ' multiplicao
' / ' diviso
' %% ' resto da diviso
' ^ ' potencia
' r ' raiz quadrada e cbica
Digite a expresso na forma: numero1 operador numero2;
Exemplos: 1 + 1 , 2.1 * 3.1 , 2^2 , 4r2 ,4r3
X, operador, y
Calculando: x operador y
CASO +
Num1+num2
12
Caso
Num1 num2
Caso *
Num1 * num2
Caso /
Se num2 != 0
Num1 / num1
Caso %
Num1 % num2
Caso ^
Pow(num1,num2)
Caso r
13
num2==2
num1>0
sqrt(num1)
num2==3
cbrt(num1)
Opo invalida
Operador invalido
liga
Opo invalida!
Deseja Usar a calculadora?
1- para usar 0- para sair
liga
Fechando calculadora!
Fim
Concluses
14
Referncias
15