Thread Bitte um Hilfe für eine Studentin bei PERL Aufgaben!! (71 answers)
Opened by Anna_mary at 2010-06-20 14:34

pq
 2010-06-20 16:27
#138495 #138495
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
also der code sieht ziemlich wirr aus.
wie hast du in dem kurs bisher deine aufgaben erledigt?
weisst du, wie man zahlen in perl addiert?

weisst du, dass man nicht einfach eine } geschweifte klammer so in den raum stellt, wenn es keine öffnende gibt?

geh doch mal bitte den code durch und überlege dir, was du da geschrieben hast und ob du jemandem erklären kannst, was der code tut. das sollte man können.
du hast da erstmal eine while-schleife, die rausspringt, falls der eingegebene text "Ende" lautet. mehr aber tut diese schleife dann auch nicht.

wo speicherst du denn die eingegeben artikel ab?

so, und dann wird also die schleife geschlossen, danach kommt ein print und danach eine einzelne schliessende geschweifte klammer.
zu welcher öffnenden soll die gehoren? ist das das ende einer schleife oder if-abfrage, deren anfang wir hier nicht sehen?

dann weiter:
else {exists $hash{$input};

was ist das denn?
erstens: zu dem else gibt es gar kein if
zweitens: exists() ist eine funktion, die etwas abfragt. sie tut aber nichts. was willst du denn mit dem statement bezwecken?
drittens: das else ist nichtmal mit einer schliessenden klammer abgeschlossen.

kann also aus mehreren gründen gar nicht kompilieren.


du musst den code zum artikel abspeichern *in* die schleife speichern. dort machst du die if-abfrage mit exists.
if (exists $hash{ $input }) { ... }

habt ihr kein tutorium zu der vorlesung? so dass sich mal jemand mit dir hinsetzen kann und das durchgehen?

welches buch hast du gelesen, um perl zu lernen?
hast du vorher schon eine andere sprache gelernt?
kennst du http://p3rl.org/perlintro ?
wie lange läuft der kurs schon? haben deine kommilitonen dieselben schwierigkeiten? wenn ja, geht zum prof. wenn nein, warum nicht? fehlen dir evtl. voraussetzungen, die für den kurs notwendig sind?

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
my @articles; # array mit den bestellten produktnamen
while (1) {
    print "Bitte Produktnamen oder 'Ende' eingeben: ";
    chomp( my $input = <STDIN> );
    last if $input eq 'Ende';
    if (exists $hash{$input}) {
        print "Danke, Artikel in den Warenkorb gelegt\n";
        push @articles, $input;
    }
}

# wir brauchen die summe aller preise
my $sum = 0;
# na dann machen eir eine schleife über @artikel
for my $article (@articles) {
    my $price = $hash{$article};
    # wie addiert man eine zahl zu einer bestehenden hinzu?
    $sum += $price;
}

# der gesamtpreis steht in $sum

Last edited: 2010-06-20 16:30:36 +0200 (CEST)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Bitte um Hilfe für eine Studentin bei PERL Aufgaben!!