
EnzoFerber
(usa FreeBSD)
Enviado em 10/04/2015 - 18:25h
Ajuda muito quando você escreve um plano de ação e como você já possui um objetivo (o problema), fica fácil listar o que você precisa fazer:
1. Função para calcular o fatorial - esta é a base do programa.
2. Função para calcular o tamanho do número: como dito, existe a função padrão strlen() para isso.
3. Função para converter o número da sua base para decimal.
A parte difícil é o 3.
Como fazer isso? Novamente, outra lista:
1. Tamanho da string (strlen vai te dr isso)
2. Loop através da string.
3. Cada caractere da string deverá ser convertido em seu valor numérico. Como são caracteres, você não conseguirá realizar operações matemáticas com eles. Exemplo: o caractere 0 (zero) tem valor inteiro 48. Para converter:
char c = '0';
int num_a = c - '0'; // ou....
int num_b = c - 48;
4. ENQUANTO o Loop 3 é rodado, você irá realizar os cálculos.
DICA: salve o tamanho da string em uma variável, assim você poderá decrementar essa variável dentro do loop(3).
DICA 2: Imagine seu programa funcionando. O usuário vai digitar um número, o programa vai ler, reunir informações necessárias, executar uma rotina de cálculo e informar o resultado. Quais são os passos necessários (o que o programa precisa fazer) para executar cada uma dessas partes? A partir dessas abstrações e das perguntas que você fizer, você construirá um plano de ação bem eficiente - também chamado de algoritmo.
Qualquer dúvida posta denovo,
Enzo Ferber
[]'s