Mein ertses C++ Programm läuft net:-(

Moin WWW-User,

ich habe heute mir ein Buch gekauft „C++; Lernen und professionell anwenden“ von Ulla Kirch und Peter Prinz. (Bisher ein gutes Buch^^)

Noch bin ich im ersten Kapitel. Da ich das erste Beispielprogramm nicht hinbekomme! (Bin blutiger Anfänger)
Folgender Text:

#include
using namespace std,

int main()
{
cout

Hi,

hast Du die

Microsoft Visual C++ Book-Edition

fehlerfrei installiert? Wie übersetzt Du das Programm? Gab es da Fehler oder Warnhinweise?

PDB = Program Database

da scheint die Installation noch nicht vollständig zu sein. Du musst bei der Ausführung die Konsole offen lassen, evtl. gibt es sowas wie ein Ausgabefenster, wo man sich nach Schließen des Programmfensters die Ausgabe noch anschauen kann.

Da muss man auf die Visual Studio Experten warten.

Gruß Lutz

Hallo RedD

ich habe heute mir ein Buch gekauft „C++; Lernen und
professionell anwenden“ von Ulla Kirch und Peter Prinz.
(Bisher ein gutes Buch^^)

Sehr gut. Da kenne ich die alte Version, die sind allerdings gut!

Noch bin ich im ersten Kapitel. Da ich das erste
Beispielprogramm nicht hinbekomme! (Bin blutiger Anfänger)

Das wird schon noch! Schau’n wir mal:

#include 
#include // wegen des getch()
using namespace std; // ';', nicht den ','

int main()
{
 cout 


> ...öffnet sich kurz die Eingabeaufforderung und direkt  
> geht sie wieder zu!


Tja, der führt die zwei Zweilen aus, dann ist Schluss. Ich kann ihn aber auf einen Tastendruck warten lassen (mit getch(), die gibt den ASCII der Taste zurück), so muss er mir das Fenster offen lassen.



> In der Infobox steht dann sehr oft PDB  
> File konnte nicht gefunden werden...usw.!


Hast wohl noch MS-VC6? Gehe im Build-Menü auf "Rebuild all" oder "Alles neu kompilieren", das hilft in solchen Fällen, und auch sonst, wenn er spinnt.



> ...Außer iostream,


Der mitgelieferte Header, in dem das "cout" (und Andere) deklariert sind.



> namespace und std!!!


Der Header "iostream" hat einen Namensbereich namens "std" drin, Code:



    
    namespace std // "std" ist ein beliebiger Bezeichner
    {
     class ostream
     {
     // Kurzfassung
     }cout;
    };
    
    // Du bist Wagner-Fan? Na gut:
    namespace richard
    {
    };



Die using-Anweisung sagt ihm also _"verwende das 'cout', das im namespace 'std' deklariert ist, nicht ein anderes"_. Man vermeidet so Namenskonsflikte.

Es gibt auch "iostream.h", die ältere Version dieses Headers, diese hat keinen namespace drin, eine using-Anweisung würde daher einen Fehler mit sich bringen. Es gibt aber auch keinen Grund, alte Versionen von Headers zu verwenden (die mit .h), wenn ich die neuen auch haben kann.

Dies ist nun aber nur bei manchen Headers so. Bei vielen gibt es nur die eine Version, mit ".h".

Die using-Anweisung macht Dir das Leben leicht, Du sparst Dir dann Mühe mit dem Auflösen von einzelnen Objekten:



    
    std::cout 
    
    
    > Hoffe einer kann mir helfen!^^
    
    
    Hoffe ich auch, 
    
    mfG
    Martin B

Hi,
dein Programm macht genau das was es soll, du gibts ihm nicht den Befehl die Eingabeaufforderung offen zu halten.
Setz das vor das return 0;

cin.get()

Lg Knerd

Rießen Dank!
Klappt wunderbar und ich muss sagen die Erklräung von dir waren sehr hilfreich =)

Auf ins nächste Kapitel:smile: