Umsetzungs Probleme

rojeroje

Mitglied
Hi Leute hab folgendes Problem.

Bin neu dabei in C++ und benutze zruzeit ein Workshop,
nur leider bekomme ich jedesmal Fehlermeldungen,
wenn ich die tutorials umsetzen möchte, also eingebe.
(auch beim 1:1 kopieren vom Tutorial in den Quelltext.)

Die Fehlermeldungen sind meist immer die gleichen:
"ich benutze Microsoft Visuall C++ 2008 Express". - Installiert ohne irgendwelche Optionen einzustellen -

vom Workshop wird verlangt eine neue Textdatei zu erstellen,
Text\Code reinzuschreiben, speichern, Kompilieren und auszuführen.

Der BeispielCode vom Workshop sieht so aus:
Code:
//
// Programm konvertiert Temperaturen von Grad Celsius  
// nach Grad Fahrenheit 
// Fahrenheit = Celsius  * (212 – 32)/100 + 32
//
#include <stdio.h>
#include <iostream.h>
int main(int nNumberofArgs, char* pszArgs[])
<
// Eingabe der Temperatur in Grad Celsius
int nCelsius;
cout << »Temperatur in Grad Celsius:«;
cin >> nCelsius;
// berechne Umrechnungsfaktor von Celsius 
// nach Fahrenheit
int nFactor;
nFactor = 212 – 32;
// verwende Umrechnungsfaktor zur Konvertierung
// von Celsius in Fahrenheit 
int nFahrenheit;
nFahrenheit = nFactor * nCelsius/100 + 32;
// Ausgabe des Ergebnisses
cout << »Fahrenheit Wert ist:«;
cout << nFahrenheit;
return 0;
>

Die Fehlermeldungen die ich bekomme bei der 1:1 übersetzung sind folgende.

Code:
------ Erstellen gestartet: Projekt: Gradmessung, Konfiguration: Debug Win32 ------
Kompilieren...
Gradmessung.cpp
.\Gradmessung.cpp(6) : warning C4627: "#include <stdio.h>": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
        "stdafx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
.\Gradmessung.cpp(7) : warning C4627: "#include <iostream.h>": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
        "stdafx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
.\Gradmessung.cpp(27) : fatal error C1010: Unerwartetes Dateiende während der Suche nach dem vorkompilierten Header. Haben Sie möglicherweise vergessen, im Quellcode "#include "stdafx.h"" einzufügen?
Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Visual Studio 2008\Projects\Gradmessung\Gradmessung\Debug\BuildLog.htm" gespeichert.
Gradmessung - 1 Fehler, 2 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

auch bekomme ich häufiger bei anderen versuchen die Meldung:
Code:
: general error c10100b1: Failed to load file "..\Debug\xxx.exe". Das System kann den angegebenen Pfad nicht finden.

ich komme einfach nicht vorwärts und brauch unbedingt hilfe.

nicht einmal " Hello World " funktioniert:
Die Konsole startet zwar kurz, schliesst sich aber wieder sofort.
Workshop Code:
Code:
Listing 1.1: HELLO.CPP, das Programm Hello World
#include <iostream.h>

int main()
 {
 cout << "Hello World!\n";
 return 0;
}

?
 
Ist lange her aber ich glaube, Du musst irgendwo in den Projekt-Einstellungen die vorkompilierten Header abschalten. Das sollte den Fehler beheben.
 
Ok Danke hab es ausgeschaltet:

Code reinkopiert und gespeichert.

Fehlermeldung:
Code:
------ Erstellen gestartet: Projekt: Celsius FH, Konfiguration: Debug Win32 ------
Kompilieren...
stdafx.cpp
Celsius FH.cpp
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fh\celsius fh\celsius fh.cpp(7) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "iostream.h": No such file or directory
Code wird generiert...
Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Visual Studio 2008\Projects\Celsius FH\Celsius FH\Debug\BuildLog.htm" gespeichert.
Celsius FH - 1 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
 
Das ist dann ein Fehler in Deinem Buch/Tutorial.

Laut Standard sind für C++ die Header ohne .h-Endung zu verwenden.
Also:
Code:
#include <iostream>

