Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.91 KB | None | 0 0
  1. /*############################################
  2.             Einsende Aufgabe 4
  3.  ###########################################*/
  4. #include <iostream>
  5.  
  6. using namespace std;
  7.  
  8. struct Lager
  9. {
  10.     int nummer;
  11.     double breite;
  12.     double laenge;
  13.     double hoehe;
  14.     double volumen;
  15.     int aktiv=0;
  16. };
  17.  
  18. Lager einlesen(Lager Kiste[50])
  19. {
  20.     int lager;
  21.     cout << "Welche Kiste soll eingelesen werden?: ";
  22.     cin >> lager;
  23.  
  24.     if(((lager<=50)&&(lager!=0)&&(Kiste[lager-1].aktiv!=1))) // Lager-1 und deswegen auch Lager<=50 da er ja bei "0" das Zählen anfängt und man bei Zahl "1" auf das zweite Array zugreift und nicht auf das erste :)
  25.     {
  26.         cout << "h\224he der " << lager << " Kiste: "; //höhe
  27.         cin >> Kiste[lager-1].hoehe;
  28.         cout << "breite der " << lager << " Kiste: ";
  29.         cin >> Kiste[lager-1].breite;
  30.         cout << "l\204nge der " << lager << " Kiste: "; //länge
  31.         cin >> Kiste[lager-1].laenge;
  32.         Kiste[lager-1].aktiv=1;
  33.         Kiste[lager-1].volumen=Kiste[lager-1].hoehe*Kiste[lager-1].breite*Kiste[lager-1].laenge;
  34.         cout << '\n';
  35.     }
  36.     else if(lager>=50)
  37.     {
  38.         cout << "Maximal 50 Kisten sind erlaubt!\n";
  39.     }
  40.     else
  41.     {
  42.         cout << "\n\nDie von ihnen gew\204lte Kiste ist bereits voll! W\204hlen Sie eine andere.\n";
  43.     }
  44.    return Kiste[lager];
  45. }
  46.  
  47. Lager einzelAuflisten(Lager Kiste[50])
  48. {
  49.     int lager;
  50.     cout << "Welche Kiste wollen Sie sehen?: ";
  51.     cin >> lager;
  52.  
  53.     if(((lager<=50)&&(lager!=0)&&(Kiste[lager-1].aktiv!=1)))
  54.     {
  55.         cout << "Kiste Nr:\t" << Kiste[lager-1].nummer << '\n';
  56.         cout << "Aktiv:\t\t" << Kiste[lager-1].aktiv << '\n';
  57.         cout << "Volumen:\t" << Kiste[lager-1].volumen << '\n';
  58.         cout << "L\204nge:\t\t(" << Kiste[lager-1].laenge << ")\n";
  59.         cout << "Breite:\t\t(" << Kiste[lager-1].breite << ")\n";
  60.         cout << "H\224he:\t\t(" << Kiste[lager-1].hoehe << ")\n";
  61.     }
  62.     else if((Kiste[lager-1].nummer <50) && (Kiste[lager-1].aktiv!=1))
  63.     {
  64.         cout << "Kiste nr.: \t" << Kiste[lager-1].nummer << " nicht belegt!\n";
  65.     }
  66.     else cout << "Falsche eingabe? (max. 50!)\n";
  67.  
  68.     return Kiste[lager-1];
  69. }
  70. //Ändern der vorhandennen kisten
  71. Lager aendern(Lager Kiste[50])
  72. {
  73.     int lager;
  74.  
  75.     cout << "Bitte geben Sie die Nummer der Kiste ein die Sie \204ndern wollen: ";
  76.     cin >> lager;
  77.  
  78.     if(((lager<=50)&&(lager!=0)&&(Kiste[lager-1].aktiv!=1)))
  79.     {
  80.         cout << "h\224he der " << lager << " Kiste: ";
  81.         cin >> Kiste[lager-1].hoehe;
  82.         cout << "breite der " << lager << " Kiste: ";
  83.         cin >> Kiste[lager-1].breite;
  84.         cout << "l\204nge der " << lager << " Kiste: ";
  85.         cin >> Kiste[lager-1].laenge;
  86.         Kiste[lager-1].aktiv=1;
  87.         Kiste[lager-1].volumen=Kiste[lager-1].hoehe*Kiste[lager-1].breite*Kiste[lager-1].laenge;
  88.         cout << '\n';
  89.     }
  90.     else if(lager>=50)
  91.     {
  92.         cout << "Maximal 50 Kisten!\n";
  93.     }
  94. return Kiste[lager-1];
  95. }
  96. //Löschen der vorhandennen kisten
  97. Lager loeschen(Lager Kiste[50])
  98. {
  99.     int lager;
  100.  
  101.     cout << "Bitte Nummer der zu l\224schenden Kiste: ";
  102.     cin >> lager;
  103.     if(((lager<=50)&&(lager!=0)&&(Kiste[lager-1].aktiv!=1)))
  104.     {
  105.         Kiste[lager-1].aktiv=0;
  106.         cout << '\n';
  107.         cout << "Kiste nr: " << lager << " wurde erfolgreich gel\224scht!!!!\n";
  108.     }
  109. return Kiste[lager-1];
  110. }
  111.  
  112.  
  113. Lager alleAuflisten(Lager alleKisten[50])
  114. {
  115.     cout <<"Kistennr.:\tVolumen:\tAktiv:\n";
  116.     for (int lager=0;lager<50;lager++)
  117.     {
  118.     cout  << alleKisten[lager-1].nummer << "\t\t" << alleKisten[lager-1].volumen << "\t\t" << alleKisten[lager-1].aktiv <<'\n';
  119.     }
  120.     return alleKisten[50];
  121. }
  122.  
  123.  
  124.  
  125. int main()
  126. {
  127.    Lager alleKisten[50];
  128.    int auswahl;
  129.  
  130.    for(int i=0;i<50;i++)
  131.            {
  132.                alleKisten[i].volumen=0;
  133.                alleKisten[i].aktiv=0;
  134.                alleKisten[i].nummer=i+1;
  135.            }
  136.  
  137.    do
  138.    {
  139.        cout << "Will kommen in der verwaltung\n";
  140.        cout << "Bitte w\204hlen Sie aus.\n";
  141.        cout << '\n';
  142.        cout << "(1) Kiste anlegen\n";
  143.        cout << "(2) Kiste anzeigen\n";
  144.        cout << "(3) Kiste \204ndern\n";
  145.        cout << "(4) Kiste l\224schen\n";
  146.        cout << "(5) Alle Kisten anzeigen\n";
  147.        cout << "(6) Programm beenden\n";
  148.        cin >> auswahl;
  149.  
  150.  
  151. // auswahl ändern der kisten, oder auflisten
  152.  
  153.  
  154.        switch(auswahl)
  155.        {
  156.        case 1:
  157.            einlesen(alleKisten);
  158.            break;
  159.        case 2:
  160.            einzelAuflisten(alleKisten);
  161.            break;
  162.        case 3:
  163.            aendern(alleKisten);
  164.            break;
  165.        case 4:
  166.            loeschen(alleKisten);
  167.            break;
  168.        case 5:
  169.            alleAuflisten(alleKisten);
  170.            break;
  171.        case 6:
  172.            cout << "Die Lagerverwaltung wird beendet, Bitte warten Sie.....\n\n";
  173.            exit(0);
  174.        }
  175.  
  176.    }while (auswahl !=6);
  177.  
  178.  
  179.     return 0;
  180. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement