C++ für Dumies Prob

Diskutiere C++ für Dumies Prob im Developer Network Forum im Bereich Hardware & Software Forum; Hmm das funkt nicht. Folgende Fehlermeldung tritt auf: 1>------ Erstellen gestartet: Projekt: Zufall, Konfiguration: Debug Win32 ------...
  • C++ für Dumies Prob Beitrag #121
A

Airfighter76

Bekanntes Mitglied
Dabei seit
01.04.2009
Beiträge
268
Reaktionspunkte
0
Hmm das funkt nicht. Folgende Fehlermeldung tritt auf:
1>------ Erstellen gestartet: Projekt: Zufall, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>Zufall.cpp
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\zufall\zufall\zufall.cpp(2) : error C2871: 'std': Es ist kein Namespace mit diesem Namen vorhanden
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\zufall\zufall\zufall.cpp(6) : error C3861: "srand": Bezeichner wurde nicht gefunden.
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\zufall\zufall\zufall.cpp(6) : error C3861: "time": Bezeichner wurde nicht gefunden.
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\zufall\zufall\zufall.cpp(7) : error C2065: 'cout': nichtdeklarierter Bezeichner
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\zufall\zufall\zufall.cpp(7) : error C2065: 'endl': nichtdeklarierter Bezeichner
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\zufall\zufall\zufall.cpp(7) : error C3861: "rand": Bezeichner wurde nicht gefunden.
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\zufall\zufall\zufall.cpp(8) : error C2065: 'cin': nichtdeklarierter Bezeichner
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\zufall\zufall\zufall.cpp(8) : error C2228: Links von ".get" muss sich eine Klasse/Struktur/Union befinden.
1> Typ ist ''unknown-type''
1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\AIR\Eigene Dateien\Proggen\Zufall\Zufall\Debug\BuildLog.htm" gespeichert.
1>Zufall - 8 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


