ELSE
-
Ich habe ein Problem.
Wenn man in meine "mini suchmaschine" etwas anderes eingibt, sollte es das anzeigen, was ich bei -> else.. <- geschrieben habe.Mein Problem: Wenn ich z.B ascii eingebe, was natürlich richtig ist, zeigt mein Programm, das an, was ich bei ascii geschrieben habe und das was ich bei else geschrieben habe.
Wie kann ich mein Problem beseitigen??
#include <iostream> #include <string> using namespace std; int main() { string Begriff; for (int i=0; i < 100; i++) { cout << "\n\nBegriff eingeben" ; cin >> Begriff; if (Begriff == "ascii") { cout << "Der Ascii Zeichensatz ist eine amerikanische Norm bla bla...."; } if (Begriff == "baby") { cout << "Babys sind klein :P " ; } else { cout << " \n\nEs wurden keine mit Ihrer Suchanfrage - " << Begriff << " - uebereinstimmenden Woerter gefunden. " ; cout << " \nDas sollten Sie beachten: " ; cout << " \n* Vergewissern Sie sich, dass alle Wörter richtig und klein geschrieben sind! " ; cout << " \n* Probieren Sie nur C++ Wörter! " ; cout << " \n* Verwenden Sie keine Leerzeilen! " ; } } return0; }
-
Du mußt "else if" verwenden, ansonsten bezieht sich das "else" nur auf das letzte "if", daher:
if(...) { } else if(...) { } else if(...) { } else { ... }
-
dein problem kann man auch eleganter lösen:
#include <map> #include <string> #include <iostream> int main() { std::map<std::string, std::string> my_map; my_map["baby"] = "klein usw. :P"; //... for(std::string eingabe; std::cin >> eingabe; ) { if(eingabe == "stop") break; const_iterator found = my_map.find(eingabe); if(found == my_map.end()) { std::cout << "gibts nicht" << std::endl; } } }bb
PS: na zum glück ging das mit dem eingeloggt sein jz so lang gut -.-