Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Hello World! Bildschirmausgabe?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
16.07.2006, 18:59 Uhr
~plate-gt
Gast


Hallo,

ich bin ein absoluter C++ Neuling und versuche anhand eines Buches die ersten Schritte zu lernen. Natürlich fängt man meistens mit dem Programm Hello World an. Das ist mein Quelltext:


C++:
#include <iostream.h>

int main();
//test Kommentar
int main()
{
cout << "Hello World!\n";
return 0;
}



Wenn ich das jetzt kompiliere und die .exe ausführe geht nur kurz ein DOS Fenster und wieder zu. Ich nehme mal an das der Text halt angezeigt wird und nach Ende der Funktion das Fenster wieder geschlossen wird (ähnlich wie in der Batch Programmierung wenn man keine Pause einfügt). Geht halt so schnell dass man es nicht lesen kann. Wenn ich die .exe allerdings aus DOS aufrufe kommt der Text Hello World!. Aber sollte das nicht eigentlich eine Meldung auf dem Bildschirm ausgeben ohne das DOS benutzt wird?

Vielen Dank schonmal
mfg
plate-gt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.07.2006, 19:31 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi, die konsole wird schon gezeigt, das hello world ausgegeben und dann eben die konsole wieder geschlossen. Entweder zum testen ein "getchar()" vorm return 0 einfügen oder eben nur über ne command-prompt starten
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.07.2006, 21:49 Uhr
~plate-gt
Gast


Alles klar. Danke. Jetzt weiß ich wenigstens dass es so sein muss.

Gruß
plate-gt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.07.2006, 22:07 Uhr
xXx
Devil



C++:
int main();


Wofür declarierst du die main Function erst? Ist genau bei der unnütz... bei anderen Functionen aber sicherlich richtig


C++:
#include <iostream.h>

Seit 1998 ist dies nichtmal std. konform...

C++:
#include <iostream>

muss es heißen....


Am besten machs so:

C++:
#include <iostream>
#include <conio.h>

int main()
{
    std::cout << "Hello World!" << std::endl;
    std::cout << "Ich bin eine in C++ geschriebene Anwendung!" << std::endl;
    
    getch();

    return 0;
}

Dieser Post wurde am 16.07.2006 um 22:07 Uhr von xXx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
17.07.2006, 01:38 Uhr
Hans
Library Walker
(Operator)



Zitat von xXx:


C++:
#include <iostream.h>

Seit 1998 ist dies nichtmal std. konform...

C++:
#include <iostream>

muss es heißen....



Hi,
das ist zwar richtig, aber wir wissen ja nicht, wie alt der Compiler und das Buch sind, das er/sie benutzt. Und bei alten Compilern erlebt man ja bekanntlich immer noch, das die den Standard nicht mögen...

Code:
D:\Borland\work>type hw.cpp
#include <iostream>

int main()
{
  cout << "Hello World!\n";
  return 0;
}
D:\Borland\work>bcc32 -w hw.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
hw.cpp:
Error E2451 hw.cpp 5: Undefined symbol 'cout' in function main()
*** 1 errors in Compile ***

D:\Borland\work>type hw.cpp
#include <iostream.h>

int main()
{
  cout << "Hello World!\n";
  return 0;
}
D:\Borland\work>bcc32 -w hw.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
hw.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

D:\Borland\work>hw
Hello World!

D:\Borland\work>


Jetzt wirst Du mir zwar wieder vorwerfen, das der Borlandcompiler deshalb ins Museum gehört, was ja nicht ganz von der Hand zu weisen ist, aber damit komm ich(!) (noch) am besten zurecht. (Ansonsten hab ich hier noch einen Open Watcom in gebrauch.)

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
17.07.2006, 10:52 Uhr
Bruder Leif
dances with systems
(Operator)


*ahem*
<spitzfindig>In dem speziellen Fall oben fehlt lediglich das Präfix "std::" oder "using namespace std;", dann sollte auch Borland funzen Kommt aber auch auf die Version an, stimmt schon.</spitzfindig>
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
17.07.2006, 10:53 Uhr
Th



@Hans, bei deiner ersten Variante fehlt ja auch das 'std::' vor dem 'cout'...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
17.07.2006, 11:14 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


wenn man schon vom standard spricht: conio.h ist mist, genau wie getch
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
17.07.2006, 14:28 Uhr
xXx
Devil


besser als system("pause");
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
17.07.2006, 16:53 Uhr
0xdeadbeef
Gott
(Operator)


Ich schreib bei sowas

C++:
#ifdef __WIN32__
system("pause");
#endif


oder, besser

C++:
@echo off
programm.exe
pause


in eine .bat und bieg die der IDE bei. Meistens schreib ich eigentlich garnichts, weil die unter Linux gängigen IDEs solche Probleme garnicht haben, aber wenns denn man windows und im textmodus sein muss...so halt.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: