Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

shp

Números por Extenso

Recommended Posts

A sua idéia está correta!

Mas falta organizá-la um bocado.

 

não se esqueça, 10*10 = 100 e esse é o mair número que vamos tratar.

não vamos fazer um switch de 0 a 100, claro... :P

 

como eu faria:

numero = read_numeber(stdin)

if numero < 20:
	switch(numero):
		case1: return "um"
		case2: return "dois"
		...
		case 19: return "Dezenove"
else
	digito1 = numero % 10
	digito2 = numero - digito 1
	resposta = ""

	switch(digito1):
		case 1: return "cem"
		case 2: resposta = resposta + "vinte"
		case 3: resposta = resposta + "trinta"
		....
		case 9: resposta = resposta + "noventa"

	if digito2 != 0:
		resposta = resposta + " e "
	else:
		return resposta

	switch(digito2):
		case 1: resposta = resposta + "um"
		...
		case 9: resposta = resposta + "nove"

	return resposta
agora é só traduzir para C++

 

Existem formas mais elegantes de resolver o problema, mas ficaria mais complexo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.