Programmunterbrechung, Programmstopp mit Eingabe aufheben
-
Hallo Leute,
Ich würde gerne Text ausgeben, dieser soll vom Nutzer gelesen werden können. Hat der Nutzer den Text gelesen, so soll er mit einer Taste bestätigen um das Programm weiter laufen zu lassen.
Mein Ansatz ist folgender:
#include <iostream> #include <cstdlib> using namespace std; int main(){ char a[1]; system("clear"); cout<<"Text 1 blablabla Text 1 blablabla Text 1 blablabla "<<endl; cout<<"Für weiter Taste drücken"; cin.getline(a,1); system("clear"); cout<<"Text 2 blablabla Text 2 blablabla Text 2 blablabla "<<endl; return 0; }Gibt es hierfür eine bessere Lösung? Eine, bei der ich nicht extra eine Variable deklarieren muss?
Gruß
Matthias
-
guude,
aehm
getchar();?!
regards,
buk
-
#include <iostream> #include <conio.h> int main() { std::cout << "Drueck eine Taste."; getch(); std::cout << std::endl << "Jetzt gehts weiter."; }
-
Danke Leute,
aber was hat das std:: vor dem cout und dem endl zu bedeuten? Bislang hat das cout auch ohne dem std:: sehr gut funtioniert.
-
Da sind wir dann aber nicht gut informiert... cout gehört zu der std. Du benutzt wahrscheinlich immer
using namespace std;wovon ich dir mittlerweile raten würde. Würdest du diese Zeile nicht schreiben müsstest du nicht
cout << "foo";schreiben, sondern
std::cout << "bar";
-
std ist ein Namensraum, oder in Englisch namespace. Nun gibt es 2 Möglichkeiten auf den zuzugreifen. Das erste ist, wie gesagt das mit dem using, somit machst du den Namensraum std bekannt für alles, was "unterhalb" der Anweisung steht. Der andere Fall ist, indem du den Namensraum explizit angibst mit dem :: - Bereichsauflöser. using sollte man da verwenden, wo es wirklich etwas ausmacht (z.B riesig verschachtelte namensräume kann es schon was helfen).
Aber niemals ein using in einen Header schreiben. Da die Datei von anderen Headern und anderen Codedateien eingebunden werden kann und der eingebundene Namensraum dann für alle bekannt ist, was gegen den Sinn von Namensräumen ist. (Mal abgesehen davon, dass sich Code plötzlich anderst verhalten kann/nicht mehr kompilierbar ist.)
-
FreakY<3Cpp schrieb:
Da sind wir dann aber nicht gut informiert...
Bin noch dabei mich einzuarbeiten. Habe erst am 15.11 angefangen mich mit dem Programmieren zu beschäftigen. Werd jetzt mal zusehen das das mit den "gut informiert" sein in der Zukunft besser klappt

-
Das Tolle ist auch, dass du ohne "using" für Namespace-Member mit längerem Namen IntelliSense eingeblendet bekommst!

-
Decimad schrieb:
Das Tolle ist auch, dass du ohne "using" für Namespace-Member mit längerem Namen IntelliSense eingeblendet bekommst!

alternativ kannst du (beim MSVC) auch einfach STRG+Leertaste drücken und hast IntelliSense ^^