Devo fare un prg che converte il formato numerico in formato letterale

Utilizzando un array per i numeri principali (zero,uno...dicianove) e un array per le decine (venti,trenta...novanta) sono riuscito ,tramite divisioni succesive a convertire i numeri da 0 a 99999

Non vado oltre x due semplici motivi :

1) ho l'impressione d'aver preso la strada sbagliata dato che sono arrivato a circa 20 if senza contare gli else...

2) spero in un vs suggerimento

voi come fareste un prg simile?