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.
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";







