Quantcast
Channel: Multimediaforum
Viewing all articles
Browse latest Browse all 4603

Taschenrechner Perl --> C

$
0
0
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?Hatte überlegt das mit if und else zu machen kenn aber in C nicht die genaue Schreibweise.

Viewing all articles
Browse latest Browse all 4603