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);
}
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
UUID da partição efi mudou, multiboot já era...e agora? (7)
Acabei zuando meu Linux inteiro e estou desesperado (6)