![]() |
|< 1 2 3 4 5 >| | ![]() |
45 Einträge, 5 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
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
#!/usr/bin/perl
use strict;
###############
# Eingabe einer Formel über die Tastatur
###############
print "Bitte geben sie eine Formel ein und das OHNE Leerzeichen: ";
my $formula = "";
my @array = ();
for ( $formula = <STDIN>)
{
chomp($formula );
printf("Ihre Formel lautet, %s !\n",$formula ); ## Ausgabe mittels Zeichenkette
#@array = split(/\s+/,$formula );
#for (my $i = 0; $i < @array; $i++)
#{
# print "@array[$i] \n"; ## Ausgabe der jeweiligen Positionen im Array
#}
}
while($formula =~ s/\(([^\(]*?)\)/calc($1)/eg)
{
}
print sprintf("%.2f\n", calc($formula));
sub calc{
my ($x1,$y,$x2) = @_;
if($y eq '*'){
return mal($x1,$x2);
}
elsif($y eq '/'){
return div($x1,$x2);
}
elsif($y eq '+'){
return plus($x1,$x2);
}
elsif($y eq '-'){
return minus($x1,$x2);
}
else{
return 0;
}
}
## SubMethode Addition definieren
sub plus{
my ($x1,$x2) = @_;
return $x1 + $x2;
}
## SubMethode Muliplikation definieren
sub mal{
my ($x1,$x2) = @_;
return $x1 * $x2;
}
## SubMethode Subtraktion definieren
sub minus{
my ($x1,$x2) = @_;
return $x1 - $x2;
}
##SubMethode Division definieren
sub div{
my ($x1,$x2) = @_;
return $x1 / $x2;
}
###########
# LOG - File Ausgabe
#########
my ($sekunde, $minute, $stunde, $tag, $monat, $jahr) = (localtime)[0..6];
++$monat;
$jahr += 1900;
printf "Datum: %02d.%02d.%4d Uhrzeit: %02d:%02d:%02d\n",
$tag, $monat, $jahr, $stunde, $minute, $sekunde;
1
2
3
4
5
6
7
8
9
10
11
for ( $formula = <STDIN>)
{
chomp($formula );
printf("Ihre Formel lautet, %s !\n",$formula ); ## Ausgabe mittels Zeichenkette
#@array = split(/\s+/,$formula );
#for (my $i = 0; $i < @array; $i++)
#{
# print "@array[$i] \n"; ## Ausgabe der jeweiligen Positionen im Array
#}
}
1
2
3
$formula = <STDIN>;
chomp($formula );
printf("Ihre Formel lautet, %s !\n",$formula ); ## Ausgabe mittels Zeichenkette
1
2
3
4
5
6
sub calc{
my ($part) = @_;
while($part =~ s!(\d+)\s*([\*\/])\s*(\d+)!subcalc($1,$2,$3)!eg){};
while($part =~ s!(\d+)\s*([\+\-])\s*(\d+)!subcalc($1,$2,$3)!eg){};
return $part;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
sub subcalc{
my ($x1,$y,$x2) = @_;
if($y eq '*'){
return mal($x1,$x2);
}
elsif($y eq '/'){
return div($x1,$x2);
}
elsif($y eq '+'){
return plus($x1,$x2);
}
elsif($y eq '-'){
return minus($x1,$x2);
}
else{
return 0;
}
}
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
83
84
85
86
87
#!/usr/bin/perl
use strict;
###############
# Eingabe einer Formel über die Tastatur
###############
print "Bitte geben sie eine Formel ein und das OHNE Leerzeichen: ";
my $formula = "";
my @array = ();
#for ( $formula = <STDIN>)
#{
# chomp($formula );
# printf("Ihre Formel lautet, %s !\n",$formula ); ## Ausgabe mittels Zeichenkette
#@array = split(/\s+/,$formula );
#for (my $i = 0; $i < @array; $i++)
#{
# print "@array[$i] \n"; ## Ausgabe der jeweiligen Positionen im Array
#}
#}
$formula = <STDIN>;
chomp($formula );
printf("Ihre Formel lautet, %s !\n",$formula );
while($formula =~ s/\(([^\(]*?)\)/calc($1)/eg) {
}
print sprintf("%.2f\n", calc($formula));
sub calc{
my ($part) = @_;
while($part =~ s!(\d+)\s*([\*\/])\s*(\d+)!subcalc($1,$2,$3)!eg){};
while($part =~ s!(\d+)\s*([\+\-])\s*(\d+)!subcalc($1,$2,$3)!eg){};
return $part;
}
sub subcalc{
my ($x1,$y,$x2) = @_;
if($y eq '*'){
return mal($x1,$x2);
}
elsif($y eq '/'){
return div($x1,$x2);
}
elsif($y eq '+'){
return plus($x1,$x2);
}
elsif($y eq '-'){
return minus($x1,$x2);
}
else{
return 0;
}
}
## SubMethode Addition definieren
sub plus{
my ($x1,$x2) = @_; #@_ speichern der Übergabeparameter
return $x1 + $x2;
}
## SubMethode Muliplikation definieren
sub mal{
my ($x1,$x2) = @_; #@_ speichern der Übergabeparameter
return $x1 * $x2;
}
## SubMethode Subtraktion definieren
sub minus{
my ($x1,$x2) = @_; #@_ speichern der Übergabeparameter
return $x1 - $x2;
}
##SubMethode Division definieren
sub div{
my ($x1,$x2) = @_;
return $x1 / $x2;
}
###########
# LOG - File Ausgabe
#########
my ($sekunde, $minute, $stunde, $tag, $monat, $jahr) = (localtime)[0..6];
++$monat;
$jahr += 1900;
printf "Datum: %02d.%02d.%4d Uhrzeit: %02d:%02d:%02d\n",
$tag, $monat, $jahr, $stunde, $minute, $sekunde;
1
2
while($part =~ s!(\d+)\s*([\*\/])\s*(\d+)!subcalc($1,$2,$3)!eg){};
while($part =~ s!(\d+)\s*([\+\-])\s*(\d+)!subcalc($1,$2,$3)!eg){};
![]() |
|< 1 2 3 4 5 >| | ![]() |
45 Einträge, 5 Seiten |