C++ Struktur wird irgendwie nicht erkannt

Abcd12345

Lt. Junior Grade
Registriert
März 2006
Beiträge
483
Hi,

Hab ein Problem mit dem von mir geschriebenen Code:

Code:
#include <iostream>

using namespace std;

int main ()
{

	//Strucktur Felder

	struct st_Felder  {
	
	bool bFeldstatus;
	char chFeldName[10];
	int Yposi;
	int Xposi;

	};
		
	//Variabeln
	int Auswahl;
	int FelderDurchzaehler;
	st_Felder Felder[25];
	
	
	//Felder zuweißungs schleife

	for (int i = 1; i == 5; i++)
	{
		for (int j = 1; j == 5; j++)
		{
			
			[B]Felder[/B].Xposi[FelderDurchzaehler] = j;
			cout << "X-posi" << [B]Felder[/B].Yposi[FelderDurchzaehler]; 
			[B]Felder[/B].Xposi[FelderDurchzaehler] = j;
			cout << "X-posi" << [B]Felder[/B].Xposi[FelderDurchzaehler];
			FelderDurchzaehler ++;

		}
	}
	
	
	//Menü Schleife
		
		do {

		cout << "     Feldmaster 1.0" << endl;
		cout << "-----------------------" << endl;
		cout << "1. Spielfeld anzeigen" << endl;
		cout << "2. Feld besetzen" << endl;
		cout << "3. Felddaten anzeigen" << endl;
		cout << "4. Spielfeld löschen" << endl;
		cout << "5. Programm benden" << endl;

		cin >> Auswahl;

		cout << "\n\n" << Auswahl << "\n\n";

		
		//Menü Auswahl
		switch(Auswahl)
		{
			//Spielfeld schreiben
			cout << "\n\n" << Auswahl << "\n\n";
			case(1):
			{
				cout << "Spielfeld wird angezeigtt" << endl;
			}break;
			//Feld besetzen
			case(2):
			{
				cout << "Feld wird besetzt" << endl;
			}break;
			//Felddaten anzeigen
			case(3):
			{
				cout << "Felddaten anzeigen" << endl;
			}break;
			//Spielfeld loeschen
			case(4):
			{
				cout << "Spielfeld loeschen" << endl;
			}break;
			//Spiel bennden
			case (5):
			{
				cout << "Vielen Dank fuers benutzen von Feldmaster 1.0" << endl;
			}break;
			//Falsche eingabe
			default:
			cout << "Bitte Zahl von 1-5 Ausweahlen" << endl;
		}
		
		cout << endl;


	} while(Auswahl != 5);

	return 0;

}

So weit ich das beurteilen kann, akzeptiert er meine Struktur Felder nicht :(

Fehlermeldungen:

dadadada.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\Felderdings\dadadada.cpp(32) : error C2228: Der linke Teil von '.Xposi' muss eine Klasse/Struktur/Union sein
C:\Program Files\Microsoft Visual Studio\MyProjects\Felderdings\dadadada.cpp(33) : error C2228: Der linke Teil von '.Yposi' muss eine Klasse/Struktur/Union sein
C:\Program Files\Microsoft Visual Studio\MyProjects\Felderdings\dadadada.cpp(34) : error C2228: Der linke Teil von '.Xposi' muss eine Klasse/Struktur/Union sein
C:\Program Files\Microsoft Visual Studio\MyProjects\Felderdings\dadadada.cpp(35) : error C2228: Der linke Teil von '.Xposi' muss eine Klasse/Struktur/Union sein

Würde mich über Hilfe freuen :)
 
AW: C++ Struktur wird irgendwie nicht erkannt

Versuche es mit Felder[FelderDurchzaehler].Xposi ...

Also erst im dem Feld mit Namen Felder das richtige Feld rausfeldern (Verschlumpft nochmal: "raussuchen" meinte ich), und dann auf die Struktureinträge zugreifen.

Außerdem solltest du unbedingt die Variable "FelderDurchzaehler" bei ihrer Definition initialisieren. 0 (Null) bietet sich an.
Ohne Initialisierung könnte nämlich irgendwas drinstehen. Nämlich genau das was an dieser Speicherzelle steht, zu den Zeitpnkt wenn die Variable angelegt wird.
Was passiert, wenn z.B. 173 drinsteht?
Dann würdest du auf den Arrayindex 173 zugreifen. Den gibt es aber nicht. Mächtig großer Fehler.
 
Zuletzt bearbeitet:
Zurück
Oben