Darin sind allerdings sämtliche Funktionen usw. im Namespace std weshalt Du noch die folgende Zeile benötigst (nicht zwangsläufig aber dann musst Du den Rest nicht ändern):
Code:
using namespace std;
 
OK...

sieht jetzt so aus:

Code:
//
// Programm konvertiert Temperaturen von Grad Celsius  
// nach Grad Fahrenheit 
// Fahrenheit = Celsius  * (212 – 32)/100 + 32
//
#include <stdio.h>
#include <iostream>
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
<
// Eingabe der Temperatur in Grad Celsius
int nCelsius;
cout << »Temperatur in Grad Celsius:«;
cin >> nCelsius;
// berechne Umrechnungsfaktor von Celsius 
// nach Fahrenheit
int nFactor;
nFactor = 212 – 32;
// verwende Umrechnungsfaktor zur Konvertierung
// von Celsius in Fahrenheit 
int nFahrenheit;
nFahrenheit = nFactor * nCelsius/100 + 32;
// Ausgabe des Ergebnisses
cout << »Fahrenheit Wert ist:«;
cout << nFahrenheit;
return 0;
>

Fehlermeldung:

Code:
------ Erstellen gestartet: Projekt: Celsius FHc, Konfiguration: Debug Win32 ------
Kompilieren...
stdafx.cpp
Celsius FHc.cpp
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(10) : error C2143: Syntaxfehler: Es fehlt ';' vor '<'
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(13) : error C2143: Syntaxfehler: Es fehlt ';' vor '<<'
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(13) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(13) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(14) : error C2143: Syntaxfehler: Es fehlt ';' vor '>>'
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(14) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(18) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(18) : error C2086: 'int nFactor': Neudefinition
        c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(17): Siehe Deklaration von 'nFactor'
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(18) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner '–'
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(18) : error C2143: Syntaxfehler: Es fehlt ';' vor 'Konstante'
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(18) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(22) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(22) : error C2086: 'int nFahrenheit': Neudefinition
        c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(21): Siehe Deklaration von 'nFahrenheit'
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(22) : error C2065: 'nCelsius': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(24) : error C2143: Syntaxfehler: Es fehlt ';' vor '<<'
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(24) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(24) : error C2086: 'int cout': Neudefinition
        c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(13): Siehe Deklaration von 'cout'
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(24) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(24) : error C2086: 'int «': Neudefinition
        c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(13): Siehe Deklaration von '«'
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(25) : error C2143: Syntaxfehler: Es fehlt ';' vor '<<'
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(25) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(25) : error C2086: 'int cout': Neudefinition
        c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(13): Siehe Deklaration von 'cout'
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(26) : error C2059: Syntaxfehler: 'return'
c:\dokumente und einstellungen\gurbet\eigene dateien\visual studio 2008\projects\celsius fhc\celsius fhc\celsius fhc.cpp(27) : error C2059: Syntaxfehler: '>'
Code wird generiert...
Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Visual Studio 2008\Projects\Celsius FHc\Celsius FHc\Debug\BuildLog.htm" gespeichert.
Celsius FHc - 24 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
 
hat irgendwer eine ahnung woran es liegen kann?

ich möchte folgendes Kompilieren... und benutze jetzt den "Dev C++ 4.9.9.2"

Code:
//
// Programm konvertiert Temperaturen von Grad Celsius  
// nach Grad Fahrenheit 
// Fahrenheit = Celsius  * (212 – 32)/100 + 32
//
#include <stdio.h>
#include <iostream.h>
int main(int nNumberofArgs, char* pszArgs[])
<
// Eingabe der Temperatur in Grad Celsius
int nCelsius;
cout << »Temperatur in Grad Celsius:«;
cin >> nCelsius;
// berechne Umrechnungsfaktor von Celsius 
// nach Fahrenheit
int nFactor;
nFactor = 212 – 32;
// verwende Umrechnungsfaktor zur Konvertierung
// von Celsius in Fahrenheit 
int nFahrenheit;
nFahrenheit = nFactor * nCelsius/100 + 32;
// Ausgabe des Ergebnisses
cout << »Fahrenheit Wert ist:«;
cout << nFahrenheit;
return 0;
>

Fehlermeldung:

Code:
Compiler: Default compiler
Führt  g++.exe... aus
g++.exe "C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp" -o "C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.exe"   -g3  -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include"  -I"C:\Dev-Cpp\include\c++\3.4.2\backward"  -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32"  -I"C:\Dev-Cpp\include\c++\3.4.2"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib" -g3 
In file included from C:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h:31,
                 from C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:7:
C:/Dev-Cpp/include/c++/3.4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:9: error: expected init-declarator before '<' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:9: error: expected `,' or `;' before '<' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:12: error: expected constructor, destructor, or type conversion before '<<' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:12: error: expected `,' or `;' before '<<' token

C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:12: error: stray '\187' in program
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:12: error: stray '\171' in program

C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:13: error: expected constructor, destructor, or type conversion before '>>' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:13: error: expected `,' or `;' before '>>' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:17: error: expected constructor, destructor, or type conversion before '=' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:17: error: expected `,' or `;' before '=' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:17: error: stray '\150' in program

C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:21: error: expected constructor, destructor, or type conversion before '=' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:21: error: expected `,' or `;' before '=' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:23: error: expected constructor, destructor, or type conversion before '<<' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:23: error: expected `,' or `;' before '<<' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:23: error: stray '\187' in program

C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:23: error: stray '\171' in program
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:24: error: expected constructor, destructor, or type conversion before '<<' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:24: error: expected `,' or `;' before '<<' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:25: error: expected unqualified-id before "return"
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:25: error: expected `,' or `;' before "return"
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:26: error: expected unqualified-id before '>' token
C:\Dokumente und Einstellungen\Gurbet\Eigene Dateien\Pogs\Test2.cpp:26: error: expected `,' or `;' before '>' token

Ausführung beendet
 
Ja, da sind so gut wie alle Sonderzeichen verhunzt.

So sollte es aussehen:
Code:
#include <iostream>

using namespace std;

int main(int nNumberofArgs, char* pszArgs[])
{
    // Eingabe der Temperatur in Grad Celsius
    int nCelsius;
    cout << "Temperatur in Grad Celsius:";
    cin >> nCelsius;
    // berechne Umrechnungsfaktor von Celsius
    // nach Fahrenheit
    int nFactor;
    nFactor = 212 - 32;
    // verwende Umrechnungsfaktor zur Konvertierung
    // von Celsius in Fahrenheit
    int nFahrenheit;
    nFahrenheit = nFactor * nCelsius/100 + 32;
    // Ausgabe des Ergebnisses
    cout << "Fahrenheit Wert ist:";
    cout << nFahrenheit;
    return 0;
}

Ich weiß ja nicht wo Du den Code herkopiert hast aber da war einiges falsch. Statt geschwungener Klammern waren da spitze, das Minus war lang statt kurz und die Anfürhungszeichen waren auch falsch.
 
Danke das du dir soviel mühe machst.

hab dein Quellcode kopiert und bei Dev C++ 4.9.9.2 eingefügt.

Kompilieren erfolgreich.....

aber wenn ich es Ausführe öffnet sich die Konsole und nach der ersten eingabe schliesst es sich wieder.
 
Kein Problem :)

Dass sich die Konsole schließt liegt daran, dass das Programm fertig ist. Du kannst entweder die Konsole so konfigurieren dass sie offen bleib oder am Programmende (vor der Return-Anweisung) noch eine Abfrage einbauen.

Am einfachsten wäre folgendes:
cin.get(); cin.get();

Das erste get() würde das stehen gebliebene Return der letzten Eingabe auslesen, das zweite get() würde dann tatsächlich das Programm anhalten und auf ein zusätzliches Return warten.
 
Hallo Leute

Ich bin ebenfalls Anfänger und habe das gleiche Problem. Leider ist nicht so ganz klar geworden, wie ich es nun lösen kann.

Ich benutze Dev-C++ 4.9.9.2

Wenn es nicht bald klappt, schmeiß' ich ihn weg und teste den nächstbesten anderen compiler aus. Das Beste ist, dass vorhin alles noch ging. Keine Änderung am Quellcode... da gibt es ja auch nicht's zu ändern.
Allerdings habe ich irgendwo einen Ordner verschoben :-/


Code:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    cout<<"Hallo, liebe Welt";
    cin.get();
}
 
Zurück