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?


  • Mod

    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:


Anmelden zum Antworten