Funções matemáticas

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

[ Hits: 7.185 ]

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

Retirar ocorrências de uma substring dentro de uma string

Leitura de Senhas

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

Aterm multi-color

Seqüência de Fibonacci


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário