Thread mathe Parser in Perl (9 answers)
Opened by Gast at 2005-08-03 01:18

Gast Gast
 2005-08-03 01:18
#5364 #5364
Hallo,
ich wollte einen Mathe Parser programmieren leider klappt es schon bei einfachen aufgaben nicht da ich nicht so der Pro bin ,aber ich dachte das es so ähnlich realisierbar wäre schauts euch mal bitte an:
Code: (dl )
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/local/bin/perl -w

use strict;

print "Math - by Patrick König\n";

sub calcString {

my @plus = split(/\+/,$_[0]);
my @minus = split(/-/,$_[0]);
my @mult = split(/\*/,$_[0]);
my @geteilt = split(/\//,$_[0]);

my $end = 0;

if($#plus != 0) {
foreach my $i (@plus) {
print "$i + $end = ";
$end = $i + $end;
print "$end\n";
}
}

if($#minus != 0) {
my $n = 0;
foreach my $i (@minus) {
if($i != 0) {

if($#minus != $n) {

print "$i - $minus[$n+1] = ";

$end = $i - $minus[$n+1];

print "$end\n";

$n++;

}
}
}
}

if($#mult != 0) {
my $n = 0;
foreach my $i (@mult) {
if($#mult != $n) {

if($n == 0) {

print "$i * $mult[$n+1] = ";

$end = $i * $mult[$n+1];

print "$end\n";

} else {

print "$end * $mult[$n+1] = ";

$end = $end * $mult[$n+1];

print "$end\n";

}

$n++;
}
}
}

if($#geteilt != 0) {
my $n = 0;
foreach my $i (@geteilt) {

}
}

print $end;

}

my $term = "2*5*2";

print "Calculateing ".$term." =\n\n\n";

calcString($term);


Gruß Patrick

View full thread mathe Parser in Perl