Thread Vokabeltrainer (17 answers)
Opened by Futureflo at 2011-03-06 23:06

Futureflo
 2011-03-06 23:06
#146262 #146262
User since
2011-03-06
26 Artikel
BenutzerIn
[default_avatar]
Als erstes einmal Hallo zusammen!
Ich bin neu hier und hätte gleich mal eine Frage:
Ich bin gerade dran ein Programm mit einigen Unterprogrammen zu schreiben, das dieses Jahr unsere schriftliche Note in Bioinformatik ergeben wird.
Jetzt bin ich gerade an einem Vokabeltrainer.
Ich schätze mal, meine Programmierweise wird nicht so gut sein, da ich relativ neu damit in Kontakt bin und mir den Großteil über Bücher beigebracht hab und niemanden zum Nachfragen habe.

Also das ist mein Unterprogramm:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl

open (LESEN, "Vokabeln.txt")||die "Die Datei konnte nicht gefunden werden";
      $vokabeln=<LESEN>;
close (LESEN);

@vokabeln_array = split (/:+/, $vokabeln);

open (LESEN, "Loesung.txt")||die "Die Datei konnte nicht gefunden werden";
      $loesung=<LESEN>;
close (LESEN);

@loesung_array = split (/:+/, $loesung);

$#loesung_array;


require (Vokabeltrainer_Unterprogramm);


Dann mein Unter-Unterprogramm:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/perl

$durchgaenge=0;
while ($durchgaenge<($#loesung_array+1))
{

$zahl=0+rand(3);

print"Translate the word $vokabeln_array[$zahl]\n";
$eingabe = <STDIN>;    chomp $eingabe;
if ($eingabe eq $loesung_array[$zahl])     {
print"The translation is correct!\n";
$durchgaenge++;
}
else {
print"The translation is incorrect\n";

print"Do you want to save the incorrect word and answer?\n";
print"(1)Yes              (2)No\n";
$antwort=<STDIN>;    chomp$antwort;

if($antwort eq 1){
print"Please tell me a name how you want to save the wrong answer:\n";
$name=<STDIN>;    chomp$name;

open(SCHREIB,">nichtgekonnte.txt");
     print SCHREIB ">$name\n";
     print SCHREIB $eingabe;
close(SCHREIB);
$durchgaenge++;
}
else{
$durchgaenge++;
}
}
}
exit;



Wie ihr seht würde ich gerne die falsche Antwort speichern.
Jetzt kommt das Problem.
Wenn ich das speichere bekomm ich nur immer die letzte falsche Antwort gespeichert.

Wie kann ich das denn nun ändern, dass auch die anderen falschen Antworten in dieser txt-Datei gespeichert werden?

Danke schon mal für die Antworten

modedit Edited by renee: code-Tags eingefügt
Last edited: 2011-03-07 12:52:13 +0100 (CET)

View full thread Vokabeltrainer