Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Nachdem ich nun einen geeigneten Compiler gefunden habe, habe ich das Problem, dass er nach dem compilen die exe erstellt, aber sobald ich diese ausführen will öffnet sich kurz das DOSFenster und schließt sich wieder.

Ich benutzte den Microsoft Visual C++ 2005 Express Compiler.

mein kleines Test Programm:

#include <iostream.h>

int Add (int x, int y)

{

cout << "In Add(), erhalten " << x << " und " << y << "\n";

return (x+y);

}

int main()

{

cout << "Ich bin in main()!\n";

int a, b, c;

cout << "Geben Sie zwei Zahlen ein: ";

cin >> a;

cin >> b;

cout << "\nAufruf von Add()\n";

c=add(a,B);

cout << "\nZurück in main().\n";

cout << "c wurde gesetzt auf " << c;

cout << "\nBeenden...\n\n";

return 0;

}

Erstaunlich, dass es überhaupt compiliert (genaugenommen glaube ich nicht, dass das Programm, so wie es hier steht, compiliert wurde)...

#include <iostream.h>

Es muss


#include <iostream>

lauten. Du musst entweder noch ein

using namespace std;

hinzufügen, oder alle Objekte/Klassennamen aus dem Namesapce std mit vorangestelltem std:: ansprechen.
cout << "In Add(), erhalten " << x << " und " << y << "\n";
Anstelle von "\n" solltest Du std::endl verwenden.
c=add(a,B);
Es muss

c=Add(a,;

[/code]

lauten.

Nach den Änderungen funktioniert es.

PS: Wenn Du nicht willst, dass sich Dein Programm-Fenster nach dem Beenden des Programms schließt, dann starte Dein Programm vom Command Prompt (cmd.exe) aus.

thx für die schnelle antwort

ich habe mir das buch jetzt lerne ich c++ gekauft und da wurden diese prog genauso aufgeschrieben mit iostream.h und so

das mit dem add kann sein das ich das ausversehen lein geschrieben hab

und gleich noch eine frage wie du das mit dem std::end meinst?könntest du mir das vllt erklären? oder das prog mal so umschreiben wie du es machen würdest und ein paar kommentare dahinterschreiben? also //...

das wäre echt nett dnen ich bin noch voll am anfang und würde gern mal vorwärts kommen doch ohne compilen wird das wohl nix^^

so long

Das die Konsole wieder zugeht ist normal weil dein Programm ja fertig mit seiner Ausführung ist. Du kannst entweder wie Bubble gesagt hat das Programm über die Dos Box starten oder du baust noch einen Befehl ans Ende das auf eine Eingabe gewartet wird. z.b. getch() oder getchar() oder cin.

Der unterschied zwischen iostream und iostream.h ist der das iostream.h veraltet ist. Deshalb empfiehlt es sich iostream einzubinden. Alles Funktionen in iostream befinden sich aber in einem so genannten Namensraum. D.h. du musst diesen vor dem Funktionsnamen angeben. Der Namensraum in iostream heißt std, deshalb musst du die Funktion cout z.B. so aufrufen:


std::cout
[/PHP]

Stattdessen kannst du aber auch nach dem #include <iostream> auch einfach folgendes schreiben um den Namensraum standardmäßig zu benutzen:

[PHP]
using namepsace std;

Dadruch kannst du dann wieder einfach cout schreiben ohne den Namensraum angeben zu müssen.

thx für die schnelle antwort

ich habe mir das buch jetzt lerne ich c++ gekauft und da wurden diese prog genauso aufgeschrieben mit iostream.h und so

Wie alt ist das Buch? Wenn es zu alt ist und nicht den aktuellen C++ Standard behandelt, dann solltest Du Dir lieber ein aktuelleres Buch (oder eine aktualisierte Ausgabe) zulegen.

und gleich noch eine frage wie du das mit dem std::end meinst?

Nicht "end" sondern "endl" aus dem Namensraum std. Dadurch bleibt Dein Code portabel, da Du ihn nicht an evtl. unterschiedliche Gegebenheiten anpassen musst.

Du schreibst also beispielsweise anstelle von


std::cout << "Gib zwei Zahlen ein: \n";

lieber

std::cout << "Gib zwei Zahlen ein: " << std::endl;

so hab jetzt mal ein projekt geöffnet und der hat mir gleich ne vorgegebenen

headerdatei und quelldatei erstellt

(ich denke die sind für den compilier vorgang)

ich habe docrt meinen umgeänderten text reingeschrieben

und jetzt sagt er mir auch beim kompilieren einen fehler an

das neue prog:

// test.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.

//

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])

