Forum
Tipps
News
Menu-Icon

Buch:c++ Von Anfang an:Problem

So ich habe mir das Buch C++ von Anfang an .... gekauft und habe auch schon einiges gelesen..
aber wenn ich die Programme aus dem Buch abschreibe und ausprobieren will geht das nicht...
Es passiert folgendes:
ich schreibe alles ab Kompiliere es und will es ausführen.
Aber wenn ich es ausüfhre kommt nur kurz das cmd fenster und geht sofort wieder weg???
woran kann das liegen???

ich benutze Dev-C++
(etwas falsch abgeschrieben habe ich nicht man kann sich nämlich die cpp dateien auf der internetseite des autors downloaden.Und die sehen genauso aus wie meine...)


Mein Computer-System:
   
Installiertes Betriebssystem: Windows XP


Antworten zu Buch:c++ Von Anfang an:Problem:

Hallo,
wie führst Du die Programme denn aus? Mit Doppelklick?
Starte die Programme mal von der Eingabeaufforderung aus, dann bleibt das Fensterchen offen. Gibts da 'ne Fehlermeldung oder laufen sie ordnungsgemäß?

ich führe die unterschiedlich aus manchmal doppelklick manchmal baer auch in dem C++ porgamm auf dem button neben dem wo steht kompilieren...

Ein kleises beispl. aus dem Buch:

// bspl0007.cpp
#include <iostream>
using namespace std;

int main() {
   int wert1;
   float wert2;
   double wert3;
   wert1=4;
   wert2=7.3;
   wert3=wert1+wert2;
   cout << "\n" << wert3;
   wert3=wert1 + static_cast<int>(wert2);
   cout << "\n" << wert3;
   return 0;
}

es gibt keine fehlermeldung das cmd feld geht einfach wieder weg...

Ruf dieses Beispiel mal von der Eingabeaufforderung aus auf.
 

ich kenne mich noch nicht so gut aus...
Wie geht von der cmd etwaas aufrufen ???
einfach Pfad eingeben oder wie??

Start -> Ausführen -> cmd <ENTER>
Und darauf achten, dass Du Dich im richtigen Verzeichnis befindest. (Oder den kompletten Pfad eingeben)

Das Programm selber ist i.O.
Wenn Du es aber mit nem Doppelklick aufruftst beendet sich die Eingabeaufforderung nach der Programmausführung und das Fensterchen geht wieder zu.

er führt das programm dann auch aus aber dann sagt er:

irgendetwas mit ungültigen befehlen in dem programm...

(falls ich die komplette fehler meldung posten soll bitte bescheid sagen)

Ja, mach mal bitte.
Habs eben mal bei mir testweise laufen lassen (man könnte ja was übersehen)-> funktioniert problemlos (ich benutze aber einen anderen Compiler)

C:\WINDOWS\system32\cmd.exe-asd.exe
Die NTVDM-CPU hat einen ungültigen Befehl endeckt.
CS:0f34 IP:010b OP:2e 63 70 70 0d Klicken Sie auf"Schließen",um die Anwendung zu beende.


Ich habe das Programm asd(.exe)gennant...
is ein blöder name aber nun ja... 

welchen compiller benutzen sie??

g++ (heißt unter Windows MinGW).
Problem ist hier aber nicht der Compiler.
Das ist eine Fehlermeldung vom 16-Bit-Teilsystem.
Hier ist ne Anleitung zum Reparieren:
http://support.microsoft.com/kb/156687/de
übrigens duzen wir uns hier alle.
 

aso...
thx

sry aber,
irgendwie vertsehe ich das nicht was genau muss ichd enn jetzt machen???
habe mir alles auf der seite durchgelesen aber verstehe es nicht so ganz...

Welches Windows mit welchem Service-Pack benutzt Du?
Betrifft das Problem nur von Dir selbst compilierte Programme?

ja nur selbst compillierte programme...
und nur bei c++ bei z.B. batch,pascal visual basic geht alles...
windows service pack 3...


aber das komische ist programme die ich vorherr mit c++ gemacht habe (sehr einfach nur mit cout und cin und stings,...)gingen alle noch...

