cout funktioniert nicht
-
Hallo!
Ich bin ganz neu bei c++ und habe ein paar Bücher darüber. Ich nutze win 98 und den Dev-c++. Leider will der einfache cout-befehl nicht klappen. Kann mir jemand helfen? Hier der code:
#include <iostream> int main() { cout << "Test\n"; return 0; }Danke, me
-
ich halt schrieb:
#include <iostream> int main() { cout << "Test\n"; return 0; }Danke, me
#include <iostream> using namespace std; // Wenn du <iostream> und nicht das alte <iostream.h> nutzt int main() { cout << "Test\n"; return 0; }
-
Hmm das liegt ganz einfach daran, das du auf den std namespace vergessen hast zuzugreifen ... die Funktion liegt aber darin ...
#include <iostream> int main() { std::cout << "Test" << std::endl; return 0; }
-
std::cout << "Test\n";
-
Hallo!
ich bin ebenfalls sehr neu, und bin mir nicht sicher ob mein Problem normal ist;
Ich benutze ebenfalls den Dev C++ Compiler, und habe diesen Code eingegeben:#include <iostream> using namespace std; // Wenn du <iostream> und nicht das alte <iostream.h> nutzt int main() { cout << "Test\n"; return 0; }Compilen geht ohne Probleme, nur wenn ich es ausführe, verschwindet das Fenster sofort, Es ist fast unerkennbar zu sehen, so schnell wie das wieder weg ist.
Neuinstallation bringt nichts

hat Jemand ne Idee?
beste Grüße
ziox.
-
Hi,
hat Jemand ne Idee?
dieses Problem wurde bereits 10000 mal durchgekaut. Guckst du in die FAQ:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-111042.html
MfG mikey.
-
Danke,
hab mir das jetzt n paar mal durchgelesen, und wollte nun wissen wie ich das denn einfüge.Muss ich das in eine externe Datei schreiben, die ich jedes mal mit #include einbinde?
Oder jedes mal irgendwie in den Code einbauen?
Kann mir pls jemand, falls man es direkt im Code einbauen soll, aufschreiben?
danke,
beste Grüße
ziox.
-
Ich habe Dir den Code gleich mal verbessert, und dazu die richtige Funktion eingebunden:
#include <iostream> void wait () { std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); } int main() { std::cout << "Test\n"; wait (); // Hier rufst Du die Funktion auf ... }
MfG mikey.
-
HallO!
Funktioniert perfekt, vielen dank!
Man muss das also nur noch bei jedem Programm oben einfügen?
Dankeschön, beste grüße
ziox.
-
Man muss das also nur noch bei jedem Programm oben einfügen?
Mach währenddessen mit Deinem Tutorial weiter, bis Du gelernt hast, was Funktionen sind, und wie man sie benutzt. Dann wirst Du auch den Sinn dieses Beispiels verstehen, und Deine Frage wird sich von selbst beantworten

In dieser Funktion wird nichts anderes gemacht, als der Eingabepuffer geleert, und danach eine Eingabe erwartet. Alternativ könntest du am Schluss auch nur
getchar ();schreiben, das bring den selben Effekt, allerdings mit dem Nachteil, dass sich evtl. noch etwas im Eingabepuffer befinden könnte, und das dann als Eingabe interpretiert wird !
MfG mikey.
-
Kannste auch in nen extra Header packen und den nach belieben mit "convenience" Funktionen erweitern
#ifndef _CONSOLEAPP_H_ #define _CONSOLEAPP_H_ #include <iostream> void wait () { std::cout << std::endl << "Press Enter to continue!" << std::endl; std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); } #endif
-
So, alle Zweifel beseitigt, vielen Dank!
Ich wunder mich nur, wieso das im Buch nichts stand... Egal. Danke!ich halt
-
So, hab mich jetzt im Turoial weitergearbeitet, bin aber wieder auf einen Fehlergestoßen.Und zwar auf den gleichen, obwohl ich das eingebunden habe.
hier mal der Code:#include<iostream> using namespace std; void wait() { std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); } int main() { int zahl1; int zahl2; cout<<"Bitte eine Zahl eingeben\n"; cin>>zahl1; cout<<"Bitte noch eine Zahl eingeben\n"; cin>>zahl2; cout<<"Zahl 2: "<<zahl2<<"\n"; cout<<"Zahl 1: "<<zahl1<<"\n"; wait(); }Habe alles (meiner meinung nach) korrekt eingebunden.
Bitte korrigiert mich
beste Grüße
ziox.
-
es fehlt ertsmal wieder das return 0; am ende. und dann sieht das wegen der einrückung so aus, als wenn du das ganze in eine funktion gepackt hast. falls nicht, dann eben nicht...
Mfg Ominion
-
Ersetze die "wait ()" - Funktion mit dieser:
void wait () { setvbuf(stdin,NULL,_IONBF,0); setvbuf(stdin,NULL,_IOFBF,BUFSIZ); getchar(); }MfG mikey.
-
Ersetze die "wait ()" - Funktion mit dieser:
C/C++ Code:
void wait ()
{
setvbuf(stdin,NULL,_IONBF,0);
setvbuf(stdin,NULL,_IOFBF,BUFSIZ);
getchar();
}MfG mikey.
Klappt perfekt, danke!
grüße
ziox.
-
Was wirdn hier zum Teil fürn Müll vonwegen das liegt an return 0; gepostet?!
#include<iostream> void wait() { std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); } int main() { int zahl1 = 0; int zahl2 = 0; std::cout << "Bitte geben Sie eine Zahl ein: " << std::endl; std::cin >> zahl1; std::cout << "Bitte geben Sie eine weitere Zahl ein: " << std::endl; std::cin >> zahl2; std::cout << "Zahl 2: " << zahl2 << std::endl; std::cout << "Zahl 1: " << zahl1 << std::endl; wait(); }So ... um deinen Fehler zu erklären ... wenn du oben using namespace std; hinschreibst, musst du in der wait Funktion die std:: weglassen, oder du schreibst(so wich ichs jetzt gemacht hab) vor jede Funktion aus dem std namespace, also cout, cin, usw, ein std:: .
-
Was wirdn hier zum Teil fürn Müll vonwegen das liegt an return 0; gepostet?!
auf jeden fall gehört das "return 0;" dahin sonst ist es falsch!
-
krabbels schrieb:
Was wirdn hier zum Teil fürn Müll vonwegen das liegt an return 0; gepostet?!
auf jeden fall gehört das "return 0;" dahin sonst ist es falsch!
nö main muss kein return haben, Wenn kein return kommt, wird automisch erfolg vermeldet

-
(D)Evil schrieb:
So ... um deinen Fehler zu erklären ... wenn du oben using namespace std; hinschreibst, musst du in der wait Funktion die std:: weglassen
?
Man darf doch trotzdem den namespace verwenden, auch wenn die using-Klausel benutzt wurde.
-
Also bei mir funktioniert jetzt alles einwandfrei(insofern man wait() einbaut), und ich wolte nochmal fragen(aus reiner Interesse)
warum das denn s ist.
liegt das am Compiler, am System, oder wo sonst?
Immerhin wird das nirgends in nem Tutorial beschrieben das man sowas einbauen muss, und ich sehe ach des öfteren keine wait funktionen in manchen codes.Auch wenn ich manche programm öffne die bei Sampels von Dev c++ dabei sind, ist das nicht so.
bitte klärt mich auf, würd mich echt interessieren.
grüße
ziox.