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:
Und so sieht das ganze in Perl aus:
Komme da in C einfach nicht weiter als bis zur Variabelnbestimmung. Kann mir da jemand helfen?
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); //
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";