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
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
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

