1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

haskell

Discussão em 'Programação' iniciada por berzebu, 20 de Novembro de 2006. (Respostas: 1; Visualizações: 601)

  1. Peço ajuda para a seguinte função, dado um número inteiro devolve uma
    string com a lista de digitos por extenso.

    17486
    UM SETE QUATRO OITO SEIS
     
  2. vma85

    vma85 Power Member

    converteInt :: Int -> String
    converteInt a = aux a ""
    where aux :: Int -> String -> String
    aux a ls |(a==0) = ls
    |((mod a 10)==0)= aux (div a 10) ("ZERO "++ ls)
    |((mod a 10)==1)= aux (div a 10) ("UM "++ ls)
    |((mod a 10)==2)= aux (div a 10) ("DOIS "++ ls)
    |((mod a 10)==3)= aux (div a 10) ("TRES "++ ls)
    |((mod a 10)==4)= aux (div a 10) ("QUATRO "++ ls)
    |((mod a 10)==5)= aux (div a 10) ("CINCO "++ ls)
    |((mod a 10)==6)= aux (div a 10) ("SEIS "++ ls)
    |((mod a 10)==7)= aux (div a 10) ("SETE "++ ls)
    |((mod a 10)==8)= aux (div a 10) ("OITO "++ ls)
    |((mod a 10)==9)= aux (div a 10) ("NOVE "++ ls)

    Aqui está, identa tudo bem para nao dar erros.

    P.S. A funcao corta os zeros do inicio dos numeros. ex: 000202 vai dar "DOIS ZERO DOIS ", tenta resolver se for necessario
     

Partilhar esta Página