Enviado em 07/01/2016 - 02:06h
Olá , Essa uma Calculadora em C , gostaria de sugestões , dicas, testes , para melhor funcionamento deste código.
//calculadora com dois numero
//operações: soma,subtracação,multiplicação,divisão,resto da divisao,modulo,raiz quadrada,seno,cosseno
//tangente,logaritimo natural,logaritimo base 10,potenciação e faltorial
//Criado por: Marcelo Ruan Moura Araujo
// inicio:04/01/2016 h:22:37
//fim da primeira parte: 05/01/2015 00:36
//fim da segunda parte:05/01/2015 23:39
#include<stdio.h>
#include<stdlib.h>
#include<math.h> //biblioteca matematica
#include<locale.h> //biblioteca para acentuação
void soma(float num1,float num2); //função soma
void subtracao(float num1,float num2); //função subtração
void multiplicacao(float num1,float num2); //função multiplica
void divisao(float num1,float num2); //função divisão
void restodiv(int num1,int num2); // função restodiv
void modulo(float num1,float num2); //função modulo
void raiz(float num1,float num2); //funçao raiz
void senno(float num1,float num2); //função seno
void tangente(float num1,float num2);//função tangente
void logn(float num1,float num2);//função log natural
void logdez(float num1,float num2);//função log de dez
void expoente(float num1,float num2);//função expoente
void fatorial(float num1,float num2);//funçao fatorial
int main(void){
setlocale(LC_ALL,"PORTUGUESE");//inserindo acentuação do português
float num1,num2;
char ope;
do{
printf("\n\n Calculadora \n\n");
printf("Operações Disponíveis\n");
printf("'+' Soma\n");
printf("'-' Subtração\n");
printf("'*' Multiplicação\n");
printf("'/' Divisão\n");
printf("'%%' Resto da divisão\n");
printf("'m' Módulo\n");
printf("'r' Raiz Quadrada\n");
printf("'s' Seno\n");
printf("'t' Tangente\n");
printf("'l' Logartimo Natural\n");
printf("'L' Logartimo base 10(dez)\n");
printf("'e' Expoente\n");
printf("'f' Fatorial\n");
scanf("%f", &num1);
scanf(" %c", &ope); //imporante inserir espaço para limpar lixo do teclado
scanf("%f", &num2);
switch(ope){ //menu de decisão usa o caracter para a função determinada
case '+':
soma(num1,num2);
break;
case '-':
subtracao(num1,num2);
break;
case '*':
multiplicacao(num1,num2);
break;
case '/':
divisao(num1,num2);
break;
case '%':
restodiv(num1,num2);
break;
case 'm':
modulo(num1,num2);
break;
case 'r':
raiz(num1,num2);
break;
case 's':
senno(num1,num2);
break;
case 't':
tangente(num1,num2);
break;
case 'l':
logn(num1,num2);
break;
case 'L':
logdez(num1,num2);
break;
case 'e':
expoente(num1,num2);
break;
case 'f':
fatorial(num1,num2);
break;
default:
if(num1 != 0 && ope != '0' && num2 != 0)
printf(" Operador inválido\n\n "); // caso não digite operador válido do menu
else
printf(" Fechando calculadora!\n "); // para encerrar o programa
}
}while(num1!=0 && ope!='0' && num2!=0); //fim do laço de parada
}
void soma(float num1,float num2){
printf("A soma é igual %2.f",num1+num2);
}
void subtracao(float num1,float num2){
printf("A subtração é igual %2.f",num1-num2);
}
void multiplicacao(float num1,float num2){
printf("A multiplicação é igual %2.f",num1*num2);
}
void divisao(float num1,float num2){
printf("A divisão é igual %2.f",num1/num2);
}
void restodiv(int num1,int num2){
printf("O resto da divisão é igual %2.d ",num1%num2);
}
void modulo(float num1,float num2){
if(num1>0)
printf("O módolo do primeiro número é igual %2.f\n",num1);
else
printf("O módulo do primeiro número é igual %2.f\n",-num1);
if(num2>0)
printf("O módulo do segundo número é igual %2.f\n",num2);
else
printf("O módulo do segundo número é igual %2.f\n",-num2);
}
void raiz(float num1,float num2){
printf("A raiz do primeiro número é igual %f\n",sqrt(num1)); //função raiz quadrada já está incluida na biblioteca math.h
printf("A raiz do segundo número é igual %f\n",sqrt(num2));
}
void senno(float num1,float num2){
printf("O seno do primeiro número é igual %f\n",sin(num1));//função seno já está incluida na biblioteca math.h
printf("O seno do segundo número é igual %f\n",sin(num2));
}
void tangente(float num1,float num2){
printf("A Tangente do primeiro número é igual %f\n",tan(num1));//função tangente já está incluida na biblioteca math.h
printf("A Tangente do segundo número é igual %f\n",tan(num2));
}
void logn(float num1,float num2){
printf("O logartimo natural do primeiro número é igual %f\n",log(num1));//função logartimo natural já está incluida na biblioteca math.h
printf("O logaritimo natural do segundo número é igual %f\n",log(num2));
}
void logdez(float num1,float num2){
printf("O logaritimo base 10 do primeiro número é igual %f\n",log10(num1));//função logaritimo base 10 já está incluida na biblioteca math.h
printf("O logartimo base 10 do segundo número é igual %f\n",log10(num2));
}
void expoente(float num1,float num2){
float exp;
printf("Digite o expoete a ser cáculado:");
scanf("%f",&exp);
printf("\nO primeiro número %f com expoente %f é igual %f\n",num1,exp,pow(num1,exp));//função expoente já está incluida na biblioteca math.h
printf("O Segundo número %f com expoente %f é igual %f\n\n",num2,exp,pow(num2,exp));
}
void fatorial(float num1,float num2){
int i;
int f1=1,f2=1;
for(i=num1;i>1;i--){
f1*=i;
}
for(i=num2;i>1;i--){
f2*=i;
}
printf("O fatorial do primeiro número é igual %d\n",f1);//função fatorial
printf("O fatorial do segundo número é igual %d\n",f2);
}
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta