Toleranzfunktion?
-
#include <iostream> #include <conio.h> using namespace std; bool tol_x (int min_toleranz, int max_toleranz, int value); int main(){ cout << "Geben sie min, dann max und dann val ein"<<endl; int min,max,val; cin >> min >> max >> val; bool Value; Value=tol_x(min,max,val); if(Value==true){ cout << "Tolleriert"<<endl; } else if(Value==false){ cout << "Nicht Tolleriert"<<endl; } else{ cout << "Nicht Tolleriert"<<endl; } getch(); } // min_toleranz = minimale toleranz // max_toleranz = maximale toleranz // value = der wert auf den die toleranz bezogen werden soll bool tol_x (int min_toleranz, int max_toleranz, int value) { if(value>=max_toleranz){ return false; } else if(value<=min_toleranz){ return false; } else{ return true; } }
Ich hoffe das ist das wonach du suchst.
[EDIT]unbenötigte Variable entfernt[EDIT]
cu max
-
Oder besser und einfacher:
bool tol_x(int min_toleranz, int max_toleranz, int value) { return value >= min_toleranz && value <= max_toleranz; }
(normalerweise würd ich noch ein assert(min_toleranz <= max_toleranz) einfügen)
-
tja jungs, dann entwickeln wir uns wohl doch so langsam zu einem hausaufgabenbeantwortungsforum..
-
elise schrieb:
tja jungs, dann entwickeln wir uns wohl doch so langsam zu einem hausaufgabenbeantwortungsforum..
Ja,schon aber mir war gerade langweilig und man lernt dabei etwas.
Bashar schrieb:
Oder besser und einfacher:
bool tol_x(int min_toleranz, int max_toleranz, int value) { return value >= min_toleranz && value <= max_toleranz; }
Als ich es fertig hatte viel mir auch auf das ich und benutzen hätte sollen.
Es gibt also fast immer einen Weg es zu umgehen.
Einfacher finde ich es nichtcu max
-
Master_Max schrieb:
Einfacher finde ich es nicht
Das kommt schon noch, mit zunehmender Erfahrung.
-
@Bashar
Wieso denn noch ein assert???
-
Falls du beim Aufruf min und max vertauschst, suchst du dich dumm und dämlich nach dem Fehler. Es sei denn du hast ein assert.
-
tu es nicht auch eine einfache if-Abfrage ?
Devil
-
assert ist nichts anderes als ein if.
Mit dem Unterschied, dass es in der Releaseversion weggelassen wird. Es ist nur zum Debuggen gedacht.
-
Wobei ich persönlich tatsächlich ein if in Verbindung mit einer Exception benutzen würde.
Ein Assert ist nach meinem Verständniss eine Zusicherung, dass min und max nicht vertauscht sind. Die kannst du aber innerhalb deiner Funktion nicht machen.
Außer natürlich, die Funktion wird garantiert nur von dir aufgerufen
-
Optimizer schrieb:
Wobei ich persönlich tatsächlich ein if in Verbindung mit einer Exception benutzen würde.
Wie sollte man denn auf diese Exception sinnvoll reagieren?
Ein Assert ist nach meinem Verständniss eine Zusicherung, dass min und max nicht vertauscht sind. Die kannst du aber innerhalb deiner Funktion nicht machen.
Versteh es als Vorbedingung der Funktion.
-
bei assert(true) läuft es weiter, was genau passsiert aber bei assert(false)?
-
Da unterbricht das Programm seine Ausführung - im Debug-Mode.