Lagerverwaltung /Struktur
-
huhu, ich nochmal....ich hab da jetzt ein gewaltiges Problem
und weis nicht woran es liegt.http://img410.imageshack.us/my.php?image=code.jpg
(sry die Bild anzeige funktioniert hier nicht )Die Kistennummer hat gewaltige Ausmasse^^
Und ich bekomme zudem noch 2 mal die Meldung:
"Keine Kiste mehr frei"
obwohl das doch zur Laufzeit gespeichert werden
soll-.,-
Weis jemand Rat?
Vielen Dank./* ################################################### Einsendeaufgabe 4 #################################################### */ #include "stdafx.h" using namespace System; const Int32 AlleKisten = 100; struct Lager { Int32 kistennummer; Int32 hoehe; Int32 laenge; Int32 breite; Int32 volumen; }; //Neue Kiste erstellen void eingabe(Lager Lagerraum[AlleKisten]) { for (Int32 i = 0; i < AlleKisten;i++) { if(Lagerraum[i].kistennummer != 0) { Console::WriteLine("Bitte geben Sie die Kistenhoehe ein: "); Lagerraum[i].hoehe = Convert::ToInt32(Console::ReadLine()); Console::WriteLine("Bitte geben Sie die Kistenbreite ein: "); Lagerraum[i].breite = Convert::ToInt32(Console::ReadLine()); Console::WriteLine("Bitte geben Sie die Kistenlaenge ein: "); Lagerraum[i].laenge = Convert::ToInt32(Console::ReadLine()); Lagerraum[i].volumen = Lagerraum[i].hoehe * Lagerraum[i].breite * Lagerraum[i].laenge; break; } else Console::WriteLine("Keine Kiste mehr frei! "); } } //eine Kiste anzeigen void anzeigen(Lager Lagerraum[AlleKisten]) { Int32 ID; Console::WriteLine("Welche Kiste von 1-100 soll angezeigt werden"."); ID = Convert::ToInt32(Console::ReadLine()) ; for (Int32 i = 0; i < AlleKisten;i++) { if(Lagerraum[i].kistennummer != 0) { Console::WriteLine(("Kistennummer: {0} > Hoehe: {1},Breite: {2}, Laenge: {3},Volumen: {4}"),Lagerraum[i].kistennummer,Lagerraum[i].hoehe, Lagerraum[i].breite, Lagerraum[i].laenge, Lagerraum[i].volumen); break; } else Console::WriteLine("Inkorrekte Eingabe\n"); } } void loeschen (Lager Lagerraum[AlleKisten]) { Int32 ID; Console::WriteLine("Welche Kiste von 1-100 soll geloescht werden"); ID = Convert::ToInt32(Console::ReadLine()); if(ID <= 100 && ID >= 0) { Lagerraum[ID].hoehe=0; Lagerraum[ID].breite=0; Lagerraum[ID].laenge=0; Lagerraum[ID].volumen=0; Console::WriteLine("Kistennummer: {0} geloescht",Lagerraum[ID].kistennummer); } else Console::WriteLine("Falsche Eingabe"); } void aendern (Lager Lagerraum[AlleKisten]) { Int32 ID; Console::WriteLine("Welche Kiste von 1-100 soll geaendert werden"); ID = Convert::ToInt32(Console::ReadLine()) ; if(ID <= 100 && ID >= 0) { Console::WriteLine("Geben sie bitte die hoehe der Kiste ein"); Lagerraum[ID].hoehe = Convert::ToInt32(Console::ReadLine()); Console::WriteLine("Geben sie bitte die Breite der Kiste ein"); Lagerraum[ID].breite = Convert::ToInt32(Console::ReadLine()); Console::WriteLine("Geben sie bitte die laenge der Kiste ein"); Lagerraum[ID].laenge = Convert::ToInt32(Console::ReadLine()); Lagerraum[ID].volumen = Lagerraum[ID].hoehe * Lagerraum[ID].breite * Lagerraum[ID].laenge; } else Console::WriteLine("Die Kiste existiert nicht"); } int main(array<System::String ^> ^args) { Int32 switchvar = 0; Lager Lagerraum [AlleKisten]; while(switchvar!=4) { Console::WriteLine("[1] Kiste anlegen"); Console::WriteLine("[2] Eine bestimmte Kiste auflisten"); Console::WriteLine("[3] Eine Kiste loeschen"); Console::WriteLine("[4] Eine Kiste aendern"); switchvar = Convert::ToInt32(Console::ReadLine()); switch (switchvar) { case 1: eingabe(Lagerraum); break; case 2: anzeigen(Lagerraum); break; case 3: loeschen(Lagerraum); break; case 4: aendern(Lagerraum); break; default: Console::WriteLine("Falsche Eingabe"); } } }
-
Hi du!
Bei dir haben sich erstmal folgende Fehler eingeschlichen:
In Zeile 57: Der Punkt muss vor das " und das 2. " muss weg!
Console::WriteLine("Welche Kiste von 1-100 soll angezeigt werden".");
Also so:
Console::WriteLine("Welche Kiste von 1-100 soll angezeigt werden.");
Das müsste dir aber der Compiler als Fehler anzeigen!
Außerdem habe ich festgestellt, dass die Kistennummer aller Kisten immer gleich sind! Das liegt daran, dass ein zufälliger Wert für deine Kisten ID verwendet wird. Und dass liegt daran, dass du in deiner Funktion "eingabe" gar keine Kistennummer vergibts.
OH OH und da sehe ich gerade dass du in der Funktion "anzeigen" den Wert für ID zwar einliest, aber ihn dann gar nicht verwendest
Dein Programm weis also nicht welche ID gemeint ist.
Versuche die ID in allen Funktion mitzuteilen!-Vergebe zuerst die IDs in "eingabe"
-Lese dann in "anzeigen" die jeweilige ID vom Benutzer ein(hast du ja schon) und gibt diese dann an das Array weiter!Hoffe, ich konnte dir wieder helfen! (P.S.: Ich hänge gerade bei der Lösung von CPBS6 )
-
Huhu,
So viele Ils begeisterte*g*
Fehler Nr. 1 hab ich schon erkannt gehabt.
(hab blos vergessen vorm posten zu fixen-.-)Danke für die umfangreiche Anwort:)
Jetzt kenn ich das Problem aber nicht wie
ich es bewaeltigen koennte.In der Schleife mit hochzaehlen?
lol-.-Da hab ich sogar richtig gefragt.
Problem geloest.
____for(Int32 i=0;i<AlleKisten;i++) { Lagerraum[i].kistennummer=i+1; }
-->in die Main setzen und das Problem loest sich in luft auf.
Gl fuer Cpbs 6:)
PS:Hast du zufaellig Vba 12 und 13 bekommen?
Wenn ja, ist das nicht i-wie gemein gegenueber
anderen?
Ich kenne welche im selben Lehrgang, die jene
Hefte nicht haben.
Ich brauchte fuer Vba 12 über 1 Monat-.-
VBA 13 mach ich ganz zum schluss...:p________________________________________
Letztes Problem:
Wenn ich alle Kisten auflisten möchte, bekomme ich
wieder Zufallszahlen ausgegeben.
Auch mit Fehlerabfangroutine.Ist es möglich, ohne gleich jede Kiste auf 0
zu setzen, nur die Kisten anzuzeigen die
gerade im Gebrauch sind?
Wie koennte man das rausfinden?Danke
-
Nyoko schrieb:
huhu, ich nochmal....ich hab da jetzt ein gewaltiges Problem
und weis nicht woran es liegt.http://img410.imageshack.us/my.php?image=code.jpg
(sry die Bild anzeige funktioniert hier nicht )Die Kistennummer hat gewaltige Ausmasse^^
Und ich bekomme zudem noch 2 mal die Meldung:
"Keine Kiste mehr frei"
obwohl das doch zur Laufzeit gespeichert werden
soll-.,-
Weis jemand Rat?
Vielen Dank./* ################################################### Einsendeaufgabe 4 #################################################### */ #include "stdafx.h" using namespace System; const Int32 AlleKisten = 100; struct Lager { Int32 kistennummer; Int32 hoehe; Int32 laenge; Int32 breite; Int32 volumen; }; //Neue Kiste erstellen void eingabe(Lager Lagerraum[AlleKisten]) { for (Int32 i = 0; i < AlleKisten;i++) { if(Lagerraum[i].kistennummer != 0) { Console::WriteLine("Bitte geben Sie die Kistenhoehe ein: "); Lagerraum[i].hoehe = Convert::ToInt32(Console::ReadLine()); Console::WriteLine("Bitte geben Sie die Kistenbreite ein: "); Lagerraum[i].breite = Convert::ToInt32(Console::ReadLine()); Console::WriteLine("Bitte geben Sie die Kistenlaenge ein: "); Lagerraum[i].laenge = Convert::ToInt32(Console::ReadLine()); Lagerraum[i].volumen = Lagerraum[i].hoehe * Lagerraum[i].breite * Lagerraum[i].laenge; break; } else Console::WriteLine("Keine Kiste mehr frei! "); } } //eine Kiste anzeigen void anzeigen(Lager Lagerraum[AlleKisten]) { Int32 ID; Console::WriteLine("Welche Kiste von 1-100 soll angezeigt werden"."); ID = Convert::ToInt32(Console::ReadLine()) ; for (Int32 i = 0; i < AlleKisten;i++) { if(Lagerraum[i].kistennummer != 0) { Console::WriteLine(("Kistennummer: {0} > Hoehe: {1},Breite: {2}, Laenge: {3},Volumen: {4}"),Lagerraum[i].kistennummer,Lagerraum[i].hoehe, Lagerraum[i].breite, Lagerraum[i].laenge, Lagerraum[i].volumen); break; } else Console::WriteLine("Inkorrekte Eingabe\n"); } } void loeschen (Lager Lagerraum[AlleKisten]) { Int32 ID; Console::WriteLine("Welche Kiste von 1-100 soll geloescht werden"); ID = Convert::ToInt32(Console::ReadLine()); if(ID <= 100 && ID >= 0) { Lagerraum[ID].hoehe=0; Lagerraum[ID].breite=0; Lagerraum[ID].laenge=0; Lagerraum[ID].volumen=0; Console::WriteLine("Kistennummer: {0} geloescht",Lagerraum[ID].kistennummer); } else Console::WriteLine("Falsche Eingabe"); } void aendern (Lager Lagerraum[AlleKisten]) { Int32 ID; Console::WriteLine("Welche Kiste von 1-100 soll geaendert werden"); ID = Convert::ToInt32(Console::ReadLine()) ; if(ID <= 100 && ID >= 0) { Console::WriteLine("Geben sie bitte die hoehe der Kiste ein"); Lagerraum[ID].hoehe = Convert::ToInt32(Console::ReadLine()); Console::WriteLine("Geben sie bitte die Breite der Kiste ein"); Lagerraum[ID].breite = Convert::ToInt32(Console::ReadLine()); Console::WriteLine("Geben sie bitte die laenge der Kiste ein"); Lagerraum[ID].laenge = Convert::ToInt32(Console::ReadLine()); Lagerraum[ID].volumen = Lagerraum[ID].hoehe * Lagerraum[ID].breite * Lagerraum[ID].laenge; } else Console::WriteLine("Die Kiste existiert nicht"); } int main(array<System::String ^> ^args) { Int32 switchvar = 0; Lager Lagerraum [AlleKisten]; while(switchvar!=4) { Console::WriteLine("[1] Kiste anlegen"); Console::WriteLine("[2] Eine bestimmte Kiste auflisten"); Console::WriteLine("[3] Eine Kiste loeschen"); Console::WriteLine("[4] Eine Kiste aendern"); switchvar = Convert::ToInt32(Console::ReadLine()); switch (switchvar) { case 1: eingabe(Lagerraum); break; case 2: anzeigen(Lagerraum); break; case 3: loeschen(Lagerraum); break; case 4: aendern(Lagerraum); break; default: Console::WriteLine("Falsche Eingabe"); } } }
Schau doch nochmal in Heft 3 und kuck dir die While Schleife an
da muss doch bei dir switchvar++;
hin sonst zählt er doch nicht richtig
Grus Heinerich
-
Mhm da hast du recht.
Hab es geändert aber anscheined ging es auch ohne.Und mein Problem lösst das leider nicht,
aber danke fuer den tip:)
-
Schau dir nochmal auf der 2. Postseite meine Lösung an. Habe jetzt die Bestätigung vom Fernlehrer dass alles richtig gelöst ist. (1,0 halt)
Zerlege deine Fragestellung in kleine Teilprobleme und schau mal worauf du dir selbst eine Antwort geben kannst.
Wenn du immer vor der gesammten Aufgabe sitzt und denkst "Wie kann das nur gehen?" siehst du vor lauter Bäumen den Wald nicht.
Gehe in kleinen Schritten an deine Aufgabe heran.
Überlege dir GENAU welche Variable, welches Array WAS speichert.
Dann wirst du feststellen woher die riesen Zahlen kommen.Darum geht es ja beim Programmieren... Lösungen für Probleme zu finden.
Wenn ich dir jetzt die Lösung für dein Array-Problem poste, erkennst du natürlich gleich den Fehler... aber dann hast du trotzdem nichts verstanden.
(Habe gestern von 24 Uhr bis 4 Uhr morgens an der 6.2 gesessen ... und BUMM.. plötzlich spucken die Synapsen alles aus ... und es war doch ganz einfach :))OK.. viel bla bla..
Poste mir mal bitte genau den Quellcode den du gerade vor dir liegen hast.
Dann schreib ich dir zum Helfen in den Code was gerade genau im Programm passiert. Dann übersetzt du es bei dir und erkennst vielleicht dann die Fehler/Lücken.mfg
-
Ja das war anfangs so^^
Aber ich hab mir angewoehnt alles schritt für schritt
durchzugehen.Sämtliche Schritte sind mir bewusst und auch deren
auswirkungen.Danke für das Angebot:)
Aber da ich viell. was noch nicht kenne
hier der Code:)Btw:Gz zu deiner 1^^
Wobei ich aber doch Arrays schon habe?...
Die Feldgrenzen ueberschreite ich auch nicht.Edit:Nun hatte ich die idee zu schreiben:
if(Lagerraum[i].kistennummer != 0 && Lagerraum[i].volumen !0) //usw
das klappt zwar aber trotzdem werden einige Kisten immer
noch falsch erkannt./* ################################################### Einsendeaufgabe 4 #################################################### */ #include "stdafx.h" using namespace System; const Int32 AlleKisten = 100; struct Lager { Int32 kistennummer; Int32 hoehe; Int32 laenge; Int32 breite; Int32 volumen; }; //Neue Kiste erstellen void eingabe(Lager Lagerraum[AlleKisten]) { for (Int32 i = 0; i < AlleKisten;i++) { if(Lagerraum[i].kistennummer != 0) { Console::WriteLine("Bitte geben Sie die Kistenhoehe ein: "); Lagerraum[i].hoehe = Convert::ToInt32(Console::ReadLine()); Console::WriteLine("Bitte geben Sie die Kistenbreite ein: "); Lagerraum[i].breite = Convert::ToInt32(Console::ReadLine()); Console::WriteLine("Bitte geben Sie die Kistenlaenge ein: "); Lagerraum[i].laenge = Convert::ToInt32(Console::ReadLine()); Lagerraum[i].volumen = Lagerraum[i].hoehe * Lagerraum[i].breite * Lagerraum[i].laenge; break; } else Console::WriteLine("Keine Kiste mehr frei! "); } } //eine Kiste anzeigen void anzeigen(Lager Lagerraum[AlleKisten]) { Int32 ID; Console::WriteLine("Welche Kiste von 1-100 soll angezeigt werden"); ID = Convert::ToInt32(Console::ReadLine()) ; for (Int32 i = 0; i < AlleKisten;i++) { if(Lagerraum[i].kistennummer != 0) { Console::WriteLine(("Kistennummer: {0} > Hoehe: {1},Breite: {2}, Laenge: {3},Volumen: {4}"),Lagerraum[i].kistennummer,Lagerraum[i].hoehe, Lagerraum[i].breite, Lagerraum[i].laenge, Lagerraum[i].volumen); break; } else Console::WriteLine("Inkorrekte Eingabe\n"); } } void loeschen (Lager Lagerraum[AlleKisten]) { Int32 ID; Console::WriteLine("Welche Kiste von 1-100 soll geloescht werden"); ID = Convert::ToInt32(Console::ReadLine()); if(ID <= 100 && ID >= 0) { Lagerraum[ID].hoehe=0; Lagerraum[ID].breite=0; Lagerraum[ID].laenge=0; Lagerraum[ID].volumen=0; Console::WriteLine("Kistennummer: {0} geloescht",Lagerraum[ID].kistennummer); } else Console::WriteLine("Falsche Eingabe"); } void aendern (Lager Lagerraum[AlleKisten]) { Int32 ID; Console::WriteLine("Welche Kiste von 1-100 soll geaendert werden"); ID = Convert::ToInt32(Console::ReadLine()) ; if(ID <= 100 && ID >= 0) { Console::WriteLine("Geben sie bitte die hoehe der Kiste ein"); Lagerraum[ID].hoehe = Convert::ToInt32(Console::ReadLine()); Console::WriteLine("Geben sie bitte die Breite der Kiste ein"); Lagerraum[ID].breite = Convert::ToInt32(Console::ReadLine()); Console::WriteLine("Geben sie bitte die laenge der Kiste ein"); Lagerraum[ID].laenge = Convert::ToInt32(Console::ReadLine()); Lagerraum[ID].volumen = Lagerraum[ID].hoehe * Lagerraum[ID].breite * Lagerraum[ID].laenge; } else Console::WriteLine("Die Kiste existiert nicht"); } Void Liste(Lager Lagerraum[AlleKisten]) { for(Int32 i=0;i<AlleKisten;i++) { if(Lagerraum[i].kistennummer != 0) { Console::WriteLine("Kistennummer: {0} > Hoehe: {1},Breite: {2}, Laenge: {3},Volumen: {4}",Lagerraum[i].kistennummer,Lagerraum[i].hoehe, Lagerraum[i].breite, Lagerraum[i].laenge, Lagerraum[i].volumen); } else Console::WriteLine("Kistennummer: {0} nicht belegt! ",Lagerraum[i].kistennummer); } } int main(array<System::String ^> ^args) { Int32 switchvar = 0; Lager Lagerraum [AlleKisten]; for(Int32 i=0;i<AlleKisten;i++) { Lagerraum[i].kistennummer=i+1; } while(switchvar!=5) { Console::WriteLine("[1] Kiste anlegen"); Console::WriteLine("[2] Eine bestimmte Kiste auflisten"); Console::WriteLine("[3] Eine Kiste loeschen"); Console::WriteLine("[4] Eine Kiste aendern"); Console::WriteLine("[5] Alle Kisten anzeigen"); switchvar = Convert::ToInt32(Console::ReadLine()); switch (switchvar) { case 1: eingabe(Lagerraum); break; case 2: anzeigen(Lagerraum); break; case 3: loeschen(Lagerraum); break; case 4: aendern(Lagerraum); break; case 5: Liste (Lagerraum); break; default: Console::WriteLine("Falsche Eingabe"); switchvar++; } } }
-
schau dir mal dein feld lagernummer in main() an.
hier werden denke ich mal zufallsnummern für alle kisten vergeben.desweiteren solltest du das problem bekommen, dass bei der anlage neuer kisten, immer der erste eintrag verarbeitet wird.
arbeite auch gerade an der aufgabe.
-
Ich kann machen was ich will.
Ich krieg es nicht hin, das die Kisten hochgezaehlt werden.-.-Auch das setzen auf 0 bringt nichts.
Oder mach ich da was falsch?@S23
Danke, aber das hilft leider auch nicht.Mehrmalige Kontrolle und umschreibungen..
PS:GL bei deiner Aufgabe:)
Viell. bekommst du es ja besser hin als ich.Edit:
Ich hab es endlich hinbekommen.
Fragt nicht wie-.-
Faengt zwar ab 2 an aber wenigstens zaehlt er^^
-
Das
Frage nicht wie-.-
sollte aber unbedingt in
Ich weis genau wie
geändert werden.
Wenn du nur irgendwas ausprobierst wirst du bei größeren Programmen immer länger für die Lösung brauchen. Das wäre ja "Bruteforce" auf den Lösungsvorgang angewendet^^
Je größer das Programm, desto länger brauchst du um alle Möglichkeiten durchzuprobieren, es sei denn, du kommst in kurzer Zeit zufällig auf die Lösung.Jetzt klappt alles?
Dann schau dir deine Lösung so lange an, bis du alles VERSTEHST bevor du das nächste Heft bearbeitest. Du wirst später die Arrays und Schleifen sehr oft brauchen!mfg
-
Ja sicherlich hast du Recht, das sollte auch nur aufbauend wirken^^
(Sozusagen: Super...ich bin ein Schritt weiter:))Aber, bei List all bekomme ich immer noch Zufallszahlen.
Bei diversen anderen Codes funktioniert alles aber nicht bei
meinem-.-...Ich bin jetzt mittlerweile 30 ig mal die einzelnen funktionen
durchgegangen aber ich wüsste nicht was da fehlen sollte...
-
Nyoko schrieb:
Ich kann machen was ich will.
Ich krieg es nicht hin, das die Kisten hochgezaehlt werden.-.-Auch das setzen auf 0 bringt nichts.
Oder mach ich da was falsch?@S23
Danke, aber das hilft leider auch nicht.Mehrmalige Kontrolle und umschreibungen..
PS:GL bei deiner Aufgabe:)
Viell. bekommst du es ja besser hin als ich.Edit:
Ich hab es endlich hinbekommen.
Fragt nicht wie-.-
Faengt zwar ab 2 an aber wenigstens zaehlt er^^Schau dir das mal an
[code]
[/code]
Gruß Heinerich
-
Huhu, ich glaube du hast da einen Kopierfehler:)^^
-
Nyoko schrieb:
Huhu, ich glaube du hast da einen Kopierfehler:)^^
Genau das ist euer Problem, ihr kopiert alles.
Alles zusammen kopiert und nix verstanden.
Und wenn der Dozent fragt, wie was funktioniert, dann klotzt ihr doch sowieso nur an die Decke.
Aber wir sind die Programmierer schlecht hin.
Meine Fresse mir wird übel.
So eine billige Schulaufgabe füllt schon 4 Seiten, lächerlich.
Aber Copy & Paste sind die Befehle die ihr aus dem FF beherrscht.
Keine Gedanken machen, nicht nach den Wieso und Warum fragen.
Hauptsache ich gehe mit einer 1 nach Hause.
C++ ist nicht nur Copy & Paste
-
Ich mein aber auch das wenn man die 4.te nicht hinbekommt bekommt man ab heft 6 feuchte augen. Im prinzip ist es doch ganz einfach, man muss ja nicht schauen wo die kiste passt sondern nur die gesamtwerte abfragen. Die Struktur auslesen, alle längen zusammenzählen und dann abfragen ist 1 grösser als was noch offen ist?!?
wenn nicht dann rein damit...
-
Copy & Paste schrieb:
Nyoko schrieb:
Huhu, ich glaube du hast da einen Kopierfehler:)^^
Genau das ist euer Problem, ihr kopiert alles.
Alles zusammen kopiert und nix verstanden.
Und wenn der Dozent fragt, wie was funktioniert, dann klotzt ihr doch sowieso nur an die Decke.
Aber wir sind die Programmierer schlecht hin.
Meine Fresse mir wird übel.
So eine billige Schulaufgabe füllt schon 4 Seiten, lächerlich.
Aber Copy & Paste sind die Befehle die ihr aus dem FF beherrscht.
Keine Gedanken machen, nicht nach den Wieso und Warum fragen.
Hauptsache ich gehe mit einer 1 nach Hause.
C++ ist nicht nur Copy & PasteSry aber da kann dir übel werden wies dir steht, aber
ich habe nie Codes verlangt, nur einen Rat.
Ich sitze jetzt seit 3 Wochen an der Aufgabe und
versuche es zu verstehen.
Aber mit solch sinnvollen Beiträgen komme ich auch nicht weiter.
Und das ist auch keine billige Schulaufgabe.
Da bin ich schon lange raus^^
Und ich kann mich auch nur nach dem Heft richten bzw
nach dem Lernstoff der mir zur Verfügung steht.
Und noch ein Problem ist, das einem nur begrenzt Zeit
zur verfügung steht.
_____Danke denjo, genau sowas versteh ich unter Hilfestellung.:)
-
So, Aufgabe erledigt.
Ich muss mir den Code noch mehrmals anschauen
um zu Wissen wieso das auf einmal funktioniert.
(Ich hab den Code neu geschrieben und eine while
Schleife benutzt, wobei ich das das erste Mal auch
schon tat...na ich werd noch drauf kommen).Danke für alle die sich die Mühe gemacht haben mir
zu antworten.
-
hallo zusammen, habe auch diese aufgabe und habe schon mal angefangen. irgendwie komm ich jedoch mal wieder nicht weiter (hätt mich auch gewundert, wenn schon). Woll liegt den mein Fehler ?
mein Listing:#include "stdafx.h"
using namespace System;
struct kiste {
Int32 breite;
Int32 laenge;
Int32 hoehe;
};//Kisteneingabe
kiste eingabe(Int32 nr) {
kiste akiste;Console::WriteLine("Geben Sie eine Breite für die Kiste ein:");
akiste.breite=Convert::ToInt32(Console::ReadLine());Console::WriteLine("Geben Sie eine Länge für die Kiste ein:");
akiste.laenge=Convert::ToInt32(Console::ReadLine());Console::WriteLine("Geben Sie eine Höhe für die Kiste ein:");
akiste.hoehe=Convert::ToInt32(Console::ReadLine());
Console::WriteLine();
return akiste;
}
//volumenberechnung
Int32 volumenrechnung(kiste akiste) {
Int32 vol;
vol=akiste.breite * akiste.laenge * akiste.hoehe;
return vol;
}//Kistenanzeige
void anzeigen(kiste lager[]) {
Int32 nummer;
Console::WriteLine("Welche Kiste wollen Sie anzeigen ?");
nummer=Convert::ToInt32(Console::ReadLine());
}//Kiste löschen
void loeschen(kiste lager[]) {
Int32 nummer;Console::WriteLine("Welche Kiste wollen Sie löschen ?");
nummer=Convert::ToInt32(Console::ReadLine());
lager[nummer].breite=0;
lager[nummer].hoehe=0;
lager[nummer].laenge=0;
}
//Kiste ändernvoid aendern(kiste lager[]) {
Int32 nummer;Console::WriteLine("Welche Kiste wollen Sie ändern ?");
nummer=Convert::ToInt32(Console::ReadLine());Console::WriteLine("Geben sie bitte die Höhe der Kiste ein");
lager[nummer].hoehe = Convert::ToInt32(Console::ReadLine());Console::WriteLine("Geben sie bitte die Breite der Kiste ein");
lager[nummer].breite = Convert::ToInt32(Console::ReadLine());Console::WriteLine("Geben sie bitte die Länge der Kiste ein");
lager[nummer].laenge = Convert::ToInt32(Console::ReadLine());
}//Auflisten
void listen(kiste lager[]) {
for (Int32 schleife=0;schleife<100;schleife++)
Console::WriteLine("alle Kisten: {0}",lager[schleife]);
}int main(array<System::String ^> ^args)
{kiste lager[100];
Int32 auswahl;Console::WriteLine("Treffen Sie bitte eine Auswahl:");
Console::WriteLine("1 - Eingabe einer neuen Kiste");
Console::WriteLine("2 - Löschen der Daten einer Kiste");
Console::WriteLine("3 - Ändern der Daten einer Kiste");
Console::WriteLine("4 - Anzeigen der Daten einer Kiste");
Console::WriteLine("5 - alle Daten der Kisten anzeigen");auswahl=Console::Read();
Console::ReadLine();switch (auswahl) {
case 1:
eingabe();
break;
case 2:
loeschen();
break;
case 3:
aendern();
break;
case 4:
anzeigen();
break;
case 5:
listen();
break;default:
Console::WriteLine("sie haben leider keine Auswahl getroffen");
}
return 0;
}danke !!!!!!!
-
Nyoko schrieb:
Ich muss mir den Code noch mehrmals anschauen
um zu Wissen wieso das auf einmal funktioniert.
(Ich hab den Code neu geschrieben und eine while
Schleife benutzt, wobei ich das das erste Mal auch
schon tat...na ich werd noch drauf kommen).Danke für alle die sich die Mühe gemacht haben mir
zu antworten.Soviel zum Thema, schreibt einen Code und versteht ihn nicht...
Copy & Paste macht es möglich...
Ich wünsche Dir eine 1...
Und bald einen netten Chef, der Dir die Copy & Paste Eigenschaft ermöglicht...
-
Nee drei
Aber es ist nicht C++. Dieses C++/CLI scheint doch sehr wenig von C++ zu haben. Im Visual C++ 2010 Framework? kann man aber C++ schreiben.
Bin übrigens bei der selben Aufgabe
champman