(achja in c++ 2008 werden deine beiden include nichtmehr angenommen, und mit #include "stdafx.h" ersetzt werden)
 
  • C++ für Dumies Prob Beitrag #122
Cheddar

Cheddar

Bekanntes Mitglied
Dabei seit
05.04.2009
Beiträge
453
Reaktionspunkte
0
Ort
Cheddar (Somerset)
Ich habe den Code folgendermaßen umgeschrieben:
Code:
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main ()
{
	srand (time(NULL));
	cout << "RAND() : " << rand() << endl;
	cin.get();

	return 0;
}

Und bei mir hat's funktioniert.
 
Zuletzt bearbeitet:
  • C++ für Dumies Prob Beitrag #123
A

Airfighter76

Bekanntes Mitglied
Dabei seit
01.04.2009
Beiträge
268
Reaktionspunkte
0
Gleiches Problem, dass ding hat was gegen die 3 includer und möchte statt denen "stdafx.h". Nur wenn ich das auswechsle kommt dieser Fehler (siehe oben). Kann es vielleicht daran liegen, dass ich Visual Studio C++ 2008 Express Edition habe? Und gibt es hier nicht für time nicht noch eine andere include?
 
  • C++ für Dumies Prob Beitrag #124
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Hast du beim erstellen "Leeres Projekt" gewählt? Vorkompillierte Header kannst du hier nicht gebrauchen...
 
  • C++ für Dumies Prob Beitrag #125
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Hast du beim erstellen "Leeres Projekt" gewählt? Vorkompillierte Header kannst du hier nicht gebrauchen...
Oder die zusätzlichen includes NACH dem include von stdafx.h schreiben. Bei vorkompilierten Headern wird sozusagen der Stand, den stdafx.h repräsentiert in einem Rutsch eingeladen und die vorhergehenden Includes ignoriert.
 
  • C++ für Dumies Prob Beitrag #126
Caphalor

Caphalor

Bekanntes Mitglied
Dabei seit
27.07.2009
Beiträge
481
Reaktionspunkte
0
Hallo liebe Community.

Folgendes Problem hab Visual Basic 2003 auf meinem PC jetzt beim kompilieren und debuggen, bekomme ich diesen Fehler.

--------------------Konfiguration: Projekt_3_5 - Win32 Debug--------------------
Linker-Vorgang läuft...
LINK : fatal error LNK1104: Datei "Debug/Projekt_3_5.exe" kann nicht geoeffnet werden
Fehler beim Ausführen von link.exe.

Projekt_3_5.exe - 1 Fehler, 0 Warnung(en)


Kann das daran liegen das es auf Windows 7 und vor allem ne veraltete Version ist?

Hab schon alles probiert. Wäre über eine Antwort sehr erfreut, lade mir derweil die neue Version runter.
 
  • C++ für Dumies Prob Beitrag #127
Cheddar

Cheddar

Bekanntes Mitglied
Dabei seit
05.04.2009
Beiträge
453
Reaktionspunkte
0
Ort
Cheddar (Somerset)
Kann das daran liegen das es auf Windows 7 und vor allem ne veraltete Version ist?

Möglich. Allem Anschein nach ist die Datei 'linker.exe' beschädigt oder sie wird von Win7 einfach nicht unterstützt. Auf der Microsoft-Website gibt es irgendwo einen Emulator zum kostenlosen Download, mit dem man auf Windoze 7 auch XP-Programme laufen lassen kann. Damit könnte es vielleicht klappen.
 
  • C++ für Dumies Prob Beitrag #128
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Kann das daran liegen das es auf Windows 7 und vor allem ne veraltete Version ist?
Denke ich nicht. Liegt wahrscheinlich daran, dass die Projekt_3_5.exe noch ausgeführt wird. Versuch mal die Projekt_3_5.exe von Hand zu löschen.
 
  • C++ für Dumies Prob Beitrag #129
Caphalor

Caphalor

Bekanntes Mitglied
Dabei seit
27.07.2009
Beiträge
481
Reaktionspunkte
0
Eins habe ich vergessen bevor er debuggt und kompilieren will sagt er Kompatiblitätsproblem. Hab jetzt versucht was du gesagt hast geht net
 
  • C++ für Dumies Prob Beitrag #130
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Eins habe ich vergessen bevor er debuggt und kompilieren will sagt er Kompatiblitätsproblem. Hab jetzt versucht was du gesagt hast geht net
Von Hand löschen geht nicht? Dann kann auch der Linker die Datei nicht überschreiben. D.h. Dein Programm läuft noch. Müßte sich mit dem Taskmanager rausfinden lassen.
 
  • C++ für Dumies Prob Beitrag #131
A

Airfighter76

Bekanntes Mitglied
Dabei seit
01.04.2009
Beiträge
268
Reaktionspunkte
0
Ah es funkt danke UnimatrixZero ich hab sie einfach in stdafx.h noch definiert und das Zufall Prog läuft.
 
  • C++ für Dumies Prob Beitrag #132
A

Airfighter76

Bekanntes Mitglied
Dabei seit
01.04.2009
Beiträge
268
Reaktionspunkte
0
So ich hab jetzt mal ein klitzekleines Prob, ich ein Programm jetzt programmiert und es müsste funken, nur naja (ist mir jetzt bissel peinlich) ich weis die includes nicht, die ich dafür brauche, paar hab ich schon gefunden, mir fehlt jetzt glaub ich nur noch einer, müsst ein einfacher sein, da sich die Fehlermeldung auf was grundlegendes bezieht. Hoffe ihr könnt mir Helfen und hier die Fehlermeldung:

Code:
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\raten\raten\raten.cpp(13) : error C3861: "time": Bezeichner wurde nicht gefunden.
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\raten\raten\raten.cpp(22) : error C2065: 'Userzahl': nichtdeklarierter Bezeichner
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\raten\raten\raten.cpp(22) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'system'
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\raten\raten\raten.cpp(25) : error C2143: Syntaxfehler: Es fehlt ')' vor 'Konstante'
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\raten\raten\raten.cpp(25) : error C2143: Syntaxfehler: Es fehlt ';' vor 'Konstante'
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\raten\raten\raten.cpp(25) : error C2059: Syntaxfehler: ')'
1>c:\dokumente und einstellungen\air\eigene dateien\proggen\raten\raten\raten.cpp(25) : error C2059: Syntaxfehler: ';'

das sind auch nicht fiele fehler, beziehen sich aber immer ungefähr aufs gleiche.
 
  • C++ für Dumies Prob Beitrag #133
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Ohne großes überlegen würde ich mal auf time.h tippen. Wobei der Zeit-Datentyp dort time_t heißen sollte, wenn ich mich nicht täusche. Außer es handelt sich um die time()-Funktion.
Daher wie immer: Code posten.
 
  • C++ für Dumies Prob Beitrag #134
A

Airfighter76

Bekanntes Mitglied
Dabei seit
01.04.2009
Beiträge
268
Reaktionspunkte
0
Ne funkt nicht, hier mal der Code.

Code:
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
#include <cstdio>
#include <cstlib>
#include "stdafx.h"
#include <iostream>
#include "time.h"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int iZufallszahl=0, iUserzahl = 0 ,iback = 0;
    
	// Schleife zum erneuten Starten
	
	do 
	{
		//Zufallszahl generieren
		srand (time(NULL));
		iZufallszahl = rand()%6 +1;

		//Wiederholschleife für die Eingabe		
		do
		{
			cout << "Geben sie eine Zahl zwischen 1 und 6 ein : "; 
			cin  >> iUserzahl;
			system ("color 0f");

			// Auswertung mit Fahlermeldung bei falscher Eingabe
			if (iUserzahl >6 || iUserzahl < 1)
			{
				system ("color 0c");
				cout << "Fehler: Ihre Zahl ist nicht im Bereich 1 - 6"<< endl;
			}

			// Hilfe zur Findung der Zufallszahl
			else
			{
				if(iUserzahl < iZufallszahl)
				{
					cout << "Die gesuchte Zahl ist groesser als " << iUserzahl << endl;
				}

				if(iUserzahl > iZufallszahl)
				{
					cout << "Die gesuchte Zahl ist kleiner als " << iUserzahl << endl;
				}
			}

		// Auswertung von iUserzahl
		}
		while (iUserzahl != iZufallszahl);
		
		cout << "Volltreffer" << endl;  
		cout << "Ihre Zahl war " << iUserzahl << "\ndie Zufallszahl war " << iZufallszahl << endl;
		
		// Möglichkeit zum Neuen Spiel
		cout << "Zum erneuten spielen 0 eingeben, sonst eine beliebige Zahl: ";
		cin  >> iback;
		
	}
	while (iback == 0);

	// Programmende
	system("pause");
	
	return 0;
}

