Taschenrechner Perl --> C

01/06/2014 12:00 DonPadrio#1
Hay,
hab da ein kleines Problem. Ich hab vor kurzem einen Taschenrechner in Perl mit Punkt vor Strich rechnung geschrieben. Nun möchte mein Chef das ich das gleiche in C mache, komme da aber derzeit nicht weiter.:confused:
So sieht mein derzeitiger C-Code aus:
Code:
#include<stdio.h>

int main() {
        float a, b, c, d, e;
        printf("Taschenrechner\n");                             //Variabel bestimmung
        printf("\nGeben sie die 1. Zahl ein: ");                //und scanen 
        scanf("%f", &a);                                        //oder auslesen 
        printf("\nGeben sie die rechenart ein: ");              //der eingegebenen zahlen
        scanf("%f", &b);                                        //oder zeichen
        printf("\nGeben sie die 2. Zahl ein: ");                //
        scanf("%f", &c);                                        //
        printf("\nGeben sie die rechenart ein: ");              //
        scanf("%f", &d);                                        //
        printf("\nGeben sie die 3. Zahl ein: ");                //
        scanf("%f", &e);                                        //
Und so sieht das ganze in Perl aus:
Code:
#!/usr/bin/perl
# Taschenrechner by Hax!
print "Bitte Zahl eingeben: ";
my $zahl1 = <STDIN>;
chop ($zahl1);
print "Rechenart eingeben (+,-,/,*)";
my $rechenart1 = <STDIN>;
chop($rechenart1);
print "Zweite Zahl eingeben: ";
my $zahl2 = <STDIN>;
chop($zahl2);
print "Rechenart eingeben (+,-,/,*)";		 
my $rechenart2 = <STDIN>;
chop($rechenart2);				 
print "Dritte Zahl eingeben: ";			
my $zahl3 = <STDIN>;
chop($zahl3);								                         
						 
sub addition {
($_[0] + $_[1]);
}
sub subtraktion {
($_[0] - $_[1]);
}
sub multi {
($_[0] * $_[1]);
}
sub division {
($_[0] / $_[1]);
}

if ($rechenart2 eq '*' || $rechenart2 eq '/') {

        if($rechenart2 eq '+') {			 
        print "\nAddition wird durchgefuehrt.\n";	 
        $ergebnis = &addition($zahl2, $zahl3);		 
        }						 
        elsif($rechenart2 eq '-') {			 
        print "\nSubtraktion wird durchgeführt.\n";	 
        $ergebnis = &subtraktion($zahl2, $zahl3);	
        }						 
        elsif($rechenart2 eq '*') {			 
        print "\nMultiplikation wird durchgeführt.\n";	 
        $ergebnis = &multi($zahl2, $zahl3);		 
        }					 
        elsif($rechenart2 eq '/') {			 
        print "\nDivision wird durchgeführt.\n";	
        $ergebnis = &division($zahl2, $zahl3);		 
        }

        if($rechenart1 eq '+') {                          
        print "\nAddition wird durchgefuehrt.\n";         
        $ergebnis1 = &addition($ergebnis, $zahl1);            
        }                                                 
        elsif($rechenart1 eq '-') {                       
        print "\nSubtraktion wird durchgeführt.\n";       
        $ergebnis1 = &subtraktion($ergebnis, $zahl1);        
        }                                                 
        elsif($rechenart1 eq '*') {                       
        print "\nMultiplikation wird durchgeführt.\n";    
        $ergebnis1 = &multi($ergebnis, $zahl1);               
        }                                                 
        elsif($rechenart1 eq '/') {                       
        print "\nDivision wird durchgeführt.\n";         
        $ergebnis1 = &division($ergebnis, $zahl1);            
        }

}  
else {

        if($rechenart1 eq '+') {			 
        print "\nAddition wird durchgefuehrt.\n";	 
        $ergebnis = &addition($zahl1, $zahl2);		 
        }						 
        elsif($rechenart1 eq '-') {			 
        print "\nSubtraktion wird durchgeführt.\n";	 
        $ergebnis = &subtraktion($zahl1, $zahl2);	
        }						 
        elsif($rechenart1 eq '*') {			 
        print "\nMultiplikation wird durchgeführt.\n";	 
        $ergebnis = &multi($zahl1, $zahl2);		 
        }						 
        elsif($rechenart1 eq '/') {			 
        print "\nDivision wird durchgeführt.\n";	
        $ergebnis = &division($zahl1, $zahl2);		 
        }
        
        if($rechenart2 eq '+') {
        print "\nAddition wird durchgefuehrt.\n";
        $ergebnis1 = &addition($ergebnis, $zahl3);
        }
        elsif($rechenart2 eq '-') {
        print "\nSubtraktion wird durchgeführt.\n";
        $ergebnis1 = &subtraktion($ergebnis, $zahl3);
        }
        elsif($rechenart2 eq '*') {
        print "\nMultiplikation wird durchgeführt.\n";
        $ergebnis1 = &multi($ergebnis, $zahl3);
        }
        elsif($rechenart2 eq '/') {
        print "\nDivision wird durchgeführt.\n";
        $ergebnis1 = &division($ergebnis, $zahl3);
        }

}

print "Das Ergebnis Ihrer Rechnung: " . $ergebnis1 . "!!!\n";
Komme da in C einfach nicht weiter als bis zur Variabelnbestimmung. Kann mir da jemand helfen?