perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 22
Click for quality!




11.02.2012 / 16:16

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragInkrementierung
Seitenanfang
Da ich noch kein Perl-Spezialist bin aber hoffentlich noch einer werde, versteh ich die einfachsten Dinge nicht. Ich stehe vor folgendem Problem:
Es soll eine beliebige Eingabe eines Zahlenwerts vom Anwender verlangt werden. Wenn Eingabe >10 od <0, dann Fehlermeldung. Wenn Wert korrekt soll der Wert quadriert und das Ergebnis ausgegeben werden. Dann Wert um 1 erhöhen und die nochmalige Berechnung/Ausgabe erfolgen.
Dieser Vorgang soll 5x wiederholt werden; dann das Skript beendet werden. Und soweit bin ich: Kann mir jmd weiterhelfen?
#!/usr/bin/perl -w

$eing = 0;

print "\nBitte geben Sie eine Zahl ein:\n";
chomp($eing = <STDIN>);

if($eing>10 or $eing<0)
{
print "Die Berechnung von Quadratwurzeln aus Zahlen gr\x94sser 10 und negativen Zahlen ist nicht m\x94glich.\n";
}
else
{
printf "Die Quadratwurzel von %d ist %.4f.\n", $eing, sqrt $eing;
}
print "Ende des Skripts.\n";

Datum: 17.10.2005-08:14

Beitragre: Inkrementierung
Seitenanfang
Hi,
ganz einfach mit einer for Schleife (siehe Code).

Du solltest bei Eingaben von Usern immer mit dem Schlimmsten rechnen (Dummheit & Angriffe), deshalb überprüfe ich hier mit einem regulären Ausdruck, ob wirklich etwas zwischen 0 und 9 eingegeben wurde.

Du würdest nämlich z.B. sowas bekommen:


Bitte geben Sie eine Zahl ein:
a
Argument "a" isn't numeric in numeric gt (>) at sqrt.pl line 9, <STDIN> line 1.
Die Berechnung von Quadratwurzeln aus Zahlen groesser 10 und negativen Zahlen, sowie aus Nicht-Zahlen ist nicht moeglich.
Ende des Skripts.

Hier der Code:

#!/usr/bin/perl -w

$eing = 0;

print "\nBitte geben Sie eine Zahl ein:\n";
chomp($eing = <STDIN>);

if ($eing =~ m/^[0-9]$/) {
for ($eing..$eing+5){
printf "Die Quadratwurzel von %d ist %.4f.\n", $_, sqrt $_;
}
}
else {
print "Die Berechnung von Quadratwurzeln aus Zahlen groesser 10 und negativen Zahlen, sowie aus Nicht-Zahlen ist nicht moeglich.\n";
}

print "Ende des Skripts.\n";


Gruss,
svenXY

Datum: 17.10.2005-10:31

Beitragre: Inkrementierung
Seitenanfang
Super, vielen vielen Dank!

Datum: 18.10.2005-07:27

-






-
-