blutiger c++ anfänger braucht hilfe

morgen !!

bin am 1. tag mit c++ (autor: Jesse Liberty) und schon probleme:

habe den code
Code:
#include <iostream.h>
int main()
{
int x = 5;
int y = 7;
cout << "\n";
cout << x + y << " " << x * y;
cout << "\n";
return 0;
}

eingegeben und eigentlich sollte es mir die ergebnisse anzeigen, also 12 und 35, doch es zeigt in der cmd.exe nur eine leere zeile an und beendet ohne fehler. habe den code mit OPENWAT kompiliert, der auch keinen fehler gefunden hat. vorschläge?
 
Hi, ich weiss zwar nicht genau warum dein teil nicht funktioniert aber es ist nicht reiner C++ Code. Denk nicht dass "\n" irgend was mit der C++-Idee zu tun hat

Hier mal ein, ich hoff mal sauber programmierter C++-Code, der das selbe macht und funktionieren sollte. Zwar habe ichs unter Linux probiert, sollte aber auch für Windows hinhaun. Ist ja nichts weltbewegendes drinnen

Code:
#include <iostream>

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

int main()
{
  int x = 5;
  int y = 7;

  cout << endl;
  cout << x + y << " " << x * y;
  cout << endl;

  return 0;
}

Bei fragen einfach melden

[edit]
übrigens sollte man die "iostream.h" in C++ auch nicht mehr verwenden. Man sollte da schon mit aktuellere Sachen arbeiten. Alle files welche ein *.h hinten haben, ausser eigene Header-Files, sollten meiner Ansicht nach vermieden werden in C++
zB. statt "iostream.h" einfach nur "iostream"
[/edit]


mfg ecologys
 
Hi, ich weiss zwar nicht genau warum dein teil nicht funktioniert aber es ist nicht reiner C++ Code. Denk nicht dass "\n" irgend was mit der C++-Idee zu tun hat

Da denkst Du falsch. endl ist ein Manipulator und \n ein Zeichen. Und beide sind Teil von C++. Also wird es wohl kaum daran liegen.

@Threadstarter: Dein Code funktioniert jedenfalls einwandfrei.
 
Sorry, hab wahrscheinlich eine falsche Wortwahl getroffen. Wolte nicht sagen, dass das "\n"-Zeichen schuld daran sei, dass das Programm nicht läuft.
Ich weiss natürlich schon, dass man in C++ auch C einbauen kann.

Ich dachte aber, dass das "endl" eine bessere und sauberere Variante sei. Kann mich da aber auch irren. Hab aber in C++-Codes eigentlich selten das "\n"-Zeichen vorgefunden.
Ich lass mich aber gern belehren.

mfg ecologys
 
\n wird häufig auch in C++ benutzt, um aber Text auszugeben, ist endl besser, da es eine neue Zeile anfängt und die Ausgabe "flusht" (also allles auch wirklich ausgibt und somit den Ausgabepuffer leert). IMHO ist 'endl' einfach nur '"\n" << flush'...
An sich läuft dein Programm aber. Schließt sich die Konsole gleich nach dem Beenden? Wenn ja ruf es mal aus einer Konsole auf, so dass diese offen bleibt...
 
Und ich dachte immer endl macht den Umbruch der Zeilen Systemunabhängig, siehe Unix|Win|MacOS

\n
\r\n
 
danke erstmal für eure hilfe!

das codebeispiel ist wie gesagt aus einem lehrbuch und gibt als ausgabe nur 2 oder 3 leere zeilen aus und beendet dann auch ohne fehler und geht zur eingabe zurück.

bin schon relativ viel weiter und werde ab jetzt statt "\n" immer "endl" verwenden.

danke für eure hilfe, es wird sicherlich nicht die letzte frage bezüglich c++ sein.

mfg
feldhamster
 
Zurück
Oben