habs sogar schön beschireben
 
  • C++ für Dumies Prob Beitrag #135
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Lass mich raten; das ist nicht mehr genau der Code, bei dem die oben beschriebenen Fehlermeldungen auftreten? :rolleyes:

Bei mir unter MinGW kompiliert das jedenfalls problemlos, wenn man bei der cstdlib das "d" nicht vergisst.
 
  • C++ für Dumies Prob Beitrag #136
A

Airfighter76

Bekanntes Mitglied
Dabei seit
01.04.2009
Beiträge
268
Reaktionspunkte
0
Welches d? Und ja es ist mit der Abänderung (die du mir oben gesagt hast) ausgestattet. Ich benutze Visual Studio C++ gibt es da änderungen?
 
  • C++ für Dumies Prob Beitrag #137
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Dieses d:
Code:
#include <stdio.h>
#include <cstdio>
#include <cst[COLOR="Red"]d[/COLOR]lib>
#include <iostream>
#include "time.h"

using namespace std;

int main(int argc, char* argv[])
{
	int iZufallszahl=0, iUserzahl = 0 ,iback = 0;
    
	// Schleife zum erneuten Starten
	
	do 
	{
		//Zufallszahl generieren
		srand (time(NULL));
		iZufallszahl = rand()%6 +1;

		//Wiederholschleife für die Eingabe		
		do
		{
			cout << "Geben sie eine Zahl zwischen 1 und 6 ein : "; 
			cin  >> iUserzahl;
			system ("color 0f");

			// Auswertung mit Fahlermeldung bei falscher Eingabe
			if (iUserzahl >6 || iUserzahl < 1)
			{
				system ("color 0c");
				cout << "Fehler: Ihre Zahl ist nicht im Bereich 1 - 6"<< endl;
			}

			// Hilfe zur Findung der Zufallszahl
			else
			{
				if(iUserzahl < iZufallszahl)
				{
					cout << "Die gesuchte Zahl ist groesser als " << iUserzahl << endl;
				}

				if(iUserzahl > iZufallszahl)
				{
					cout << "Die gesuchte Zahl ist kleiner als " << iUserzahl << endl;
				}
			}

		// Auswertung von iUserzahl
		}
		while (iUserzahl != iZufallszahl);
		
		cout << "Volltreffer" << endl;  
		cout << "Ihre Zahl war " << iUserzahl << "\ndie Zufallszahl war " << iZufallszahl << endl;
		
		// Möglichkeit zum Neuen Spiel
		cout << "Zum erneuten spielen 0 eingeben, sonst eine beliebige Zahl: ";
		cin  >> iback;
		
	}
	while (iback == 0);

	// Programmende
	system("pause");
	
	return 0;
}

Hier sind allerdings die VisualStudio-spezifischen Header weggelassen, und die main-Funktion sieht geringfügig anders aus. Sollte allerdings keinen großen Unterschied machen.

In deinen obigen Fehlermeldungen gibt es z.B. einen nichtdeklarierten Bezeichner 'Userzahl', vermutlich wegen einem vergessenen i davor. Dieser Fehler ist im geposteten Code aber nicht mehr vorhanden.
 
  • C++ für Dumies Prob Beitrag #138
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Ich benutze Visual Studio C++ gibt es da änderungen?
Vielleicht mal was generelles vorweg. Visual C++ ist eine gute Wahl ;-)

Du mischt normale Header und vorkompilierte Header. Das funktioniert jetzt zwar zufälligerweise, weil die Header vor stdafx.h sowieso nicht gebraucht werden. Also: Alle Header, die vor stdafx.h eingebunden werden, werden verworfen!

Dagegen hilft es, entweder die vorkompilierten Header abzuschalten (und damit auch stdafx.h weglassen) oder alle zusätzlich benötigten Header NACH stdafx.h einzubinden.

Vorkomplierte Header haben den Zweck, die Kompilierung zu beschleunigen. Die Headerdateien, in stdafx.h werden nur einmal kompiliert und dann in einer Cache-Datei abgelegt. Beim erneuten Kompilieren werden dann nicht mehr die Header einzeln geladen, sondern einfach nur der Cache im ganzen. Das spart Zeit, wenn viele Header geladen werden müssen.

Folgende Header reichen in Deinem Fall aus:
Code:
#include "stdafx.h"
#include <iostream>
#include "time.h"
using namespace std;
 
  • C++ für Dumies Prob Beitrag #139
A

Airfighter76

Bekanntes Mitglied
Dabei seit
01.04.2009
Beiträge
268
Reaktionspunkte
0
Oh stimmt das d, danke danke danke es funkt endlich.
 
  • C++ für Dumies Prob Beitrag #140
A

Airfighter76

Bekanntes Mitglied
Dabei seit
01.04.2009
Beiträge
268
Reaktionspunkte
0
Hab jetzt ein weiteres Prob mit "switch" und zwar meint Visual Studio C++, dass der Befehl switch nicht mit strings funktioniert. Was kann ich dagegen tun? Hier noch der Code vom ganzen Programm (ist noch nocht fertig)

Code:
// Raten_1.cpp : Definiert den Einstiegspunkt fuer die Konsolenanwendung.
//
#include "stdafx.h"
#include <iostream>
#include "time.h"
#include <cstdlib>
#include <string>
using namespace std;




int _tmain(int argc, _TCHAR* argv[])
{
		int iFigurenbewegung = 0, iZufallszahl = 0;

		// Anzahl der Spieler
		string sSpieler1;
		string sSpieler2;
		string sSpieler3;
		string sSpieler4;
		string sBeginner;


	

		//Einlesen der Namen der Spieler
		cout << "Geben sie den Namen ihrer Mitspieler ein" <<endl;
		cout << "Spieler 1: ";
		cin  >> sSpieler1;
		cout << "Spieler 2: ";
		cin  >> sSpieler2;
		cout << "Spieler 3: ";
		cin  >> sSpieler3;
		cout << "Spieler 4: ";
		cin  >> sSpieler4;

		//Auswahl des Beginners
		cout << "Name des Beginnenden Spielers: ";
		cin  >> sBeginner;
	

			// Abgleichen der Eingabe mit den Spielern
			switch (sBeginner)
			{

				case sSpieler1:
					cout << sSpieler1 << " bitte klicke auf wuerfeln um das Spiel zu starten";
				

				case sSpieler2:
				
					cout << sSpieler2 << " bitte klicke auf wuerfeln um das Spiel zu starten";
				

				case sSpieler3:
				
					cout << sSpieler3 << " bitte klicke auf wuerfeln um das Spiel zu starten";
				

				case sSpieler4:
				
					cout << sSpieler4 << " bitte klicke auf wuerfeln um das Spiel zu starten";

				default:
					cout << "ungültiger Spielername";
			}			






				//Zufallszahl generieren
				srand (unsigned(NULL));
				iZufallszahl = rand()%6 +1;


				//Ausgabe der Zufallszahl
				cout << endl << "Sie haben " << iZufallszahl << " gewuerfelt." << endl;
				cout << "Geben sie die Figur die sie bewegen wollen ein: ";
				cin  >> iFigurenbewegung;






		
			system("pause");
			return 0;
}

p.s. hatte es hier an der Stelle zuerst fast so wie UltimatZero es gesagt hat, nur dann hab ich bissel ausprobiert und es hat nix geholfen und jetzt hab ichs so. Für eine verkürzung der includes wär ich auch schon dankbar.
 
Thema:

C++ für Dumies Prob

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.181
Beiträge
1.579.177
Mitglieder
55.880
Neuestes Mitglied
Hahn
Oben