Moduloberechnung mit int möglich aber nicht mit double und float?
-
// #include <iostream> using namespace std; int main() { float hW,bW,fW,hF,bF,fF,anzahl; //noetige Variablen char auswahl; cout << "Fliesen berechnen (F)" << endl; cout << "Tapetenrollen berechnen (T)" << endl; cout << "Farbverbrauch berechnen (C)" << endl; cout << "Waehlen Sie F,T oder C:" << endl; cin >> auswahl; switch(auswahl) { case 'F': case 'f': auswahl = 'F'; cout << "Geben Sie die Hoehe der Wand in CM ein:" << endl; //Eingabe der noetigen Variablen cin >> hW; cout << "Geben Sie die Breite der Wand in CM ein:" << endl; cin >> bW; cout << "Geben Sie die Hoehe der Fliese in CM ein:" << endl; cin >> hF; cout << "Geben Sie die Breite der Fliese in CM ein:" << endl; cin >> bF; fF = hF * bF; // Berechnung der Ausgabe fW = hW * bW; anzahl = fW / fF; if(anzahl%2!=0) //Abfrage, ob Abfall uebrig bleibt { cout << "Sie benoetigen " << anzahl << " Fliesen um die Wand zu fliesen." << endl; cout << "Es bleibt Abfall uebrig." << endl; } if(anzahl%2==0) //Abfrage, ob Abfall uebrig bleibt { cout << "Sie benoetigen " << anzahl << " Fliesen um die Wand zu fliesen." << endl; cout << "Es bleibt kein Abfall uebrig." << endl; } break; case 'T': case 't': auswahl = 'T'; cout << "Sie haben Menuepunkt " << auswahl << " gewaehlt." << endl << endl; break; case 'C': case 'c': auswahl = 'C'; cout << "Sie haben Menuepunkt " << auswahl << " gewaehlt." << endl << endl; break; default : cout << "Sie haben keinen Menuepunkt gewaehlt"<< endl; } return 0; }wenn ich float oder double durch int ersetzte läuft das programm.
mit float und double spuckt er folgende fehlermeldung aus.error C2296: '%': Ungültig, da der linke Operand vom Typ 'float' ist
liegt das daran, das es einfach keinen restwert gibt bei kommazahlen?
-
Du suchst fmod.
-
In math.h/cmath gibt es die Funktion fmod
Edit: War ja klar...
-
Vielen Dank Jungs. Ist echt nen hammer Forum hier :xmas1: