misanthrop
06-05-2003, 16:36
also folgendes soll ein quiz für die shell sein. die fragen befinden sich in ner textdatei.
bin soweit schon gekommen. das stellen der fragen usw. geht auch. nur seit ich das ganze in einer Schleife mache hört diese trotz break nicht mehr auf. Eigentlich soll sie aufhören wenn die Zählvariable gleich der Anzahl der Fragen im Fragenkatalog ist...
nur irgendwie naja...schaut mal selbst...
wäre nett wenn ihr helfen könntet...hab nicht so den durchblick inner shell....
#!/bin/sh
i=1 #i zähler für die while-schleife
rcount=0 #in dieser Variablen wird die Anzahl der richtigen Antworten festgehalten
wcount=0 #in dieser Variablen wird die Anzahl der falschen Antworten festgehalten
zfragen=$(wc -l ./fragen) #anzahl der fragen auslesen
while :
do
if test ["$i" = "$zfragen"]
then
break;
else
grep ^1 ./fragen | cut -f2 -d: #die frage auslesen
echo ""
grep ^1 ./fragen | cut -f3 -d: #die antworten auslesen
echo ""
echo "Geben Sie eine Antwort (zahl)"
richtig=$(grep ^1 ./fragen | cut -f4 -d:) #richtige antwort auslesen
read antwort #benutzereingabe
if test "$antwort" = "$richtig" #vergleich der eingabe mit der richtigen antwort
then
echo "Das war richtig!!! TADA!!!"
rcount=`expr $rcount + 1` #richtige antwort hochzählen
i=`expr $i + 1` #zählvariable hoch
else
echo "LOOOOSSSEEEEERRRRRR!!!"
i=`expr $i + 1` #zählvariable hoch
fi
fi
done
bin soweit schon gekommen. das stellen der fragen usw. geht auch. nur seit ich das ganze in einer Schleife mache hört diese trotz break nicht mehr auf. Eigentlich soll sie aufhören wenn die Zählvariable gleich der Anzahl der Fragen im Fragenkatalog ist...
nur irgendwie naja...schaut mal selbst...
wäre nett wenn ihr helfen könntet...hab nicht so den durchblick inner shell....
#!/bin/sh
i=1 #i zähler für die while-schleife
rcount=0 #in dieser Variablen wird die Anzahl der richtigen Antworten festgehalten
wcount=0 #in dieser Variablen wird die Anzahl der falschen Antworten festgehalten
zfragen=$(wc -l ./fragen) #anzahl der fragen auslesen
while :
do
if test ["$i" = "$zfragen"]
then
break;
else
grep ^1 ./fragen | cut -f2 -d: #die frage auslesen
echo ""
grep ^1 ./fragen | cut -f3 -d: #die antworten auslesen
echo ""
echo "Geben Sie eine Antwort (zahl)"
richtig=$(grep ^1 ./fragen | cut -f4 -d:) #richtige antwort auslesen
read antwort #benutzereingabe
if test "$antwort" = "$richtig" #vergleich der eingabe mit der richtigen antwort
then
echo "Das war richtig!!! TADA!!!"
rcount=`expr $rcount + 1` #richtige antwort hochzählen
i=`expr $i + 1` #zählvariable hoch
else
echo "LOOOOSSSEEEEERRRRRR!!!"
i=`expr $i + 1` #zählvariable hoch
fi
fi
done