Probleme Dynamische Arrays
-
Was mache ich hier falsch?
5a.3.1.cpp:25:25: error: indirection requires pointer operand ('int' invalid)
hinzufuegen(*cdsammlung, *anzahl);
^~~~~~~~~~~
5a.3.1.cpp:27:24: error: indirection requires pointer operand ('int' invalid)
bearbeiten(*cdsammlung);
^~~~~~~~~~~
5a.3.1.cpp:29:22: error: indirection requires pointer operand ('int' invalid)
loeschen(*cdsammlung, *anzahl);#include <iostream> using namespace std; void verwaltung(char &cdsammlung, int &anzahl){ int ve1 = 0; do{ cout << "\n Verwaltung. \n \n"; cout << "CD hinzufügen? So drücke '1'. \n"; cout << "CD bearbeiten? So drücke '2'. \n"; cout << "CD löschen? So drücke '3'. \n"; cout << "Zurück? So drücke '0'. \n"; cout << "Eingabe: "; cin >> ve1; if(ve1 == 0){ return; } else if(ve1 == 1){ hinzufuegen(*cdsammlung, *anzahl); } else if(ve1 == 2){ bearbeiten(*cdsammlung); } else if(ve1 == 3){ loeschen(*cdsammlung, *anzahl); } else{ cout << "Falsche Eingabe! \n"; } } while(ve1 != 0); } int main(){ unsigned int anzahl = 0; char* cdsammlung = NULL; int pe1 = 0; do{ cout << "\n Willkommen in deiner CD-Sammlung! \n \n"; cout << "Verwalten? So drücke '1'. \n"; cout << "Durchstöbern? So drücke '2'. \n"; cout << "Beenden? So drücke '0'. \n"; cout << "Eingabe: "; int pe1 = 0; cin >> pe1; if(pe1 == 0){ return 0; } else if(pe1 == 1){ verwaltung(*cdsammlung, *anzahl); } else if(pe1 == 2){ durchstoebern(*cdsammlung, *anzahl); } else{ cout << "Falsche Eingabe! \n"; } } while(pe1 != 0); if(cdsammlung != NULL){ delete [] cdsammlung; } return 0; }
-
Ist dir klar, dass in ein
char, nur ein Zeichen passt?Auch hast du Zeiger und Referenz nicht verstanden.
Und nach deinem Edit fehlt die Hälfte vom Code.
-
Benutze std::string statt char*!
-
Du könntest das ganze If - Else - Elsif gedöns mit nem einfachen switch wesentlich übersichtlicher machen.
std::string würde dein Leben auch wesentlich vereinfachen aber wohl nur in Verbindung mit einem Grundlagen Buch.
if(cdsammlung != NULL){ delete [] cdsammlung; }Was willst du damit delete´n ? Ich seh nirgens ein new oder sonst eine Speicheranforderung??