Calculadora em C

Publicado por Marcelo Ruan (ķltima atualizaÁ„o em 18/01/2016)

[ Hits: 915 ]

Homepage: https://sites.google.com/site/marceloruanmoura/

Download projetocalculadora.cpp




O código é de uma Calculadora em C com alguns das funções principais.

  



Esconder cůdigo-fonte

//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);
†††}
†††

Scripts recomendados

gerador automatico de Makefiles

Calculando o nķmero de Neper !

Estrutura de dados: Lista din‚mica duplamente encadeada

analisador palavras

Sistema bŠsico de cadastro usando Listas Encadeadas


  

ComentŠrios
[1] ComentŠrio enviado por Mc.Eagle em 18/01/2016 - 17:46h

Também dispomos de um excelente código no site: http://www.cprogressivo.net/2013/02/Como-criar-uma-calculadora-em-linguagem-C.html . O qual inclusive serviu de fonte de estudo para uma maratona de programação da qual participei.

[2] ComentŠrio enviado por bielinux em 21/01/2016 - 00:15h

Que calculadora chiquérrima é essa? Aqui em casa, a minha só faz 4 operações :O

[3] ComentŠrio enviado por marceloruan em 21/01/2016 - 00:44h


[2] Comentário enviado por bielinux em 21/01/2016 - 00:15h

Que calculadora chiquérrima é essa? Aqui em casa, a minha só faz 4 operações :O


Grato pelo seu comentário :)


Contribuir com comentŠrio




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts