verschachteltes if else funktioniert irgendwie nicht.
-
hi!
ich habe heute angefangen mich mit c++ zu beschäftigen. ich habe leider keinerlei programmiererfahrungen ausser html und ein wenig php (was ja auch eigentlich weniger mit programmieren zu tun hat ^^), daher fang ich also komplett bei null an.
ich arbeite mich gerade durch den "volkards c++ kurs" in lektion 9 geht es um if und else.
ich habe mir das also durchgelesen und ein kleines beispielprogramm geschrieben:
#include <iostream.h> int main() { const float LIMIT=50; float kmh; cout<<"Wie schnell faehrt man in der Stadt? "<<endl; cout<<"Ihre Geschwindigkeit: "; cin>>kmh; if(kmh>LIMIT) if(kmh>LIMIT+20) cout<<"Viel zu schnell!"<<endl; else cout<<"Zu schnell!"<<endl; if(kmh==LIMIT) if(kmh<LIMIT) cout<<"Zu langsam!"<<endl; else cout<<"Sehr gut!"<<endl; return 0; };alles funktioniert bis auf if(kmh<LIMIT). wenn ich bei der eingabe zB 49 eingebe, gibt er kein "Zu langsam!" aus. alle anderen ifs und ausgaben funktionieren. ich vermute mal, ich hab hier nen denkfehler in den ifs, ich weiss nur nicht wo...
viele grüße
chicky
-
Verwende Klammer bei den ganzen ifs. Alleine mit dem Einrücken kriegst du da keine gewollte Logik rein.
Das erste else gehört zum zweiten IF , deswegen kommt nicht das gewollte Ergebnis.
-
Rück doch Mal anständig ein, dann siehst Du das meiste wahrscheinlich schon.
die <-Abfrage wird nur ausgeführt, wenn vorher die ==-Abfrage positiv war. Das ergibt natürlich keinen Sinn.
Ach und nutze bitte iostream. iostream.h ist veraltet. Damit dein Programm dann läuft, solltest du cout aber durch std::cout ersetzen oder nach dem include
using namespace std;
einfügen.
-
du überprüfst erst, ob kmh == limit ist und wenn dies stimmt,
schaust du ob kmh < limit (kann also niemals auftreten, da kmh == limit schon gegeben)
-
Wenn ich iostream.h lese, würde ich sagen, das Tutorial ist veraltet und du solltest es nicht benutzen!
-
okay.
is jetzt viel auf einmal.
ich mein ich versuch das jetzt seit runden zwei stunden zu lernen... ich dachte das tutorial könnte nen bissel was weil ich das auf der seite von ner fh gefunden hatte, ein dozent hat das da als literaturvorschlag angegeben.
gut, also abfragelogik überdenken, ifs mit geschwungenen klammern machen (blöcke, richtig?) und dann noch das mit iostream und std ändern.
alles klar, ich werds versuchen!
danke für die hilfe und ratschläge!
-
Alle Buchstaben eines Bezeichners gross zu scheiben ist nicht hübsch...
-
EOutOfResources schrieb:
Alle Buchstaben eines Bezeichners gross zu scheiben ist nicht hübsch...
Bei Konstanten aber nicht unüblich.
-
fdfdg schrieb:
Bei Konstanten aber nicht unüblich.
In modernem C++ ist es unüblich.
-
EOutOfResources schrieb:
fdfdg schrieb:
Bei Konstanten aber nicht unüblich.
In modernem C++ ist es unüblich.
Wer bestimmt, was modernes C++ ist?
-
314159265358979 schrieb:
EOutOfResources schrieb:
fdfdg schrieb:
Bei Konstanten aber nicht unüblich.
In modernem C++ ist es unüblich.
Wer bestimmt, was modernes C++ ist?
Googles Style Guide?
*kuschweg*
-
Keine Exceptions, kein RTTI?
