C++ Wörter eingeben und dementsprechend handeln

...komplette Frage anzeigen

4 Antworten

So funktioniert das nicht mit einem C-String. Dafür musst du entweder die Stringbibliothek einbinden und einen String einlesen, den kannst du dann mit einem Gleichheitsoperator vergleichen, ansonsten eben strcmp.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von apachy
12.07.2013, 21:30

Eine mögliche Lösung wäre z.B:

#include <iostream>
#include <string>
using namespace std;

int main() {
    string eingabe;
    cout << "Ihre Eingabe: ";
    getline(cin, eingabe);
    if (eingabe == "Test" || eingabe == "test") {
        cout << "Bingo!";
    } else {
        cout << "Fail!";
    }
    return 0;
}
0

http://linux.die.net/man/3/strcmp

Was du vergleichst sind die Adressen der einzelnen Strings (ein 0-terminierter String in C ist ein Pointer auf eine char-sequenz, die mit '\\\\0' endet)

Allerdings ist das was du da hast auch kein echtes C++, das ist ein Mutant aus C und C++. informiere dich mal an der Stelle über std::string.

Btw: mit ' schließt man char ein, mit " strings (bzw. char*, was einem C-string entspricht). Nicht sicher ob dass der Compiler trotzdem verkraftet, aber selbst wenn er das tut wäre es ein schlechter Stil.

Antwort bewerten Vielen Dank für Deine Bewertung

Schau dir mal auf youtube tutorials an. ich glaub, das ist momentan effektiver ;)

Antwort bewerten Vielen Dank für Deine Bewertung
string eingabe;                                                     cin >> eingabe; if (eingabe == "test" or eingabe == "Test")

{ cout << "Test"; }

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von PerfectMuffin
12.07.2013, 20:38

Was soll der Unfug?

0

Was möchtest Du wissen?