Atps Calculadora código
Artigo: Atps Calculadora código. Pesquise 862.000+ trabalhos acadêmicosPor: reginaldof • 15/9/2013 • 2.664 Palavras (11 Páginas) • 869 Visualizações
//Desenhando molduras
#include <stdio.h>//para printf()
#include <stdlib.h>//para system()
#include <string.h>//para operações com Strings
#include <conio.h>// para utilização da função getche();
#include <math.h> // ou < cmath> para operações matematicas como Exponenciação, Raiz Quadrada
void Cabecalho(char *oper,char str[]){//função gera uma interface para o usuário e recebe o operador do usuário
system("cls || clear");//limpa a tela Lista = lifo Pilha = fifo
printf("\n\n");
printf("\n\t\xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB");
printf("\n\t\xBA C A L C U L A D O R A \xBA");
printf("\n\t\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC");
printf("\n\n");
printf("\n\t(+) - Soma\n");
printf("\n\t(-) - Subtração\n");
printf("\n\t(*) - Multiplicação\n");
printf("\n\t(/) - Divisão\n");
printf("\n\t(E) - Exponenciação\n");
printf("\n\t(R) - Raiz Quadrada\n");
printf("\n\t(P) - Porcentagem\n");
printf("\n\t(S) - Sair\n");
printf("%s",str);
printf("\n\tDigite Opicao:");//solicita ao usuário o 'Operador'.
*oper = getche();//recebe o Operador pela função getche() recebe valor do teclado do usuário em *char.
}
void SolicitaUsuario(char txtInterface[][80], char *txtOperacao,float *n1, float *n2, bool mostrar){//função recebe o endereço das variaveis passando os valores recuperados do teclado
printf(txtOperacao);
printf("\n\tDigite%s",txtInterface[0]);//solicita ao usuário o primeiro numero.
scanf("%f",&*n1);//recebe o primeiro numero
if(mostrar){
printf("\n\tDigite%s",txtInterface[1]);//solicita ao usuário o segundo numero.
scanf("%f",&*n2);//recebe o segundo numero
}
}
void formatandoResult(float num1, float num2,float resultado,char oper,char *txtOperacao){//formata o resultado
char valores[20] = "";
char convertChar[4];
convertChar[0] = ' ';
convertChar[2] = ' ';
convertChar[3] = '\0';//para indicação de que é uma String,é colocando no final do vetor um valor nulo representado pelo valor '\0'
sprintf(valores, "%2.f", num1);//conversor de float para String
strcat(txtOperacao, valores);//Concatena uma string a outra String
convertChar[1] = oper;
strcat(txtOperacao, convertChar);//Concatena uma string a outra String
sprintf(valores, "%2.f", num2);//conversor de float para String
strcat(txtOperacao, valores);//Concatena uma string a outra String
convertChar[1] = '=';
strcat(txtOperacao, convertChar);//Concatena uma string a outra String
sprintf(valores, "%2.f", resultado);//conversor de float para String
strcat(txtOperacao, valores);//Concatena uma string a outra String
}
float porcentagem(float valor, float porcetagem){ // retorna valor float da porcentagem
return valor * porcetagem / 100;
}
int main(){
float num1, num2, resultado;//num1 = recupera o primeiro numero do usuário ,respequivamente num2.
/*inicia as variáveis que serão utilizadas nas operações adjacentes
*/
char oper;
char txtOperacao[80];
char teste[] = "";
strcpy(txtOperacao, teste);
char str1[] = "\n\tEste Operador é Invalido\n\n";
char txtPadrao [2][80];
strcpy(txtPadrao[0], " primeiro Numero :");
strcpy(txtPadrao[1], " Segundo Numero :");
do{//inicia com 'do' fazendo o primeiro teste e mostrado a interface.
Cabecalho(&oper,txtOperacao);//invocando a função 'Cabecalho' inserindo o parametro 'oper'
strcpy(txtOperacao, teste);//limpa a varievel txtOperacao.
switch( oper ){/*decisão se a variável oper for '+','-','*','/'..etc
Executa as respequivalmente
...