ich hab mal versucht so zu tun, als würde ich wissen was ich tue... das gelingt nicht immer...
wie schaffe ich es die überflüssigen Zeilen aus meinen bedingten Anweisungen zu tilgen?
Code: Alles auswählen
#include <iostream>
using namespace std;
void addieren (int iz1, int iz2)
{
cout <<iz1 << "+" <<iz2 <<"="<<(iz1+iz2);
}
void subtrahieren (int iz1, int iz2)
{
cout <<iz1 << "-" <<iz2 <<"="<< (iz1-iz2);
}
void dividieren (int iz1, int iz2)
{
cout <<iz1 << "/" <<iz2 <<"="<< (iz1/iz2);
}
void multiplizieren (int iz1, int iz2)
{
cout <<iz1 << "*" <<iz2 <<"="<< (iz1*iz2);
}
void addieren (float z1, float z2)
{
cout <<z1 <<"+"<<z2 <<"="<< (z1+z2);
}
void subtrahieren (float z1, float z2)
{
cout <<z1 <<"-"<<z2 <<"="<< (z1-z2);
}
void dividieren (float z1, float z2)
{
cout <<z1 <<"/"<<z2 <<"="<< (z1/z2);
}
void multiplizieren (float z1, float z2)
{
cout <<z1 <<"*"<<z2 <<"="<< (z1*z2);
}
int main (void)
{
char choicerepeat ='n';
char choiceintdouble;
float z1;
int iz1;
char rechenart;
float z2;
int iz2;
do
{
cout << "Minirechner: (i)nteger oder (d)ouble ? ";
cin >> choiceintdouble;
cout << "Zahl 1 = ? ";
cin >> z1;
cout << "Rechenart (+ - * /) ? ";
cin >> rechenart;
cout << "Zahl 2 = ? ";
cin >> z2;
if (choiceintdouble =='i')
{
iz1=z1;
iz2=z2;
if (rechenart == '*')
multiplizieren (iz1,iz2);
else if (rechenart == '+')
addieren (iz1,iz2);
else if (rechenart == '-')
subtrahieren (iz1,iz2);
else if (rechenart == '/')
dividieren (iz1,iz2);
else
cout << "Falsche Eingabe!";
}
else if (choiceintdouble =='d')
{
if (rechenart == '*')
multiplizieren (z1,z2);
else if (rechenart == '+')
addieren (z1,z2);
else if (rechenart == '-')
subtrahieren (z1,z2);
else if (rechenart == '/')
dividieren (z1,z2);
else
cout << "Falsche Eingabe!";
}
else
{
cout << "Falsche Eingabe!" <<endl;
}
cout << endl << "Noch einmal (j/n)";
cin >> choicerepeat;
}while (choicerepeat == 'j');
return 0;
}