Fehler
-
Hallo zusammen
Ich hab ein Problem beim Kompilieren des folgenden Textes:#include <iosteam.h> int main() { int i; cout << "Hallo dort \n"; cout << "Hier ist 5: " << 5 << "\n"; cout << "Der Manipulator endl beginnt eine neue Zeile."; cout << endl; cout << "Hier ist eine grosse Zahl:\t" << 70000 << endl; cout << "Hier ist die Summe von 8 und 5:\t" << 8+5 << endl cout << "Und hier ist ein Bruch:\t\t" << (float) 5/8 << endl; cout << "Und eine riesengrosse Zahl:\t"; cout << (double) 7000 * 7000 << endl; cout << "vergessen sie nicht, Jesse Liberty durch Ihren Namen" " zu ersetzen...\n"; cout << "Michi 13 ist ein C++-Programmierer!\n"; cin >> i; return 0; }Der Fehler ist angeblich in Zeile 5. ( cout << "Hallo dort \n"; )
Ich hab den Text aus einem online Tutorial und leicht abgeändert
( int i; und cin >> i; )
Ich versteh den Fehler nicht, da ich ein anfänger bin...
Kann mir evtl jemand helfen?freundliche grüsse Michi 13
-
Hallo Michi,
da Du Anfänger bist, mag man es Dir verzeihen. Bitte beim nächsten Mal eine aussagekräftigere Überschrift und auch eine bessere Beschreibung des genauen Fehlers.
Ich habe den Code von Borland BC++5.5 compilieren lassen
Zeile 1: #include <iost r eam.h> Zeile 11: (5+8) und am Ende ";" fehlt Zeile 12: (5/8)
-
Es heiszt iostream ohne .h. .h ist veraltet.
cout liegt im namespace std; Setz mal ein
using namespace std;
nach dem include (also vor int main())EDIT: Falls das nicht hilft ist die Chance grosz dass sowohl dein Compiler als auch dein Tutorial veraltet sind.
-
Das beantworte ich erstmal im Source
/* * #include <iosteam.h> * Also ween schon, dann * #include <iostream.h> * - das "r" fehlte * Aber auch das ist dubios; * besser : */ #include <iostream> /* * Wenn man */ // using namespace std; /* * verwendet kann man sich das * std:: * jeweils sparen * * Das ist zwar praktisch aber nicht allgemein zu empfehlen. */ int main() { int i; // Initialisierer ? ( = 0 ) /* * Es ist inkonsitent einmal "\n" und einmal std::endl zu benutzen, * aber sei's drum */ std::cout << "Hallo dort \n"; std::cout << "Hier ist 5: " << 5 << "\n"; std::cout << "Der Manipulator std::endl beginnt eine neue Zeile."; // Ja, aber den kannst Du trotzdem mit << einfach dahinterhängen std::cout << std::endl; // Was soll das auf einer eigenen Zeile ? std::cout << "Hier ist eine grosse Zahl:\t" << 70000 << std::endl; std::cout << "Hier ist die Summe von 8 und 5:\t" << 8+5 << std::endl std::cout << "Und hier ist ein Bruch:\t\t" << (float) 5/8 << std::endl; /* * Es ist good practice eine neue Anweisung mit << auch nur für eine neue * Ausgabezeile anzufangen */ std::cout << "Und eine riesengrosse Zahl:\t"; /* * Und wenn's mal zu lang wird das ';' weglassen eine neue Zeile mit * << auf einer Tabulatorposition beginnen und erst nach dem endl ein * ';' setzen */ std::cout << (double) 7000 * 7000 << std::endl; std::cout << "vergessen sie nicht, Jesse Liberty durch Ihren Namen" " zu ersetzen...\n"; std::cout << "Michi 13 ist ein C++-Programmierer!\n"; std::cin >> i; // Und warum in ein int un dnicht in einen std::string? return 0; }Dann könntest/solltest Du Dich nochmal mit std::wstring un den _T(const char*) resp _TEXT(const char*) Makros auseinandersetzen; es kann sein dass Dein Compiler mal sowas wie UNICODE oder _UNICODE definiert und dann solltest Du nicht mit einfachen, zudem impliziten
(const char *) /* wie z.B. */ "Hello World"arbeiten.
Gewöhn Dir am besten gleich ein wenig "UNICODE-Stil" an.
Grüsse
Gast++
-
#include <iostream> int main() { int i = 0; std::cout << "Hallo dort" << std::endl; std::cout << "Hier ist 5: " << 5 << std::endl; std::cout << "Der Manipulator endl beginnt eine neue Zeile." << std::endl; std::cout << "Hier ist eine grosse Zahl:\t" << 70000 << std::endl; std::cout << "Hier ist die Summe von 8 und 5:\t" << 8+5 << std::endl; std::cout << "Und hier ist ein Bruch:\t\t" << 5.0/8.0 << std::endl; std::cout << "Und eine riesengrosse Zahl:\t" << 7000.0 * 7000.0 << std::endl; std::cout << "vergessen sie nicht, Jesse Liberty durch Ihren Namen zu ersetzen..." << std::endl; std::cout << "Michi 13 ist ein C++-Programmierer!" << std::endl; std::cin >> i; return 0; }
-
Vielen Dank
jetzt funktioniert es

Ich hab wohl einige Fehler gemacht (nicht nur einen)
freundliche grüsse Michi 13
-
Und und endl beendet nicht nur die Zeile ...
-
...sondern leert auch den Eingabepuffer.