#include <stdio.h>

int fatorial(int num) {
    if (num >= 0) {
        int fat = 1;
        while (num > 0) {
            fat *= num;
            num--;
        }
        return fat;
    } else {
        return -1;
    }
}

int main() {
    int num;
    printf("ESTE POGRAMA CALCULA N FATORIAL = N!\n");
    printf("Digite um valor para ser calculado: ");
    scanf("%d", &num);
    int fat = fatorial(num); //chama a função passado o que foi digitado e guarda em fat
    if (fat < 1) { //verifica se o retorno é menor que 1, se for indica erro
        printf("O calculo do fatorial se aplica somene aos numeros naturais.\n");
    } else { //se fat não for menor que um, então pode imprimir o resultado
        printf("\n\tO fatorial de %d = %d\n\n", num, fat);
    } //encerrou o bloco do if, só executa um dos dois blocos, nunca ambos
}

//https://pt.stackoverflow.com/q/185619/101