Funções matemáticas

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

[ Hits: 10.686 ]

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

Como verificar a validade de um CPF

Preloader.c - Adaptação do Tarik Ahmad (Thiago Alexandre) para linux

ArkaPoing (arkanoid+pingpoing hehe)

Campo Elétrico do Quadripolo

util.h


  

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