Funções matemáticas

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

[ Hits: 10.700 ]

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

[C] Parâmetros para printf

C join

Manipulação de letras maiusculas e minusculas

SIMULADOR DE DADOS DE RPG VAMPIRO A MÁSCARA - Corrigido

Pedindo uma senha ao usuário!!!


  

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