Benötige Hilfe ?
-
Hallo erst mal,
bin neu hier und habe mit C++/CLI .NET Framwork 2.0 angefangen mich auseinader zu setzen bzw. zu lernen.Habe folgende Aufgabestellung aus meinem Lehrgang bei der ILS :
Ich soll die Maße (Breite; Laenge; Hoehe) der Kisten einlesen und zur Identifikation jeder Kiste eine Nummer vergeben, über diese ich dann ggfs. die Daten anschauen, aendern und loeschen kann sowohl auch alle Daten aller erfassten Kisten in einer Listenfunktion anzeigen kann.
Das erfassen der kistenDaten habe ich über die Strukturen duchgeführt.
Die STL und die Klassen kann ich nicht einsetzten.Ich bin ein Stückchen weitergekommen aber im case 2: hänge ich noch fest.
Vielleicht hat jetzt jemand paar verwertbare Tips ?#include "stdafx.h"
using namespace System;
struct lagerKiste {
bool kisteNrGesetzt;
Int32 breite;
Int32 hoehe;
Int32 laenge;};
lagerKiste einlesen(Int32){
lagerKiste kiste;
Console::Write("Geben Sie bitte die Breite der Kiste ein: ");
kiste.breite=Convert::ToInt32(Console::ReadLine());
Console::Write("Geben Sie bitte die Höhe der Kiste ein: ");
kiste.hoehe=Convert::ToInt32(Console::ReadLine());
Console::Write("Geben Sie bitte die Länge der Kiste ein: ");
kiste.laenge=Convert::ToInt32(Console::ReadLine());Console::WriteLine();
kiste.kisteNrGesetzt = true;
return kiste;
}
Int32 volumen(lagerKiste kiste) {
Int32 volumenWert;
volumenWert=kiste.breite * kiste.hoehe * kiste.laenge;
return volumenWert;
}
int main(array<System::String ^> ^args)
{
Int32 kistenNr;
const int maxNumKisten = 100;
lagerKiste kistenLager[maxNumKisten];for (int kistenNr = 0; kistenNr < maxNumKisten ; kistenNr++)
{
kistenLager[kistenNr].kisteNrGesetzt = false;
}
bool exit = false;
do
{
Int32 auswahl;
Console::WriteLine("1 Eingabe einer neuen Kiste:");
Console::WriteLine("2 Löschen einer vorhanden Kiste:");
Console::WriteLine("3 Ändern einer vorhandenen Kiste:");
Console::WriteLine("4 Anzeigen der Daten einer vorhandenen Kiste:");
Console::WriteLine("5 Daten aller vorhanden Kisten in einer Liste anzeigen:");
Console::WriteLine("6 Für Programm beenden");Console::WriteLine();
auswahl=Convert::ToInt32(Console::ReadLine());
switch (auswahl) {
case 1:
Console::WriteLine();
for (Int32 schleife=0; schleife<maxNumKisten ; schleife++)
{
if (kistenLager[schleife].kisteNrGesetzt == false)
{
kistenLager[schleife]=einlesen(schleife);
break;
}
}
break;
case 2: // Hier kann ich nur immer von der erste Kiste löschen, zB 0 oder 1.
// Hängt glaube mit dem Index der Feldangabe von 0 - 99 zusammen ??
// Wie kann ich die Auswahl nach einer erfassten kistenNr löschen ?Console::WriteLine();
Console::Write(" Löschen der Daten einer vorhandenen Kiste: ");
for (Int32 schleife=0; schleife<maxNumKisten; schleife++)
{
if (kistenLager[schleife].kisteNrGesetzt == true ){
kistenNr=Convert::ToInt32(Console::ReadLine());
kistenLager[kistenNr].kisteNrGesetzt = false;
}
}
break;
case 3:
case 4:
case 5:
Console::WriteLine();
for (Int32 schleife=0; schleife<maxNumKisten; schleife++)
{
if (kistenLager[schleife].kisteNrGesetzt == true ){
Console::WriteLine("Das Volumen von der Kiste {0} ist {1}", schleife+1, volumen(kistenLager[schleife]));
Console::WriteLine();}
}
break;
case 6:
exit = true;
Console::WriteLine();
Console::WriteLine("Es wurde in der Auswahl 6. zum Programm beenden gewählt.");
Console::WriteLine();break;
default :
Console::WriteLine("Es wurde keine Auswahl von 1 - 6 eingegeben!");
}
}
while (exit != true);
return 0;
}
Also ich hänge hier irgend wie fest
-
ILS oder? , am besten fragst du mal deinen Lehrer, der wird hier auch ab un zu reinschauen....
-
Hallo nighttrain,
wo hängt es den genau?
Und zum zweiten...kistenLager ist eine Unreferenzierte lokale Variable
Beseitige doch erst einmal die Warnung
Gruß Doug_HH
-
denjo303 schrieb:
ILS oder? , am besten fragst du mal deinen Lehrer, der wird hier auch ab un zu reinschauen....
Ja ILS
Ich hatte an das Forum meine Frage eingestellt, wenn der Lehrer hier auch mit dabei ist, dann um so besser.Ich bin auch ein Stückchen weitergekommen, aber im case 2: häng ich noch fest.
Vielleicht hat jetzt jemand paar verwertbare Tips
-
Doug_HH schrieb:
Hallo nighttrain,
wo hängt es den genau?
Und zum zweiten...kistenLager ist eine Unreferenzierte lokale Variable
Beseitige doch erst einmal die Warnung
Gruß Doug_HH
Warnung beseitigt und ich bin auch ein Stückchen weitergekommen, aber im case 2: häng ich noch fest.
Vielleicht hat jetzt jemand paar verwertbare Tips
-
Für die Hausaufgabe gibts im Forum schon eine Lösung.