D
Okay habe es jetzt doch selber gelöst
für die die es Interessiert hier die Lösung :
#include "stdafx.h"
using namespace System;
const Int32 MAXZAHL = 10;
struct Kiste
{
Int32 idNummer;
Int32 hoehe;
Int32 laenge;
Int32 breite;
Int32 volumen;
};
Kiste anlegen(Int32 kistenID)
{
Kiste aKiste;
Int32 eingabe;
aKiste.idNummer = kistenID;
Console::WriteLine("Bitte geben Sie die Höhe der {0} Kiste an:",kistenID);
eingabe = Convert::ToInt32(Console::ReadLine());
aKiste.hoehe = eingabe;
Console::WriteLine("Bitte geben Sie die laenge der {0} Kiste an:",kistenID);
eingabe = Convert::ToInt32(Console::ReadLine());
aKiste.laenge = eingabe;
Console::WriteLine("Bitte geben Sie die breite der {0} Kiste an:",kistenID);
eingabe = Convert::ToInt32(Console::ReadLine());
aKiste.breite = eingabe;
aKiste.volumen = aKiste.hoehe*aKiste.laenge*aKiste.breite;
Console::WriteLine("Höhe: \t{0}",aKiste.hoehe);
Console::WriteLine("Länge \t{0}",aKiste.laenge);
Console::WriteLine("Breite: \t{0}",aKiste.breite);
Console::WriteLine("--> Volumen: \t{0}",aKiste.volumen);
Console::ReadLine();
return aKiste;
}
Kiste löschen(Int32 kistenID)
{
Kiste aKiste;
aKiste.idNummer = 0;
aKiste.hoehe = 0;
aKiste.laenge = 0;
aKiste.breite = 0;
aKiste.volumen = 0;
Console::WriteLine("Die Kiste Nummer: {0} wurde gelöscht",kistenID);
Console::ReadLine();
return aKiste;
}
Kiste ändern(Int32 kistenID)
{
Kiste aKiste;
Int32 eingabe;
aKiste.idNummer = kistenID;
Console::WriteLine("Bitte geben Sie die neue Höhe der {0} Kiste an:",kistenID);
eingabe = Convert::ToInt32(Console::ReadLine());
aKiste.hoehe = eingabe;
Console::WriteLine("Bitte geben Sie die neue Länge der {0} Kiste an:",kistenID);
eingabe = Convert::ToInt32(Console::ReadLine());
aKiste.laenge = eingabe;
Console::WriteLine("Bitte geben Sie die neue Breite der {0} Kiste an:",kistenID);
eingabe = Convert::ToInt32(Console::ReadLine());
aKiste.breite = eingabe;
aKiste.volumen = aKiste.hoehe*aKiste.laenge*aKiste.breite;
Console::WriteLine("Höhe: \t{0}",aKiste.hoehe);
Console::WriteLine("Länge \t{0}",aKiste.laenge);
Console::WriteLine("Breite: \t{0}",aKiste.breite);
Console::WriteLine("--> Volumen: \t{0}",aKiste.volumen);
Console::ReadLine();
return aKiste;
}
Void anzeigen(Kiste aKiste[], Int32 eingabe)
{
Console::WriteLine("Kiste Nummer: {0}",aKiste[eingabe].idNummer);
Console::WriteLine("Höhe : \t\t{0}",aKiste[eingabe].hoehe);
Console::WriteLine("Länge : \t{0}",aKiste[eingabe].laenge);
Console::WriteLine("Breite : \t{0}",aKiste[eingabe].breite);
Console::WriteLine("Volumen : \t{0}",aKiste[eingabe].volumen);
Console::ReadLine();
return ;
}
Void liste(Kiste aKiste[])
{
Int32 y = 0;
for (Int32 x = 1; x <= MAXZAHL; x++)
{
if (aKiste[x].idNummer != 0)
{
Console::WriteLine("Kiste Nummer: {0}",aKiste[x].idNummer);
Console::WriteLine("Höhe: \t\t{0}",aKiste[x].hoehe);
Console::WriteLine("Länge: \t\t{0}",aKiste[x].laenge);
Console::WriteLine("Breite: \t{0}",aKiste[x].breite);
Console::WriteLine("Volumen: \t{0}",aKiste[x].volumen);
Console::WriteLine("");
y++;
if (y%4 == 0)
{
Console::ReadKey();
}
}
}
Console::ReadLine();
return;
}
int main(array<System::String ^> ^args)
{
Kiste aKiste[MAXZAHL+1];
Int32 eingabe;
Int32 ein;
for (Int32 x = 0; x <= MAXZAHL-1; x++)
{
aKiste[x].idNummer = 0;
aKiste[x].hoehe = 0;
aKiste[x].breite = 0;
aKiste[x].laenge = 0;
aKiste[x].volumen = 0;
}
do{
Console::WriteLine("Bitte wählen Sie eine Funktion aus:");
Console::WriteLine("1 - Neue Kiste anlegen");
Console::WriteLine("2 - Kiste löschen");
Console::WriteLine("3 - Kiste ändern");
Console::WriteLine("4 - Kiste anzeigen");
Console::WriteLine("5 - Liste aller Kisten ausgeben");
Console::WriteLine("9 - Programm beenden");
Console::WriteLine("\nIhre Auswahl:");
eingabe = Convert::ToInt32(Console::ReadLine());
switch(eingabe)
{
case 1:
Console::WriteLine("Welche Kiste möchten Sie anlegen?");
ein = Convert::ToInt32(Console::ReadLine());
if (eingabe != 0)
{
if (ein <= MAXZAHL)
{
if ( aKiste[ein].idNummer <= 0)
{
aKiste[ein] = anlegen(ein);
}
else
{
Console::WriteLine("Diese kiste wurde schon vergeben!");
}
}
else
{
Console::WriteLine("Diese Kiste existiert nicht!");
}
}
else
{
Console::WriteLine(" Sie können keine 0 Kisten anlegen!");
}
break;
case 2:
Console::WriteLine("Welche Kiste möchten Sie löschen?");
ein = Convert::ToInt32(Console::ReadLine());
if (eingabe <= MAXZAHL)
{
if (aKiste[ein].idNummer <= 0)
{
Console::WriteLine("Sie können keine unvergebene Kiste löschen");
Console::ReadLine();
}
else
{
aKiste[ein] = löschen(ein);
}
}
else
{
Console::WriteLine("Diese Kiste existiert nicht");
}
break;
case 3:
Console::WriteLine("Welche Kiste möchten Sie ändern?");
ein = Convert::ToInt32(Console::ReadLine());
if (ein <= MAXZAHL)
{
if (aKiste[ein].idNummer <= 0)
{
Console::WriteLine("Sie können keine unvergebene Kiste ändern!");
Console::ReadLine();
}
else
{
aKiste[ein] = ändern(ein);
}
}
else
{
Console::WriteLine("Diese Kiste existiert nicht!");
}
break;
case 4:
Console::WriteLine("Welche Kiste möchten Sie sehen?");
eingabe = Convert::ToInt32(Console::ReadLine());
if (ein <= MAXZAHL)
{
if (aKiste[ein].idNummer <= 0)
{
Console::WriteLine("Diese Kiste existiert nicht!");
Console::ReadLine();
}
else
{
anzeigen(aKiste,ein);
}
}
else
{
Console::WriteLine("Diese Kiste existiert nicht!");
}
break;
case 5:
liste(aKiste);
break;
default :
{
Console::WriteLine("Diese Option gibt es nicht!");
break;
}
}
}
while ( eingabe != 9);
return 0;
}