Informática, perguntado por camilakalmerick, 1 ano atrás

Como eu faço um algorítimo para se eu digitar um numero ele me de esse numero por extenso???

Soluções para a tarefa

Respondido por cledersonbc
0
Olha, não há maneira simples de se fazer isso. Seria bem complexo e veja porquê:

int x = 2;
char y = 'a';
printf("%d\n%c", x, y);

O número 2 (00000010) é representado por números.
A letra a (0110 0001) também é representada por números. Para você desenvolver esse algoritmo, teria que criar um programa que identificasse cada caractere e a associasse a uma String.
if (x == 2) {
printf("Dois");
}

Mas para não ter que fazer com todos os números, poderia utilizar o operador mod (%) para identificar os algarismos individualmente e formar parte das palavras, veja:

int x = 120;

if (x - 100 == x % 100) { //verifica se é um número na casa do 100
   if (x % 100 == 20) { //verifica se os dois últimos algarismos são 20
     printf("Cento e vinte");
   } //outras verificações
} else if (x - 100 == 0) {
   printf("Cem");
}

Para isto você precisaria de muitas funções e laços de repetições. Entendeu por que seria complexo? Espero ter ajudado!

Respondido por Index
0
Geralmente quando os professores passam esse algoritmo eles delimitam até que número deverá ser impresso em extenso. Se esse for seu caso, basta criar uma estrutura de decisão chamada "escolha caso" para realizar as comparações. Ex:
escolha(variavel)
caso 1:
escreva("um")
caso 2:
escreva("dois")
outrocaso: //caso o número fugir do intervalo
escreva("Numero foge do intervalo")
fimescolha

Agora, caso seu professor não tenha especificado... ai é quase impossível, pois é necessário ter um intervalo, ou seja, até onde ir

Perguntas interessantes