034
26.03.2005, 15:37 Uhr
0xdeadbeef
Gott (Operator)
|
Zunächst mal benutzt du STL-Identifier ohne std:: davor, und hast nirgendwo using namespace std; stehen. Das heißt, er wird cin und cout, wenn kein std:: davor steht, einfach nicht finden. Ganz abgesehen davon hast du am Anfang bei den Headern
vrgessen. In iostream werden cin, cout usw. überhaupt deklariert, deswegen musst du den Header einbinden, wenn du sie benutzen willst.
Dann hast du a als char deklariert, was ein Zeichen, aber kein string ist. In C hätte man wohl
C++: |
char a[BUFFERLAENGE]; // BUFFERLAENGE sollte durch eine Zahl ersetzt werden, die groß genug ist, um die erwartete Eingabe zu fassen.
|
geschrieben, aber in C++ benutzt man dafür
Was uns gleich zum nächsten bringt:
C++: |
if(strcmp(a,zeile) ==0)
|
Zum einen musst du, um strcmp benutzen zu können,
bei den Header-includes dazuschreiben. Dann ist strcmp immer noch im namespace std, also hieße das std::strcmp. Außerdem ist bei dir a ein char und zeile ein std::string, während strcmp zwei char* erwartet. Also, entweder, du deklarierst a als char[] wie oben gezeigt und machst
C++: |
if(strcmp(a, zeile.c_str()) == 0)
|
oder du machst es sinnvoll, deklarierst a als std::string und schreibst
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |