C
Corbin
Hey, alle zusammen!
ich muss im Moment für mein praktikum (von der schule aus) hier mit shell einen Taschenrechner programmieren, natürlich nur ganz einfach mit den 4 grundrechenarten... die leute hier im betrieb helfen uns nicht, uns ist aber erlaubt das internet zu rate zu ziehen, also vielleicht kann mir einer von euch helfen
hier das script, und gleich mit das Problem:
so, das wars soweit, nur bei dem script haben wir ein problem mit den zahlen:
ich kann bei Zahl eins (nach der programmierung zwar wie erwartet nur zahlen, und keine buchstaben anngeben, aber auch nur immer 1 zahl, was natürlich nicht sinn der aufgabe ist...
bei dem anderem kann man zwar soviele zahlen wie man will angeben, aber man kann auch zahlen in Verbindung mit Buchstaben als Variable nennen, was ja nicht so sein soll
Vielleicht könnt ihr uns ja helfen, danke im vorraus
ich muss im Moment für mein praktikum (von der schule aus) hier mit shell einen Taschenrechner programmieren, natürlich nur ganz einfach mit den 4 grundrechenarten... die leute hier im betrieb helfen uns nicht, uns ist aber erlaubt das internet zu rate zu ziehen, also vielleicht kann mir einer von euch helfen

hier das script, und gleich mit das Problem:
Code:
#! /bin/bash
clear
antw="ja"
while test $antw == "ja" -o $antw == "j" -o $antw == "Ja" -o $antw == "J" -o $antw == "y" -o $antw == "yes" -o $antw == "Yes" -o $antw == "Y"
do
echo "Wähle die erste Zahl: "
read z1
if [[ $z1 =~ [0-9] && [^a-zA-Z] ]]
then
echo "Nenne die zweite Zahl: "
read z2
if [[ $z2 =~ [0-9] ]]
then
echo -n "Wählen sie aus: 1 - Addition, 2 - Subtraktion, 3 - Multiplikation, 4 - Division: "
read rz
echo ""
case $rz in
1 ) erg=`expr $z1 + $z2`
echo "Das Ergebnis ist: $erg."
;;
2 ) erg=`expr $z1 - $z2`
echo "Das Ergebnis ist: $erg."
;;
3 ) erg=`expr $z1 \* $z2`
echo "Das Ergebnis ist: $erg."
;;
4 ) erg=`expr $z1 / $z2`
echo "Das Ergebnis ist: $erg."
;;
* ) echo "Nicht möglich, nur die 4 Grundrechenarten"
;;
esac
else
echo ""
echo "Keine Zahl eingegeben!"
echo ""
fi
else
echo ""
echo "Keine Zahl eingeben!"
echo ""
fi
echo ""
echo -n "Noch einmal? (ja für noch eine Runde) "
read antw
if test -z $antw;
then
echo "Viel Spaß noch"
exit 1
else
echo ""
fi
done
echo ""
echo "Viel Spaß noch!"
echo ""
exit 2
ich kann bei Zahl eins (nach der programmierung zwar wie erwartet nur zahlen, und keine buchstaben anngeben, aber auch nur immer 1 zahl, was natürlich nicht sinn der aufgabe ist...
bei dem anderem kann man zwar soviele zahlen wie man will angeben, aber man kann auch zahlen in Verbindung mit Buchstaben als Variable nennen, was ja nicht so sein soll
Vielleicht könnt ihr uns ja helfen, danke im vorraus
