Shell Scripts February 24, 2008 0

Procedura zamieniajaca liczbe na jej reprezentacje slowna

  • Procedura zamieniajaca liczbe na jej reprezentacje slowna

 

#!/bin/bash
#Procedura zamieniajaca liczbe na jej reprezentacje slowna

procedura()
{
if [ $1 -lt 0 -a $1 -gt 99 ]; then
echo "Liczba w nieprawidlowym zakresie!"
exit
fi

case $1 in
10) echo "dziesiec" ;;
11) echo "jedenascie" ;;
12) echo "dwanascie" ;;
13) echo "trzynascie" ;;
14) echo "czternascie" ;;
15) echo "pietnascie" ;;
16) echo "szesnascie" ;;
17) echo "siedemnascie" ;;
18) echo "osiemnascie" ;;
19) echo "dziewietnascie" ;;
2?) echo -n "dwadziescia " ;; # -n -- nie przechodz do nastepnego wiersza
3?) echo -n "trzydziesci " ;;
4?) echo -n "czterdziesci " ;;
5?) echo -n "piecdziesiat " ;;
6?) echo -n "szescdziesiat " ;;
7?) echo -n "siedemdziesiat " ;;
8?) echo -n "osiemdziesiat " ;;
9?) echo -n "dziewiecdziesiat " ;;
esac

if [ $i -lt 10 -o $i -gt 19 ]; then # jezeli liczba < 10 i liczba > 19
case $1 in
0) echo "zero" ;;
?0) echo "" ;;
*1) echo "jeden" ;;
*2) echo "dwa" ;;
*3) echo "trzy" ;;
*4) echo "cztery" ;;
*5) echo "piec" ;;
*6) echo "szesc" ;;
*7) echo "siedem" ;;
*8) echo "osiem" ;;
*9) echo "dziewiec" ;;
esac
fi
}

# test procedury
i=0
while [ $i -le 99 ]; do
procedura $i

i=$[ $i + 1 ];
done