Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

Ausfuehrung beenden





Frage

Hallo alle zusammen, ich versuch gerade ein bisschen in c++ Fuß zu fassen. Habe mir einen Taschenrechner zuerst procedural programmiert. Jetzt wollte ich ihn Objektorientiert aufziehen. Funktioniert eigentlich auch gut. Das einzige was nicht funktioniert ist die division durch 0. Die Methode schaut so aus: double calc::dividieren(int x, int y) { if(y==0){ cout<<"Division durch 0 ist nicht erlaubt!\n"; return 0; } else { ergebnis = x / y; return ergebnis; } } später rufe ich dann eine Methode auf die mir das ergebnis ausgibt. Als Ausgabe kommt dann: Division durch 0 ist nicht erlaubt! Das Ergebnis ist: -9.25596e+061 Press any Key to continue Wie schaffe ich es nun dass mir das Ergebnis nicht angezeigt wird wenn Division durch 0 gemacht wurde. Danke schonmal an alle.

Antwort 1 von JuliaNadine

Hallo ich bin auch ganz neu bei C++ dabei.
Du könntest z.B. eine bool Variable einbauen zum check.
z.B.

(initialisierung des bool wo anders)
bool schalter=false;

double calc::dividieren(int x, int y)
{
if(y==0){
cout<<"Division durch 0 ist nicht erlaubt!\n";
schalter =true; //Neue Variable zur hilfe
return 0;
}
else
{
ergebnis = x / y;
return ergebnis;
}
}

später dann bei der Ausgabe, kannst du einfach durch eine if Frage das ausgeben verhindern.
z.B.
if(schalter==false){
cout <<"Ergebnis: " << ergebnis <<endl;
}

Viel spaß noch.
Julia

Antwort 2 von LittleT

Hallo Julia,

danke für deine Antwort. Ich hab es jetzt anders gemacht.
Ich habe das Programm jetzt nicht enden lassen, sondern wenn für den Divisor eine 0 eingegeben wurde lasse ich die Eingabe solange wiederholen, bis der Divisor != 0 ist.

Gruß
LittleT

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: