Was ist das für ein Fehler ?
-
Ich arbeite noch nicht lange mit C++ und weis auch nicht darum worin der Fehler liegen kann.Der Compiler zeigt bei mir kein Fehler an aber wenn ich ein Test durchführe mit der zahl 0.011 spuckt er kein ergebnis aus.
Mit 0.11 oder weiter hinten wie 0.0016 gehen aber die 0.011 nicht.
Ich glaube das der Fehler bei der Funktion "Stellen" liegt da er da irgendwo immer ein Alte zahl raus nimmt.#include <iostream> #include <windows.h> using namespace std; int Rendom(int stellen) { int zahl=1,ergebnis=0; while(stellen>0) { ergebnis=ergebnis+(rand()%10*zahl); zahl=zahl*10; stellen=stellen-1; } return (ergebnis); } int Stellen(long double zahl) { int stellen=0,stellen2=0; if((zahl/10-static_cast<int>(zahl/10))*10==0) { stellen2=stellen2+1; } while(zahl>=1) { zahl=zahl*0.1; stellen=stellen+1; } while(zahl-static_cast<int>(zahl)>0) { zahl=zahl*10; stellen2=stellen2+1; } stellen=2-stellen; return(stellen+stellen2); } bool Zufall(long double prozentwert) { int stellen=Stellen(prozentwert); while(prozentwert-static_cast<int>(prozentwert)>0) { prozentwert=prozentwert*10; } if(Rendom(stellen)<prozentwert) { return(true); } return(false); }Ich bedanke mich schon mal für die kommenden Antworte

-
Was sollen denn die Funktionen denn machen?
Welche funktioniert nicht?
Wo sind die Aufrufe der Funktionen?
Wo ist die Ausgabe?
Wo ist die main?
Wo ist im Code MFC?
-
Gast0.011 schrieb:
int Rendom(int stellen) { }Ich glaub, nen Rechtschreibfehler gefunden zu haben, sollte korrekt so sein:
int Random(int stellen)*duckundwech*

MartinP.S.: In der Tat machst Du es Dir ein wenig zu einfach, hier ein Fehler ohne die nötigen Zusatzinformationen zu posten, siehe die Fragen von MiP.