Uniprojekt: Erstellung eines dynamischen Lagerungssystems mit Visual Studio



  • Hallo ich muss im Rahmen meines Studiums eine Art Lagersystem mit Visual Studio in der Sprache C++ programmieren.
    Dafür muss ich eine Artikelliste erstellen, in der die Artikel auch bestimmte Dimensionen haben und zu einer gewissen Anzahl gestapelt werden können.
    In etwa so:
    Artiekl X Artikelnr. Höhe Breite max. Stapel
    Diese habe ich schon erstellt.
    Jetzt kommt der schwierige Part. Diese Artikel muss ich in drei Regalen mit 10x10 Fächer je 100cmx100cm Größe einlagern und auslagern können.
    Ich schaffe es einfach nicht die Funktion einlagern zu programmieren.
    Bis jetzt habe ich nur diese Funktion erstellt, mit dem Ergebnis dieser Fehlermeldung:
    Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand

    Fehler C2146 Syntaxfehler: Fehlendes ";" vor Bezeichner "artikel" Projekt_Lagerungssystem 3

    Fehler C3863 Der Arraytyp "int [10]" kann nicht zugewiesen werden. Projekt_Lagerungssystem 7

    void CLager::Einlagern(int Artikelnummer, int Anzahl)
    {
    	artikel;
    	for (int a = 0; a < 10; a++) {
    		if (Artikel[a].getNummer() == Artikelnummer) 
    		{
    			artikel = Artikel[a];
    		}
    	}
    	/*lagert eine bestimme Anzahl eines Artikels im Lager ein. */
    	for (int r = 0; r < 3; r++)
    	{
    		for (int e = 0; e < 10; e++)
    		{
    			for (int p = 0; p < 10; p++)
    			{
    				if (artikel.getBreite() + Platzbreite < 101) //prüfen ob Artikel in Platz kann
    				{
    					if (artikel.getMaxStapel() < Anzahl && artikel.getNummer == Artikelnummer) //prüfen ob Artikel gestapelt werden kann
    					{
    						
    					}
    
    					cout << "Regal: " << r << "Ebene: " << e << "Position:" << p << "Anzahl" << Regalfach[r][e][p].getAnzahl(Anzahl) << "\n";
    
    

    Ich weiß nicht wie ich diese Fehler beheben kann...
    Vielen Dank



  • Was soll denn artikel sein?
    Du möchtest wohl eine Variable definieren? Dann brauchst du Typ und Variablenname, also

    Typ name;
    

    Etwas eigenartig ist, daß deine Artikelliste in einer Variable namens Artikel gespeichert sind. Wie heißt denn der Datentyp für einen Artikel?



  • Danke für die Antwort, das habe ich schon gemacht. Mein Artikel sind 10 Objekte mit unterschiedlicher Breite, Höhe und Artikelnummer.



  • Ich beziehe mich (genauso wie die Fehlermeldung) auf Zeile 3...

    Zeige mal am besten die Deklaration von der Artikelliste Artikel.



  • Noch was anderes: Wo kommen hier

    	for (int r = 0; r < 3; r++)
    	{
    		for (int e = 0; e < 10; e++)
    		{
    			for (int p = 0; p < 10; p++)
    			{
    				if (artikel.getBreite() + Platzbreite < 101) //prüfen ob Artikel in Platz kann
    

    die Werte 3, 10, 10, 101 her? Definiere sowas als Konstanten oder Variablen und gib den Dingern ordentliche Namen! Dein Code sollte ohne Probleme auch für 10x34 Fächer mit je 53x117cm Größe klarkommen!

    Nach der 3fach verschachtelten Schleife kommen dann noch 2 verschachtelte if-Bedingungen. Das ist einfach zu tief verschachtelt, um das noch ordentlich lesen zu können. Du brauchst mehr kleine Funktionen, die diese Dinge für dich tun. Verschachtele nicht so tief.


Log in to reply