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

1

21.03.2013, 13:44

Listing 2.1 In der Konsole wird nichts ausgegeben

Habe ein Problem mit Listing 2.1





Hallo seit kurzem versuche ich mich auch am Programmieren.

Ich nutze visual c++ 2010 express. Ich habe den Quellcode
meiner Meinung nach ordnungsgemäß abgetippt und es kommt auch keine
Fehlermeldung jedoch ist die Bildschirmausgabe leer.

Ich hoffe ihr helft mir. Dafür schon mal schönen Dank.















Quellcode





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21




//C++ für Spieleprogrammierer
// Projekt2.1
// Deklarieren und definieren von Variablen
//
#include <iostream>

using namespace std;

//Hauptprogramm
//
int main ()
{
//Variablen
//
int Lebensenergie; //Variable deklarieren

Lebensenergie = 100; //Variable definieren
cout << "Lebensenergie des Spielers: " << Lebensenergie << endl;

return 0;
}

FSA

Community-Fossil

  • Private Nachricht senden

2

21.03.2013, 17:50

Dein Programm endet sofort nach dem Ausgeben des Textes. Setze vor das return 0; ein cin.get();.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Techie

Alter Hase

Beiträge: 717

Wohnort: Bayreuth

Beruf: Student | Hilfswissenschaftler in der Robotik

  • Private Nachricht senden

3

21.03.2013, 19:56

Oder das gehasste

C-/C++-Quelltext

1
system("PAUSE");


Der Code würde dann etwa so aussehen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
01 // Quellcode
02 #include <iostream>
03 using std::cout; // optional zu using namespace std;
04 
05 int main()
06 {
07 int Lebensenergie; // Deklarieren eines Integers
08 Lebensenergie = 100; // Definieren der Werte.
09 return 0;
10 }


Optional dazu könntest du aber auch per cmd.exe das Programm starten.
Zum Beispiel du hast das Programm ( die .exe ) im C:\ Verzeichnis, dann

Quellcode

1
2
cd C:\
DeinProgramm.exe


"cd" bedeutet soviel wie "change directory", du wechselst damit das Verzeichnis.

Diese Variante hat den Vorteil, dass du

C-/C++-Quelltext

1
system("PAUSE");

nicht verwenden musst ( tatsächlich gibt es Leute die dass nicht mögen :cursing: ).

Wieso das 2. auch Funktioniert?
Beim ersten wird einfach das Programm gestartet und ausgeführt bis es zum Ende angelangt ist. ( und einfach cout kann jeder PC in millisekunden ).
Beim zweiten jedoch startest du einfach eine Eingabeaufforderung, die so lange offen bleibt bis DU sie schließt.
Und wenn du das Programm darin startest wird die Ausgabe ( des Programms ) gezeigt.

Gruß Techie

P.S.: Recht umfangreich oder? Allgemein gibt es in C/C++ gibt es bei fast allem verschieden Möglichkeiten etwas zu lösen, das hier sollte es nur etwas verdeutlichen.
I write my own game engines because if I'm going to live in buggy crappy filth, I want it to me my own - Ron Gilbert

4

21.03.2013, 20:09

Nein es gibt nicht mal den Text aus. es steht dort nur "Drücken Sie eine bleibige Taste..."

schönen gruß

5

21.03.2013, 20:21

Dein Programm endet sofort nach dem Ausgeben des Textes. Setze vor das return 0; ein cin.get();.
also das hat nichts bewirkt. es ist ja nicht so dass das Fenster sich einfach schließt. sondern das Programm wird einfach ignoriert.

Oder das gehasste

C-/C++-Quelltext

1
system("PAUSE");


Der Code würde dann etwa so aussehen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
01 // Quellcode
02 #include 
03 using std::cout; // optional zu using namespace std;
04 
05 int main()
06 {
07 int Lebensenergie; // Deklarieren eines Integers
08 Lebensenergie = 100; // Definieren der Werte.
09 return 0;
10 }


Optional dazu könntest du aber auch per cmd.exe das Programm starten.
Zum Beispiel du hast das Programm ( die .exe ) im C:\ Verzeichnis, dann

Quellcode

1
2
cd C:\
DeinProgramm.exe


"cd" bedeutet soviel wie "change directory", du wechselst damit das Verzeichnis.

Diese Variante hat den Vorteil, dass du

C-/C++-Quelltext

1
system("PAUSE");

nicht verwenden musst ( tatsächlich gibt es Leute die dass nicht mögen :cursing: ).

Wieso das 2. auch Funktioniert?
Beim ersten wird einfach das Programm gestartet und ausgeführt bis es zum Ende angelangt ist. ( und einfach cout kann jeder PC in millisekunden ).
Beim zweiten jedoch startest du einfach eine Eingabeaufforderung, die so lange offen bleibt bis DU sie schließt.
Und wenn du das Programm darin startest wird die Ausgabe ( des Programms ) gezeigt.

Gruß Techie

P.S.: Recht umfangreich oder? Allgemein gibt es in C/C++ gibt es bei fast allem verschieden Möglichkeiten etwas zu lösen, das hier sollte es nur etwas verdeutlichen.</iostream>
also das hab ich nicht ganz verstanden, denke ich. auf jeden fall kann man das fenster doch mit strg+F5 offen halten!? oder wie meinst du das?
gruß Ardax

6

21.03.2013, 20:26

achso bei den Fehlermeldungen steht noch folgendes.

Zitat

"Projekt2.exe": "C:\Users\Oli\Documents\Visual Studio 2010\Projects\Projekt2\Debug\Projekt2.exe" geladen, Symbole wurden geladen.
"Projekt2.exe": "C:\Windows\SysWOW64\ntdll.dll" geladen, Cannot find or open the PDB file
"Projekt2.exe": "C:\Program Files\AVAST Software\Avast\snxhk.dll" geladen, Cannot find or open the PDB file
"Projekt2.exe": "C:\Windows\SysWOW64\kernel32.dll" geladen, Cannot find or open the PDB file
"Projekt2.exe": "C:\Windows\SysWOW64\KernelBase.dll" geladen, Cannot find or open the PDB file
"Projekt2.exe": "C:\Windows\SysWOW64\msvcr100d.dll" geladen, Symbole wurden geladen.
Das Programm "[6468] Projekt2.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.

ich dachte nur es wäre nichts schwerwiegendes... hab jedenfalls irgendwo gelesen dass das nicht direkt was mit dem Programm zutun hat.
Entschuldigt :S

FSA

Community-Fossil

  • Private Nachricht senden

7

21.03.2013, 20:41

Ignoriere Techies Tipps erstmal. Sie sind nicht falsch. Sind aber für einen Anfänger verwirrend.
Das sind keine, für dich jetzt wichtige, Fehlermeldungen.
Erstelle doch nochmal ein neues Projekt (Leeres Projekt). Und füge dann, in die von dir erstellte CPP-Datei, folgenden Quelltext ein:

C-/C++-Quelltext

1
2
3
4
5
6
7
#include <iostream>

int main()
{
  std::cout << "Hallo Welt!" << std::endl;
  std::cin.get();
}

und poste bitte, ob das geklappt hat.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »FSA« (22.03.2013, 15:23)


8

22.03.2013, 14:25

@FSA: Es muss std::endl sein.

FSA

Community-Fossil

  • Private Nachricht senden

9

22.03.2013, 15:23

Ach mist danke :)

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

10

23.03.2013, 20:14

Ah!

so es hat geklappt. danke euch erstmal und hoffe dass ihr mir das nächste mal auch wieder helft.

das Problem war ganz grundsätzlich ich hat irgendwie keine .cpp datei offen. wie ich das gemacht habe konnte ich noch nicht reproduzieren. muss anscheinend beim projektnamen eintippen woanders hingeklickt haben.
und als zweites hat noch #include "stdfxa.h" gefehlt aber das hat er mir dann auch gemeldet^^

schönen abend Ardax

ps : eine frage hab ich noch hat visual studios ein problem damit wenn man beim debuggen verschiedene .cpp dateien also unterschiedliche programme im gleichen projekt offen hat?

Werbeanzeige