Schrift
[thread]2980[/thread]

Fehler bei Variablen



<< >> 5 Einträge, 1 Seite
macMeck
 2004-04-09 14:04
#28263 #28263
User since
2003-08-04
162 Artikel
BenutzerIn
[default_avatar]
Hi,

du kannst beim else keine Bedingung mehr angeben. Das heißt ja schon "wenn sonst nichts gepasst hat, dann mach das hier"...
Also mach mal das
Code: (dl )
($income ge 500)
hinter deinem else weg, dann sollte es eigentlich passen.

macMeck
It all works, as long as it's documented!
format_c
 2004-04-09 15:10
#28264 #28264
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ersetze mal bitte ge mit >= und lt <.
das sind die numerischen vergleichsoperatoren,
Zudem solltest du den Zeilenumbruch hinter der Eingabe noch entfernen:
chomp(my $income = <STDIN>);

Bei
Quote
{print "...nicht schlecht"\n;}
solltest du das Newline (\n) in die Zeichenkette mit rein nehmen; {print "...nicht schlecht\n";}
Die Undverknüpfung bei elsif musst du in eine Klammer fassen. Darin kannst du dann wieder schachteln wie du willst. Des weiteren solltest du wenn dann ohne weitere Klammer arbeitest mit && anstatt mit and arbeiten da && nicht so eine hohe Bindung wie and hat. Mehr kannst du in perldoc perlop lesen.
Ich will dir nicht meinen style aufdrängen aber ich habe mal dein ganzes porgramm angepasst incl style. Musst ihn nicht annehmen aber es gibt noch ein thema in perldoc perlstyle dazu.
Ach ja bei else macht man keine Bedingungsprüfung mehr. heist ja ansonsten. Wenn du weiter Bedingungen prüfen willst musst du elsif nehmen.
Hier jetzt der Komplette Code:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl -w
print "Wieviel verdienst Du? : \n";
chomp(my $income = <STDIN>);

if($income < 200) {
print "Man, dat is nich viel... \n";
}
elsif($income >= 200 && $income < 500) {
print "...nicht schlecht\n";
}
else {
print "Leihst DU mir was?\n";
}


Gruß Alex\n\n

<!--EDIT|format_c|1081509211-->
Gast Gast
 2004-04-09 11:07
#28265 #28265
Hallo, falls mir jemand bei der Fehlersuche einen Tip geben könnte, würde ich mich riesig freuen. Ich steh irgendwie auf dem Schlauch...Danke!

#!/usr/bin/perl -w
print "Wieviel verdienst Du? : \n";
$income = <STDIN>;

if($income lt 200)
{print "Man, dat is nich viel... \n";}
elsif($income ge 200) and ($income lt 500)
{print "...nicht schlecht"\n;}
else($income ge 500)
{print "Leihst DU mir was?"\n;}
[E|B]
 2004-04-09 15:04
#28266 #28266
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
"lt" und "ge": Sind das alphanumerische Synonyme für "<" und ">"?
Wieso verwendest du diese? Nimm doch gleich das allgemein bekannte Größer-Kleiner-Zeichen.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
anfaengerin
 2004-04-09 16:04
#28267 #28267
User since
2004-04-09
1 Artikel
BenutzerIn
[default_avatar]
Danke für die schnelle Hilfe Euch allen,
bin nun regisitriert und werd mich in Ruhe umsehen hier.
Grüße
<< >> 5 Einträge, 1 Seite



View all threads created 2004-04-09 14:04.