Hallo,
ich soll für mein Fernstudium einen Lagerverwaltung mit max. 50 Kisten erstellen, die ich eingeben, ändern, löschen und mir anzeigen kann. Leider kann ich meinen Code nicht ausführen und weis wirklich nicht woran es liegt.
Hier der Code:
Gleich beim ersten "cin" eingeben der Kiste bekomme ich den Fehler:no match for 'operator>>' in 'std::cin >> "i"'. Und ich kann mir nicht erklären woran es liegen könnte.
Vielen Dank schon mal für eure Hilfe.
Gruß
Sebastian
ich soll für mein Fernstudium einen Lagerverwaltung mit max. 50 Kisten erstellen, die ich eingeben, ändern, löschen und mir anzeigen kann. Leider kann ich meinen Code nicht ausführen und weis wirklich nicht woran es liegt.
Hier der Code:
C-Quellcode
- #include <iostream>
- using namespace std;
- struct Lager
- {
- int nummer;
- double breite;
- double laenge;
- double hoehe;
- double volumen;
- int aktiv=0;
- }aKiste;
- Lager eingeben(Lager aKiste[50])
- {
- int i=0;
- cout << "Welche Kiste soll Angelegt werden?: \n" << "Es dürfen max. 50 Kisten angelegt werden.";
- cin >> i;
- if(((i<50)&&(i!=0)&&(aKiste[i].aktiv!=1)))
- {
- cout << "Bitte geben Sie die Hoehe der " << i << " Kiste: " << " ein.";
- cin >> aKiste[i].hoehe;
- cout << "Bitte geben Sie die Breite der " << i << " Kiste: " << " ein.";
- cin >> aKiste[i].breite;
- cout << "Bitte geben Sie die Laenge der " << i << " Kiste: " << " ein.";
- cin >> aKiste[i].laenge;
- aKiste[i].aktiv=1;
- aKiste[i].volumen=aKiste[i].hoehe*aKiste[i].breite*aKiste[i].laenge;
- cout << '\n';
- }
- else if(i>=50)
- {
- cout << "Es sind max. 50 Kisten erlaubt!\n";
- }
- else
- {
- cout << "Diese Kiste ist bereits belegt!\n";
- }
- return aKiste[i];
- }
- Lager Kisteanzeigen(Lager aKiste[50])
- {
- int i=0;
- cout << "Welche Kiste soll angezeigt werden?: ";
- cin >> i;
- if((aKiste[i].nummer <50) && (aKiste[i].aktiv==1))
- {
- cout << "Kiste Nr.:\t " << aKiste[i].nummer << '\n';
- cout << "Volumen: \t" << aKiste[i].volumen << '\n';
- cout << "Aktiv: \t\t" << aKiste[i].aktiv << '\n';
- }
- else if((aKiste[i].nummer <50) && (aKiste[i].aktiv!=1))
- {
- cout << "Die Kiste nr.: \t" << aKiste[i].nummer << " ist nicht belegt!\n";
- }
- else cout << "Falsche eingabe? Es sind max. 50 Kisten erlaubt\n";
- return aKiste[i];
- }
- Lager aendern(Lager aKiste[50])
- {
- int i=0;
- cout << "Bitte geben Sie die Nummer der Kiste ein die Sie aendern wollen: ";
- cin >> i;
- if((i<50)&&(aKiste[i].aktiv==1))
- {
- cout << "Bitte geben Sie die Hoehe der " << i << " Kiste: " << " ein.";
- cin >> aKiste[i].hoehe;
- cout << "Bitte geben Sie die Breite der " << i << " Kiste: " << " ein.";
- cin >> aKiste[i].breite;
- cout << "Bitte geben Sie die Laenge der " << i << " Kiste: " << " ein.";
- cin >> aKiste[i].laenge;
- aKiste[i].aktiv=1;
- aKiste[i].volumen=aKiste[i].hoehe*aKiste[i].breite*aKiste[i].laenge;
- cout << '\n';
- }
- else if(i>=50)
- {
- cout << "Es sind max. 50 Kisten erlaubt!\n";
- }
- return aKiste[i];
- }
- Lager loeschen(Lager aKiste[50])
- {
- int i=0;
- cout << "Bitte geben Sie die Nummer der zu loeschenden Kiste ein: ";
- cin >> i;
- if ((i<50)&&(aKiste[i].aktiv==1))
- {
- aKiste[i].aktiv=0;
- cout << '\n';
- cout << "Kiste nr.: " << i << " wurde geloescht!\n";
- }
- return aKiste[i];
- }
- Lager alleAnzeigen(Lager alleKisten[50])
- {
- cout <<"Kistennr.:\tVolumen:\tAktiv:\n";
- for (int i=0;i<50;i++)
- {
- cout << alleKisten[i].nummer << "\t\t" << alleKisten[i].volumen << "\t\t" << alleKisten[i].aktiv <<'\n';
- }
- return alleKisten[50];
- }
- int main()
- {
- Lager alleKisten[50];
- int auswahl;
- for(int i=0;i<50;i++)
- {
- alleKisten[i].volumen=0;
- alleKisten[i].aktiv=0;
- alleKisten[i].nummer=i+1;
- }
- do
- {
- cout << "Kistenlager\n";
- cout << '\n';
- cout << "Drücke (1) um eine Kiste anzulegen\n";
- cout << "Drücke (2) um eine Kiste anzuzeigen\n";
- cout << "Drücke (3) um eine Kiste zu aendern\n";
- cout << "Drücke (4) um eine Kiste zu loeschen\n";
- cout << "Drücke (5) um alle Kisten anzuzeigen\n";
- cout << "Drücke (6) um das Programm zu beenden\n";
- cin >> auswahl;
- switch(auswahl)
- {
- case 1:
- eingeben(alleKisten);
- break;
- case 2:
- KisteAnzeigen(alleKisten);
- break;
- case 3:
- aendern(alleKisten);
- break;
- case 4:
- loeschen(alleKisten);
- break;
- case 5:
- alleAnzeigen(alleKisten);
- break;
- case 6:
- cout << "Das Programm Kistenlager wird beendet.";
- exit(0);
- }
- }while (auswahl !=6);
- return 0;
- }
Gleich beim ersten "cin" eingeben der Kiste bekomme ich den Fehler:no match for 'operator>>' in 'std::cin >> "i"'. Und ich kann mir nicht erklären woran es liegen könnte.
Vielen Dank schon mal für eure Hilfe.
Gruß
Sebastian