bitte um helfe bei hallo welt program

03/03/2015 14:29 thomascool1990#16
jz schiles sich das cmd fenster also kan ich leider nicht lesen du das zu verhinden gibt es ein
"keep_window_open(); habe ich den so eingefügt

#include <iostream>
using namespace std;


int main()
{
cout <<"hallo,welt!\n";
keep_window_open();
return 0;
}
fehlermeldung ist 1>c:\users\klein\documents\visual studio 2010\projects\hello welt\hello welt\hello.cpp(8): error C3861: "keep_window_open": Bezeichner wurde nicht gefunden.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========





// "Einführung in die Programmierung mit C++" von Bjarne Stroustrup
//

#ifndef STD_LIB_FACILITIES_GUARD
#define STD_LIB_FACILITIES_GUARD 1


//------------------------------------------------------------------------------

// Auf manchen Windows-Maschinen muss keep_window_open() aufgerufen werden,
// um zu verhindern, dass Windows das Fenster schließt, bevor Sie eine Chance hatten,
// die Ausgabe zu lesen.
inline void keep_window_open()
{
cin.get();
}

//------------------------------------------------------------------------------

#endif // STD_LIB_FACILITIES_GUARD
03/03/2015 15:08 _Roman_#17
Wie soll der Compiler denn die Funktion keep_window_open() finden, wenn sie in einem Header ist, den du nicht mal hinzufügst? Außerdem sieht man doch, dass die Funktion lediglich ein cin.get() beinhaltet, weshalb du das auch direkt ausschreiben kannst.
03/03/2015 15:46 Logtetsch#18
Es macht für dich wenig Sinn sich dem Buch weiter zu quälen, wenn du nicht damit zurecht kommst. Lege dir ein neues Buch zu wie z.B den C++ Primer. Ich habe mir das gleiche Buch vor ca. 2 Jahren gekauft und schließe mich folgendem an:

Quote:
Originally Posted by Dr. Chrilly Donninger "vulgo Chrilly"
Ich habe das englische Original Programming: Principles and Practice gelesen. Die Bewertung bezieht sich auf das englische Original. Siehe meine dortige Rezension. Kurzfassung: Das Buch ist überladen und öd zu lesen.
Ich möchte hier die Frage aufwerfen, welchen Sinn es haben soll Programmieren mit einem Deutschsprachigen Buch zu lernen. Ich bin gegen die gedankenlose Verwendung von Anglizismen. Aber in diesem Fall ist die Fachsprache einfach Englisch. Ein Stack ist ein Stack und kein Kellerstapel. Einkellern und auskellern für Push und Pop ist schon obszön.
Es gehört zur Qualifikation eines Programmierers, dass er ein englisches Fachbuch lesen kann. Wie jede Fachsprache ist diese sowieso sehr restingiert. Mit 500 Wörtern kommt man locker durch. Die Deutsche Übersetzung kommt auch selten an die Qualität des englisches Originals heran. Sie kommt auch immer mit Verzögerung heraus. Wissenschaftliche Aufsätze sind praktisch ausschließlich in Englisch.
03/03/2015 18:55 thomascool1990#19
für das buch habe ich 75 euro ausgeben und c++ ist nicht einfach und da seht auch drin das man um helfe fragen kan die erfahrung haben in c++

vor muss ich den cin.get() hin schreiben also wie ?
03/03/2015 21:10 warfley#20
[Only registered and activated users can see links. Click Here To Register...]
03/04/2015 08:29 _Roman_#21
Quote:
Originally Posted by thomascool1990 View Post
für das buch habe ich 75 euro ausgeben und c++ ist nicht einfach und da seht auch drin das man um helfe fragen kan die erfahrung haben in c++

vor muss ich den cin.get() hin schreiben also wie ?
Code:
#include <iostream>
using namespace std;


int main()
{
      cout <<"hallo,welt!\n";
      keep_window_open(); //die Zeile durch cin.get(); ersetzen
      return 0; 
}
Habs dir markiert. Die Funktion "keep_window_open();" beinhaltet doch nur das "cin.get();", du hast doch selber den Inhalt der Funktion gepostet. Also entweder ist das Buch verdammt schlecht oder du solltest dir nochmal von Anfang an alles ganz genau durchlesen.
03/04/2015 18:10 thomascool1990#22
so jz habe ich alles wie aus dem buch abgeschrieben aber ich bekomme eine fehlrmeldung

