Leser: 1
|< 1 2 >| | 13 Einträge, 2 Seiten |
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
#!/usr/local/bin/perl #Perl Rechner #MauriZze print q { Willkommen zum Perl Rechner, er unter stützt Plus, Minus, Multiplizieren und Geteilt. Zunächst gibst du deine erste Zahl ein, dann die Funktion: 1 = Plus, 2 = Minus, 3 = Multiplizieren und 4 = Geteilt }; @function = ("+","-","*","/"); print "\n"; print "Deine erste Zahl bitte!"; print "\n"; chomp($zahl1 = <STDIN>); print "\n"; print "Die gewünschte Funktion"; print "\n"; chomp($f = <STDIN>); print "\n"; print "Deine zweite Zahl bitte"; print "\n"; chomp($zahl2 = <STDIN>); print "\n"; print "Ergebnis\n"; print $zahl1 $function[$f] $zahl2
MauriZze+2008-06-16 19:07:35--
[...]
print eval("$zahl1 $function[$f] $zahl2;");
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
@function = ( sub { $_[0] + $_[1]; }, sub { $_[0] - $_[1]; }, sub { $_[0] * $_[1]; }, sub { $_[0] / $_[1]; } ); [...] print $function[$f]->($zahl1, $zahl2);
1 2 3 4
if ($zahl1 =~ tr/0-9//c or $zahl2 =~ tr/0-9//c) { die "Ungültige Zahlen" } print eval "$zahl1 $function[$f] $zahl2";
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
#!/usr/local/bin/perl #Perl Rechner #MauriZze use strict; use warnings; my $zahl1=1; my $zahl2=1; my $f=1; my $ergebnis=0; print q { Willkommen zum Perl Rechner, er unter stützt Plus, Minus, Multiplizieren und Geteilt. Zunächst gibst du deine erste Zahl ein, dann die Funktion: 1 = Plus, 2 = Minus, 3 = Multiplizieren und 4 = Geteilt }; print "\n"; print "Deine erste Zahl bitte!"; print "\n"; chomp($zahl1 = <STDIN>); print "\n"; print "Die gewünschte Funktion"; print "\n"; chomp($f = <STDIN>); print "\n"; print "Deine zweite Zahl bitte"; print "\n"; chomp($zahl2 = <STDIN>); print "\n"; if($f==1) { $erbenis=addiere($zahl1,$zahl2); } elsif($f==2) { $erbenis=subtrahiere($zahl1,$zahl2); } elsif($f==3) { $erbenis=multipliziere($zahl1,$zahl2); } elsif($f==4) { $erbenis=dividiere($zahl1,$zahl2); } else { print "Keine erlaubte Aktion!\n"; } print "Ergebnis: $ergebnis\n"; ############################## ############################## sub addiere { my ($wert1,$wert2)=@_; return $wert1 + $wert2; } sub subtrahiere { my ($wert1, $wert2)=@_; return $wert1 - $wert2; } sub multipliziere { my ($wert1, $wert2)=@_; return $wert1 * $wert2; } sub dividiere { my ($wert1, $wert2)=@_; return $wert1 * $wert2; }
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
#!/usr/local/bin/perl use strict; use warnings; my %operators = ( '+' => sub { $_[0] + $_[1] }, '-' => sub { $_[0] - $_[1] }, '*' => sub { $_[0] * $_[1] }, '/' => sub { $_[0] / $_[1] } ); $|++; # Flush output automatically print 'First operand: '; chomp (my $operand1 = <>); print 'Operator: '; chomp(my $symbol = <>); print 'Second operand: '; chomp(my $operand2 = <>); die "Unknown operator $symbol\n" if (!exists $operators{$symbol}); print "----------------\nResult: ", $operators{$symbol}->($operand1, $operand2), "\n";
QuoteQuelle: http://perldoc.perl.org/perlvar.htmlHANDLE->autoflush(EXPR)
$OUTPUT_AUTOFLUSH
$|
If set to nonzero, forces a flush right away and after every write or print on the currently selected output channel. ....
betterworld+2008-06-16 23:19:26--..., irgend etwas mit eval "" zu machen. Das sollte man sich auf keinen Fall angewoehnen, weil es allgemein als schlechter Programmierstil anerkannt ist und ausserdem sehr leicht Sicherheitsprobleme bedeuten kann.
|< 1 2 >| | 13 Einträge, 2 Seiten |