Cześć, moim zadaniem było napisać funkcję, która dla liczb z przedziału 1 .. 999 wyświetli zapis słowny liczby w formacie x-x-x, gdzie każdy z x-sów to nazwa cyfry, np. dla 368 funkcja powinna zwrócić trzy-sześć-osiem.
Oto mój kod strony razem ze skryptami:
<!DOCTYPE html>
<html lang="pl">
<head>
<script type="text/javascript">
function zapis_slowny()
{
var liczba = document.getElementById("a").value;
var tab = new Array(3);
if((liczba.length()>3)||(liczba.charAt(0)=="0")) document.getElementById("wynik").innerHTML="Niedozwolony format";
else
{
for(var i=0; i<liczba.length(); i++)
{
if(liczba.charAt(i)=="0") tab[i]="zero";
else if(liczba.charAt(i)=="1") tab[i]="jeden";
else if(liczba.charAt(i)=="2") tab[i]="dwa";
else if(liczba.charAt(i)=="3") tab[i]="trzy";
else if(liczba.charAt(i)=="4") tab[i]="cztery";
else if(liczba.charAt(i)=="5") tab[i]="pięć";
else if(liczba.charAt(i)=="6") tab[i]="sześć";
else if(liczba.charAt(i)=="7") tab[i]="siedem";
else if(liczba.charAt(i)=="8") tab[i]="osiem";
else if(liczba.charAt(i)=="9") tab[i]="dziewięć";
}
if(liczba.length()==1) document.getElementById("wynik").innerHTML=tab[0];
else if(liczba.length()==2) document.getElementById("wynik").innerHTML=tab[0]+"-"+tab[1];
else if(liczba.length()==3) document.getElementById("wynik").innerHTML=tab[0]+"-"+tab[1]+"-"+tab[2];
}
}
</script>
</head>
</body>
<input id="a" type="text" title="Dopuszczalne liczby od 1 do 999"> <br>
<input type="submit" value="Wyświetl zapis słowny" onclick="zapis_slowny()">
<p id="wynik"></p>
</body>
</html>
No i oczywiście jest niedziałający :D Możliwe że błędnie zadeklarowałem tablice albo z nich źle skorzystałem, albo błąd popełniłem zupełnie gdzieś indziej. Jeśli to ważne - jestem zupełnie początkujący i koduję tylko z ciekawości. Będę wdzięczny za pomoc.