Was heißt "vorher mit C++ gemacht"?
Was hast Du verändert?

nein ich habe nichts anders gemacht ausser:

ich habe meine programme mit getch(); auf hören lassen und nicht mit return 0;...

und natürlich mit }


und ich habe die immer kompilliert und dan als exe gspeichert...und ausgeführt...


jetzt kompilliere ich sie und speichere sie als cpp.
ab und erstelle dan die .exe datei...

aber das is doch kein wirklicher unterschied oder??

Ähm... weisst du eigentlich was du tust?
.cpp sind fgw. deine Quellcodedateien, keine compiles.
Diese compilierst du, dann linkst du die entsprechenden erstellen Objekte und DANN erhälst du eine executable - deine .exe, wie du das ding nennst oder speicherst ist dir überlassen.

setz mal vor dein "return 0;" ein getch(); und schau was dann passiert.
getch() wartet auf tastatureingabe,
return 0; gibt den Wert 0 aus deiner Mainfunktion zurück. Ich vermute dein Programm tut alles was es soll, es terminiert auch korrekt und daraufhin wird deine Konsole geschloßen.
Quelltext hab ich nicht gelesen, dafür war ich zu faul. 

ich weiß schon das die cpp. datei keine fertiges Programm ist sondern nur der Quellcode ist, aber das passiert ja beim ausführen der exe. nicht beim ausführen der cpp. datei

(cpp. dateien können ja auch "nicht" ausgeführt werden...)

ich werde es mal so ausprobieren wie du es gesagt hast...
wenn es immer noch nicht geht könnte ich auch ein video von dem Problem machen falls das hilft...

aber erst mal danke...

jop habe ich mir gedacht so klappt das auch nicht...

(falls du dir nicht alles durchgelesen hast die beispiel kommen aus ein Buch zum c++ lernen also glaube ich nicht das die alle falsch sind...)

wenn ich ein getch (); vor return 0(); schreibe dann wird das als fehler markiert...

 

soll ich jemanden das video schicken (am besten über skype)
vielleicht habe ich ja etwas falsch beschrieben...

return 0(); kann nicht funktionieren.
0 ist keine Funktion sondern ein Wert.

Das hat auch nichts mit "falsch" zu tun, sondern damit, dass das programm - wie bereits gesagt - korrekt terminiert und daraufhin deine Console geschloßen wird.

Wenn die Zeile als Fehler markiert wird: Wie genau lautet die dazugehörige Fehlermeldung? (Das gilt IMMER! Fehler -> Fehlermeldung!)

Ansonsten ersetz sie durch cin >> wert1; - nur mal testweise, weil iostream ist includiert. 

aber nur mal sone frage wieso sollte das an dem Programm liegen ich meine ich habe es aus einm BUCH was bedeuted das das eigentlich alles funktionieren müsste...

das ist bei allen beispielen aus dem buch, selbst gemachte...

ich glaube eher das liegt an meinem pc...
deshlab habe ich ein video gemacht wo ich zeige wie ich die programme mache und ausführe...

ich könnte dir das video schicken..

ich probiere das was du meintest trotzdem aus.

Um das nochmal zu betonen: Das Programm ist mMn völlig korrekt. 
Und ich stell meine Kontaktdaten sicher nicht öffentlich ins forum. 

is ja auch deine entscheidung...(und vollig in ordnung)


« Quersumme berechnen bei C++Windows XP: lua dissector in wireshark ausführen »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
C++
C++ ist eine von der ISO standardisierte Programmiersprache und eine erweiterte Form von C zur objektorientierten, generischen und prozeduralen Programmierung. Weitestgeh...

Betriebssystem
Das Betriebssystem ist das Steuerungsprogramm des Computers, das als eines der ersten Programme beim Hochfahren des Rechners geladen wird. Arbeitsspeicher, Festplatten, E...

Eingabeaufforderung
Die Eingabeaufforderung ist ein Begriff aus dem IT-Bereich und bezeichnet eine Markierung auf der Kommandozeile, welche auf die Stelle verweist, an der man Kommandozeilen...