iostream funktioniert nicht und weitere Probleme
-
Hallöchen,
Ich habe gestern bzw. heute um 2 Uhr angefangen C++ zu lernen und übe gerade ein bisschen Funktionen usw.
Verzeiht mir falls ich eine totale Noob-Frage stelle. :'DNaja wie auch immer. Ich bekommen Fehlermeldungen, wenn ich etwa vor cin oder cout keine std:: schreibe, obwohl das doch eigentlich durch #include <iostream> geregelt sein müsste? Im Code habe ich jetzt mal überall std:: hingeschrieben.
Wir ihr sicher aus dem Programm ablesen könnt ist wie Pokemon. Oak fragt ob männlich oder weiblich und dann soll man den Namen eingeben.Die Namenseingabe erfolgt in einer anderen Funktion ("int junge" oder "int madchen") und der eingegebene Name wird dann per return rückgegeben.
Leider klappt das nicht. Ich weiß auch nicht ob int der richtige Typ für diese Funktion ist, string ging leider nicht?
Des Weiteren bekomme ich einen Fehler bei der Funktion "void erklaerung": "variable or field 'erklaerung' declared void"
Ich versteh nicht ganz was ich falsch gemacht habe?
Ich hoffe jemand kann mir wenigtens bei einer Frage helfen. Durch die Suchfunktion habe ich nichts gefunden.

mfg Goya
#include <iostream> #include <string.h> int junge(); int madchen(); void erklaerung(); int main (void) { std::cout << "Hallo, mein Name ist Professor Oak.Was bist du? \n" << "a. Ein Mädchen\n" << "b. Ein Junge\n"; char wahl; std::cin >> wahl; switch (wahl){ case 'a': junge(); break; case 'b': madchen(); break; } erklaerung(); std::cin.sync(); std::cin.get(); } int junge(); { std::cout <<"Verstehe ein Junge also.Wie heißt du denn?\n" string namej; std::cin >> namej; std::cout << namej<<"? Ein sehr komischer Name.\n" return namej; } int madchen(); { std::cout <<"Oh, Hallo schoene Lady.?\n" string namem; std::cin >> namem; std::cout << namem<<"? Ein wundervoller Name!\n" return namem; } // v--Hier Bekomme ich einen Fehler--v void erklaerung { std::cout << "Willkommen in der Welt von Pokemon." }
-
Ne es wird durch
using namespace std;
geregelt, dies schreibst du nach dem letzten #include. Mit using namespace std sparst du sehr viel Schreibarbwit.
-
Welcher Fehler kommt genau bei Zeile 55. Wird ein () nach dem Bezeichner erwartet?
-
Oh verdammt, dass mir das nicht aufgefallen ist. Habs glatt vergessen. Danke schon mal.
Also einaml wird mir das angezeigt.
"variable or field 'erklaerung' declared void"
Wenn ich auf den Fehler klicke komme ich zu der 55/56sten Zeile.
-
Goya schrieb:
#include <string.h> int main (void) std::cin.sync(); std::cin.get();Alarm!
Ich weiss nicht, mit was du lernst, aber was ich da sehe ist übelst. Nicht in dem Sinne, dass du Anfänger bist, sondern dass das du veralteten Schrott lernst.Besorge dir ein gutes Buch, sonst wird das nichts!
-
Inwiefern ist es veraltet?
Ich werde demnächst zur Bibliothek gehen und mir eins ausleihen, aber jetzt um Weihnachten hab ich zu viel um die Ohren.
-
Ja genau in der 56. Zeile hab mich vertippt, "alarm" hat schon recht, welches Buch dient denn als Informationsgrundlage?
-
Da ich sehr kurzfristig beschlossen habe mich mal in C++ einzulernen und Sonntags die Bibliotheken nicht offen haben war meine Informationsgrundlage dieses Video Tutorial hier: http://www.youtube.com/watch?v=b1G22GCwa6I
Alle 14 Teile.
-
Goya schrieb:
Inwiefern ist es veraltet?
Indem Sinne, dass dies aus Vorstandardzeiten zu stammen scheint. Das heißt irgendwann aus dem 990ern des letzten Jahrtausends.
Videotutorials gelten allgemein als keine gute Methode, um eine Sprache zu lernen.
-
Okay dann werde ich mir demnächst ein Buch ausleihen und mir alles noch genauer anschauen.Danke an alle, Thema kann geschlossen werden.