#include "std_lib_facilities.h"



int main()
{
cout <<"Hallo, Welt!\n";
keep_window_open();
return 0;
}

1>c:\users\klein\documents\visual studio 2010\projects\hello welt\hello welt\std_lib_facilities.h(18): error C2065: 'cin': nichtdeklarierter Bezeichner
1>c:\users\klein\documents\visual studio 2010\projects\hello welt\hello welt\std_lib_facilities.h(18): error C2228: Links von ".get" muss sich eine Klasse/Struktur/Union befinden.
1> Typ ist ''unknown-type''
1>c:\users\klein\documents\visual studio 2010\projects\hello welt\hello welt\hello.cpp(7): error C2065: 'cout': nichtdeklarierter Bezeichner
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========



// Auf manchen Windows-Maschinen muss keep_window_open() aufgerufen werden,
// um zu verhindern, dass Windows das Fenster schließt, bevor Sie eine Chance hatten,
// die Ausgabe zu lesen.
inline void keep_window_open()
{
cin.get();
}

//------------------------------------------------------------------------------

#endif // STD_LIB_FACILITIES_GUARD
03/05/2015 23:27 .Because..?#23
Code:
#include "std_lib_facilities.h"



int main()
{
cout <<"Hallo, Welt!\n";
keep_window_open();
return 0;
}
Sehe ich das richtig, dass das dein Code ist den du in deinem Programm hast?
Wenn ja, dann kann das nicht funktionieren
Wenn du "cout" benutzen willst, dann musst du entweder std::cout nutzen oder den namespace std benutzen dann cout . Natürlich muss für cout auch iostream included werden.
Damit sich das Fenster nicht sofort schließt kannst du in der Theorie auch system("pause"); benutzen (ACHTUNG - Sehr unschön :D)
03/05/2015 23:44 Logtetsch#24
Zum einen musst Du iostream inkludieren und zum anderen würde ich Dir generell von using namespace abraten. Wieso? [Only registered and activated users can see links. Click Here To Register...]. Alternativ using std::cout benutzen.

Code:
#include <iostream>

using std::cout;
using std::endl;
using std::cin;

int main()
{
     cout << "Hallo Welt!" << endl;
     cin.get();
     return 0;
}
Quote:
Originally Posted by xXJustiinXx View Post
Damit sich das Fenster nicht sofort schließt kannst du in der Theorie auch system("pause"); benutzen (ACHTUNG - Sehr unschön :D)
Es ist nicht nur sehr unschön, es ist auch noch ganz nebenbei katastrophal.
Vergiss system("pause") und verwende stattdessen std::cin.get(). [Only registered and activated users can see links. Click Here To Register...]ein Einblick, warum system("pause") vermieden werden sollte.
03/06/2015 15:44 thomascool1990#25
ABER IM buch seht das so drin warum geht das den nicht wen das ich so abschreiben soll
03/06/2015 15:53 Logtetsch#26
Sollte so funktionieren. Ich kann ad hoc nicht sagen, ob das Buch im weiteren Verlauf näher auf Includedateien bzw. generell Präprozessor Direktiven eingeht. Falls nicht,
hier nochmal eine kleine Referenz: [Only registered and activated users can see links. Click Here To Register...]

Code:
#include "std_lib_facilities.h" 
#include <iostream>

using std::cout;
using std::endl;

int main()
{
     cout << "Hallo Welt!" << endl;
     keep_window_open();
     return 0;
}
03/06/2015 17:44 warfley#27
Quote:
ABER IM buch seht das so drin warum geht das den nicht wen das ich so abschreiben soll
Entweder ist das Buch Müll oder du hast die Anleitung einfach nicht verstanden.
03/14/2015 20:45 DO_2048#28
03/14/2015 21:17 snow#29
Ich denke, inzwischen sollten wir alle gelernt haben, wie man std::cout verwendet, deshalb schließe ich jetzt mal bevor jemand noch mit puts oder gets ankommt.

#closed