Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Lord-archimedes

Treue Seele

  • »Lord-archimedes« ist der Autor dieses Themas

Beiträge: 234

Wohnort: Hannover

  • Private Nachricht senden

1

03.01.2007, 11:40

Anfängerfragen

Ich wollte das in dem "Programmfehler-Thread" schreiben leider bin ich ein bissl zu spät gekommen :cry: ;)

was empfehlt ihr mir was sollte ich schreiben:

C-/C++-Quelltext

1
cout << "Irgendwas" << endl;

oder

C-/C++-Quelltext

1
cout << "Irgendwas" << "\n";


und sollte ich lieber

C-/C++-Quelltext

1
getch ();


C-/C++-Quelltext

1
getchar ();


C-/C++-Quelltext

1
system ("PAUSE");


schreiben :?:
Ich HAB KEINE AHNUNG
Danke für eure Antworten

Lord-archimedes

Treue Seele

  • »Lord-archimedes« ist der Autor dieses Themas

Beiträge: 234

Wohnort: Hannover

  • Private Nachricht senden

2

03.01.2007, 12:33

AHA und warum schreibst du das 3mal :?: :?: :?: :?: :?: :?: :?:
und was ist mit
getch
getchar
system ("PAUSE")
???

rklaffehn

Treue Seele

Beiträge: 267

Wohnort: Braunschweig

  • Private Nachricht senden

3

03.01.2007, 12:47

Also,

es gibt einen kleinen Unterschied zwischen einem '\n' (Line Feed) und einem std::endl.

Beide sorgen dafür, das ein "Neue Zeile" Zeichen in den Ausgabestrom geschrieben wird.

std::endl macht aber noch etwas mehr. Da viele Ausgabeströme gepuffert arbeiten -- sie benutzen einen Speicherbereich, um erst Daten zu sammeln -- kann es passieren, dass ein Zeichen nicht sofort auch auf dem Medium (Datei oder auch Bildschirm für std::cout) erscheint, sondern erst, wenn die Datei geschlossen wird oder der Puffer voll ist.

std::endl schreibt nun auch noch ein std::flush in den Ausgabestrom, so dass der bisher vorhandene Puffer auch sofort komplett "rausgeschrieben" wird.

getch und getchar sind Geschmackssache. Ich benutze die gar nicht, aber ich mache auch selten Konsolenanwendungen. In C++ würde ich dann aber sowieso std::cin nehen.

system ("PAUSE") solltest du komplett vermeiden. Wozu erst ein Shell-Kommando starten, wenn ich im Programm mit einer der oben genannten Methoden selbst auf die Eingabe eines Zeichen warten kann?

Mit system ("blubb") startet man ein weiteres Programm! Wo haben eigentlich immer alles dieses system her?

Gruss,
Rainer
God is real... unless declared integer.
http://www.boincstats.com/signature/user_967277_banner.gif

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

03.01.2007, 13:18

@Dofter Seltsamerweise waren 3 Beiträge von dir vorhanden. Ich habe daraufhin einen gelöscht, wobei gleichzeitig alle 3 verschwunden sind oO. Leider konnte ich den Beitrag auch nicht mehr aus meinem Catch retten. Pardon! Vielleicht kannst du es ja noch einmal posten :oops:
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

5

03.01.2007, 14:15

Es liegt an dir wie du das schreiben willst. Alles gewöhnungssache.
Sprachen: C/C++, C#, Assembler (16-Bit), QuickBASIC

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

03.01.2007, 14:51

Zitat von »"Reboot"«

Es liegt an dir wie du das schreiben willst. Alles gewöhnungssache.


Es liegt vorallem daran ob man Standardcompatibel bleiben will oder nicht! :)
@D13_Dreinig

Lord-archimedes

Treue Seele

  • »Lord-archimedes« ist der Autor dieses Themas

Beiträge: 234

Wohnort: Hannover

  • Private Nachricht senden

7

04.01.2007, 19:31

vielen Dank euch allen

RikuTsudemi

Frischling

Beiträge: 7

Wohnort: zu Hause

  • Private Nachricht senden

8

30.01.2007, 14:47

Kleine Frage am Rande

Eine Frage die mich schon lange beunruhigt... wollte es aber noch nicht Probieren: Sind die geschweiften Klammern bei for - und switch unbedingt nötig???
Wer hier klickt ist schlau www.harhar.de

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

9

30.01.2007, 14:56

Re: Kleine Frage am Rande

Zitat von »"RikuTsudemi"«

Eine Frage die mich schon lange beunruhigt... wollte es aber noch nicht Probieren: Sind die geschweiften Klammern bei for - und switch unbedingt nötig???


For nein, switch ja!
@D13_Dreinig

rklaffehn

Treue Seele

Beiträge: 267

Wohnort: Braunschweig

  • Private Nachricht senden

10

30.01.2007, 19:06

So pauschal stimmt das "nein" aber nicht.

Geschweifte Klammern fassen sozusagen mehrere Befehle zu einem Block zusammen. Einzelne Befehle (brutal vereinfacht sind das die Teile vor einem Semikolon) sind ebenfalls ein Block.

Wenn man die Klammern bei einem if / for / while weglässt, wird das schon Konsequenzen haben.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
// einmal so

for (...)
  {
    foo ();
    bar ();
  }

// und dann so.

  for (...)
    foo ();
    bar ();

// sieht ähnlich aus, macht aber was anderes, weil bar () garantiert (nur) einmal aufgerufen wird.


Bei einem switch sind sie immer zwingend erforderlich.
God is real... unless declared integer.
http://www.boincstats.com/signature/user_967277_banner.gif

Werbeanzeige