Funções matemáticas

Publicado por Diego Furtado (última atualização em 22/09/2009)

[ Hits: 10.687 ]

Download calculos.c




Código com funções de fatorial, somatória, potência e primalidade.

  



Esconder código-fonte

/// AUTOR : Diego Furtado de Souza
/// EMAIL : dsouza.bh@gmail.com
/// Espaço VOL : http://www.vivaolinux.com.br/~diegofsouza
#include <stdio.h>
#include <math.h>
//Protótipo das funções
int menu();
int fatorial (int);
int somatoria (int);
double potencia (double, int);
bool primalidade (int);


int main () {
   int op, operandos, numero;
   double base; //Double para se fazer a base para a potenciação.
      do {
         op = menu ();
         switch (op) {
            case 1 : //Calculando o Fatorial
               printf("Digite O numero a ser calculado : "); 
               scanf("%d", &numero);
               printf("\nFatorial de %d : %d\n", numero, fatorial(numero));
               system("pause");
               break;
            case 2 : // Somatório
               printf("Digite quantas somas deseja fazer :");
               scanf("%d", &operandos);
               printf("\nSomatorio dos numeros : %d", somatoria(operandos));
               system("pause");
               break;
            case 3 : //Potencia
               printf("Digite a base : "); 
               scanf("%lf", &base);
               printf("\nDigite o expoente : "); 
               scanf("%d", &operandos);
               printf("\nResultado : %.lf\n", potencia(base, operandos));
               system("pause");
               break;
            case 4 : //Verifica se o número é primo.
               printf("Digite O numero : "); 
               scanf("%d", &numero);
               if (primalidade(numero))
                  printf("\nNumero primo!\n");
               else 
                  printf("\nNumero Composto!\n");   
               system("pause");
               break;
            case 5 :
               break;
            default : printf("Opcao invalida!\n"); system("pause");               
         }         
      } while (op != 5);

   return 0;
}

//Escopo das funções
int menu () {
system("cls");
int op;
printf("1 - Fatorial\n2 - Somatoria\n3 - Potencia\n4 - Verificar N. Primo\n5 - Sair\n"); 
scanf("%d", &op);
return op;

}

int fatorial(int x) {
   int fat = x;
   while (fat > 1) {
      x *= fat - 1;
      fat--;
   }
return x;
}

int somatoria(int op) {
int num, soma = 0;
   for (int i = 0; i < op; i++) {
      scanf("%d", &num);
      soma += num;
   }
return soma;
}

double potencia(double x, int y) {
   for (int i = 1; i < y; i++)
      x *= x;
//   potencia = pow(x, y); //Função pronta para cálculo da potência.
   return x;
}

bool primalidade(int p) {
int x = p - 1;   
   while (x > 1) {
      if (p % x == 0)
         return 0;
   x--;      
   }
return 1;
}

Scripts recomendados

Exceções em C através de try-throw-catch

Fatorial de um número

Ajuda para calcular 5 Notas! Não Consigo colocar os gets na formula

Exibi os números primos de um numero recebido pelo usuário, sem estrutura de repetição

Exemplo de Menu


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts