Was funktioniert hier bloß nicht?
-
Hallo,
ich bin ein weiterer absoluter Neuling und hab mir die letzte Woche geühlte 2.000 Tutorials angeguckt und angelesen.
Heute habe ich mal ein kleines eigenes Programm geschrieben, bzw. es versucht.Dies ist mein Quelltext:
#include <iostream> #include <string> using namespace std; int main() { cout << "Basic string program! \n"; cout << "Please give me some word to work with: "; string word; cin >> word; cout << "You've chosen '" << word << "'. Please choose what to do with it: \n"; cout << endl; cout << "1 - Print out vertically \n"; cout << "2 - Calculate length of the word \n"; cout << "3 - Print out the char at a given position. \n"; int useropt; cin >> useropt; if (useropt == 1) { For (int i = 1;i<=word.size();i++) { cout << word[i] << endl; } } else if (useropt == 2) { cout << "The length of your word is " << word.size() << "chars. \n"; } else if (useropt == 3) { int position; cin >> position; cout << "The " << position <<"th is " << word[position]; } cin.ignore(); cin.get(); }Mein Compiler (wxDevC++) meckert rum:
- 22 E:\wxDev C++\Projekte\Untitled1.cpp expected primary-expression before "int"
- 22 E:\wxDev C++\Projekte\Untitled1.cpp `i' was not declared in this scope
- 22 E:\wxDev C++\Projekte\Untitled1.cpp expected `;' before ')' token
Ich starre jetzt schon eine halbe Stunde auf meinen Quelltext und erkenn den Fehler nicht. Ich habe alle Tutorials so genau wie möglich befolgt!
Kann mir jemand einen Tipp geben?

-
Da sind zwei Fehler: es sollte "for" heißen (nicht "For") und Indices gehen von 0 bis size-1 (nicht 1 bis size).
Die Zeile müsste alsofor (int i=0;i<word.size();i++)lauten.
-
For => for
-
jonzzon schrieb:
ich bin ein weiterer absoluter Neuling und hab mir die letzte Woche geühlte 2.000 Tutorials angeguckt und angelesen...
Ein gutes Buch wäre besser (z.B. C++ Primer oder Thinking in C++).
C++ ist Casesensitiv, unterscheidet zwischen Groß- und Kleinschreibung. Und For existiert nicht, for heißt es.
-
Hallo,
danke für eure sehr schnellen Antworten!
Was für doofe Fehler. Das kommt, weil ich vorher nur in Delphi Language geschrieben habe, da ist Groß-/Kleinschreibung irrelevant. Und dort fängt man auch bei 1 an zu zählen
Wird wohl eine kleine Umgewöhnung, bei 0 anzufangen.
-
Es wäre auch ganz hilfreich eine Editor zu benutzen, der Syntax-Highlighting beherrscht. Dann fallen solche Fehler, wie falsch geschriebene Schlüsselwörter schneller auf. Gute Entwicklungsumgebungen sind sogar in der Lage den Präprozessor entsprechend auszuwerten, aber das wird dich wohl erstmal nicht interessieren.
-
jonzzon schrieb:
Wird wohl eine kleine Umgewöhnung, bei 0 anzufangen
Die meisten der "großen" Sprachen sind Casesensitiv, und beginnen mit 0... also wird die Umgewöhnung nicht schaden

-
Ich benutze als IDE wxDevC++, das beherrscht auch Syntax-Highlighting. Mir ist leider nicht aufgefallen, dass das For nicht fett geschrieben war.