Miniprogramm, warum funktioniert es nicht



  • Hi, das ist ne aufgabe von c++ fuer spieleprogrammierer seite 150. Es geht darum, dass eine 2d flaeche von 25 plaetzen definiert und mit einem namen verseht werden kann. Also jeder platz kann einzeln benannt und mit bool besetzt werden. Bei mir klappt das aber nicht. Wo ist der fehler? Also wenn ich ein Feld mit menuepunkt 2 definiere, aendert sich bei "feldanzeigen"nichts.

    #include <iostream>
    
    using namespace std;
    
    struct spielfeld {
    	bool besetzt;
    	char name[30];
    };
    
    int const breite = 5;
    int const hoehe = 5;
    spielfeld feldreal[breite][hoehe]; 
    
        void allesrichtig ();
        void spielfeldanzeigen ();
        void feldbesetzen ();
        void felddatenanzeigen ();
        void spielfeldloeschen ();
    
    int main () {
    
       int menueauswahl;
    
        cout << "Spielfeldprogramm\n\n\n";
        do {
        	cout << "(1) Spielfeld anzeigen\n"
        	        "(2) Feld besetzen\n"
        	        "(3) Felddaten anzeigen\n"
        	        "(4) Spielfeld loeschen\n"
        	        "(5) Programm beenden\n";
        	        cin >> menueauswahl;
        	        switch (menueauswahl)
        	        {
        	        	case (1) : {
        	        	spielfeldanzeigen ();
        	        	} break;
    
        	        	case (2) : {
        	                feldbesetzen ();
        	        	} break;
    
        	        	case (3) : {
        	        	allesrichtig ();
        	        	} break;
    
        	        	case (4) : {
        	        		spielfeldloeschen ();
        	        	} break;
    
        	        	case (5) : {
        	        		cout << "Programm wird beendet!";
        	        	} break;
    
        	        	default : {
        	        		cout << "Ungueltige Eingabe\n\n";
        	        	}
        	        	break;
        	        }
        } while (menueauswahl != 5);
    
    return 0;
    }	        
    
    void spielfeldanzeigen () {
    	cout << endl;
    	for (int y=0; y<hoehe; y++)
    	{		for (int x=0; x<breite; x++)
    		{
    			if (feldreal[x][y].besetzt == true) 
    			cout << "x";
    			else 
    			cout << "_";			
    		} cout << endl;
    	}
    }
    
    void feldbesetzen () {
    	int x = 0;
    	int y = 0;
    
    	do {
    		cout << "Breite angeben (1-5):\n";
    		cin >> x;
    	} while (x<1 || x> breite);
    
    	do {
    		cout << "Hoehe angeben (1-5):\n";
    		cin >> y;
    	} while (y<1 || y> hoehe);
    
    	cout << "Name eingeben\n";
    	cin.ignore ();
    	cin.get (feldreal[x-1][y-1].name, 29);
    	feldreal[x-1][y-1].besetzt == true;
    }
    
    void felddatenanzeigen () {
    	cout << "3\n\n";
    }
    
    void spielfeldloeschen () {
    	for (int y=0; y<hoehe; y++)
    	{		for (int x=0; x<breite; x++)
    		{
    			feldreal[x][y].besetzt == false;
    		}
    	}
    }
    
    void allesrichtig () {
    	for (int y=0; y<hoehe; y++)
    	{		for (int x=0; x<breite; x++)
    		{
    			feldreal[x][y].besetzt == true;
    		}
    	}
    }
    


  • Was ist der Unterschied zwischen
    x = 10
    und
    x == 10 ?



  • Boah neeeeeee!!!! Danke!


Anmelden zum Antworten