{

return 0;

}

#include <iostream>

int Add (int x, int y)

{

std::cout << "In Add(), erhalten " << x << " und " << y << "" << std::endl;

return (x+y);

}

int main()

{

std::cout << "Ich bin in main()!" << std::endl;

int a, b, c;

std::cout << "Geben Sie zwei Zahlen ein: " << std::endl;

cin >> a;

cin >> b;

std::cout << "\nAufruf von Add()" << std::endl;

c=Add(a,B);

std::cout << "\nZurück in main()." << std::endl;

std::cout << "c wurde gesetzt auf " << c;

std::cout << "\nBeenden...\n\n";

return 0;

}

kann es sein das das \n am anfang auch noch weg muss?

und hier der fehler:

------ Erstellen gestartet: Projekt: test, Konfiguration: Debug Win32 ------

Kompilieren...

stdafx.cpp

Kompilieren...

test.cpp

f:\dokumente und einstellungen\marcel\eigene dateien\visual studio 2005\projects\test\test\test.cpp(24) : error C2065: 'cin': nichtdeklarierter Bezeichner

Das Buildprotokoll wurde unter "file://f:\Dokumente und Einstellungen\Marcel\Eigene Dateien\Visual Studio 2005\Projects\test\test\Debug\BuildLog.htm" gespeichert.

test - 1 Fehler, 0 Warnung(en)

========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

danke für euer verständnis:D

cool dnake jetzt läuft es aber sobald ich die zahlen eingegeben habe und auf enter drücke rasselt er alles sofort runter und schließt die konsole habe auch den getch befehl oder getchar benutzt aber es passiert trotzdem genau das gleiche

Den Abschnitt "int _tmain..." kannst Du bis vor Dein "#include <iostream>" löschen, Du brauchst nur eine main-Funktion.

"cin" ist im gleiche Namensraum wie "cout", darum gehört auch vor "cin" ein "std::".

Starte das Programm, wie bereits gesagt, von der Eingabeaufforderung aus, um alle Ausgaben auch nach dem Programmende noch sehen zu können. Alternativ kannst Du das Programm auch aus Visual C++ heraus starten.

so ich hab mir da jetzt mal durch die suche gekämpft aber nicht zu der konsole gefunden wie ich die datei von dort aus öffnen könnte

könnt ihr mit evtl die befehle dafür hier reinschreiben?

danke für die links

in dem Buch steht das nicht zumindest nicht da wo ich bin

und ich habe schon nach einigen Tutorial im inet gesucht auch einiges gefunden, aber dort wurde nie erklärt wie man ein prog über die cmd öffnet

danke für eure hilfe und euer verständnis

so long

P.S.: (von mir aus closed)

aber dort wurde nie erklärt wie man ein prog über die cmd öffnet

Indem Du die Eingabeaufforderung (cmd.exe, DOS-Box, Shell, Command Promt (oder unter welchen Namen auch immer Du es kennst)) öffnest bzw. startest, mit "cd" in das Verzeichnis wechselst, in dem die vom Compiler erzeuge EXE-Datei liegt und Dein Programm durch Eingabe des Namens der EXE-Datei (danach Return drücken) startest.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.