Funções matemáticas

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

[ Hits: 10.542 ]

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

Raizes reais e complexas de uma equação de 2º grau

Cadastro de alunos em C

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

Quadrado Mágico

Crescimento de bactérias


  

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