Struktur / Array Ausgabe Proplem
-
Hallo Zusammen, grüß euch.
Hätte da mal ne Frage Komme seit Wochen nicht weiter.
Ich möchte die Werte aus dem Array auslesen?
Die in einer Variablen eingeben worden sind.Bekomme immer nur die Adressenraus der Speicher rausn denek ich .
Und nicht die einzelne werte (Höhe ,Breite , Länge).
die ja in kiste kleineKiste[5] sein sollten.#include <iostream> #include <algorithm> #include <string> using namespace std; //die Struktur wird global vereinbart struct kiste { int hoehe; int breite; int laenge; }; //die Funktion zum Einlesen kiste einlesen (int kistenNummer) { //eine lokale Strukturvariable kiste aKiste; cout << "Geben Sie die Hoehe der " << kistenNummer << ". Kiste ein: "; cin >> aKiste.hoehe; cout << "Geben Sie die Breite der " << kistenNummer << ". Kiste ein: "; cin >> aKiste.breite; cout << "Geben Sie die Laenge der " << kistenNummer << ". Kiste ein: "; cin >> aKiste.laenge; //eine leere Zeile ausgeben cout << '\n'; return aKiste; } //die Funktion zum Berechnen int volumen (kiste aKiste) { int volWert; volWert = aKiste.hoehe * aKiste.breite * aKiste.laenge; return volWert; } void ausgabe(int xFeld[5]) { for(int schleife = 0; schleife < 5; schleife++) cout << " ausgabe von :"<< xFeld[schleife] <<'\n'; } int main () { //Feld für die Abfrage werte Einabwewerte z.Kisten masse. kiste kleineKiste[5]{0}; int Kiste_Nr; cout << "Kiste Nr :"; cin >> Kiste_Nr; kleineKiste[Kiste_Nr - 1] = einlesen (Kiste_Nr); cout << "test : "<< kleineKiste; return 0; } ------------------------------------------------------------------------ ***Ausgabe :*** Kiste Nr :1 Geben Sie die Hoehe der 1. Kiste ein: 2 Geben Sie die Breite der 1. Kiste ein: 3 Geben Sie die Laenge der 1. Kiste ein: 5 test : 0x7ffd164f8600
-
@Matze-b warum benutzt du denn deine Ausgabe Funktion nicht?
Edith Da ist noch mehr im Argen... Du hast ein Array von Kisten. Das versuchst du mit cout auszugeben. Was erwartest du davon?
Wofür ist die Ausgabe Funktion? Die nimmt ein Array von int, damit arbeitest du ja gar nicht.
Du könntest zum Beispiel eine Funktion schreiben, die erstmal eine Kiste entgegen nimmt und dann die einzelnen Werte ausgibt. Wie man auf die Elemente zugreifst, weißt du ja, machst du bei der Eingabe ja auch schon.
-
@Schlangenmensch sagte in Struktur / Array Ausgabe Proplem:
cout
@Schlangenmensch Hey danke für die Rasche Antwort.
Da habe ich wolle ein Problem mit dem Verständnis der Funktion mit Rückgaben werten. Danke dir habe gemerkt das ich da Irgendwo einen Konten im Hirn hab leider.Ich mache eine Fernschulung und muss eine ein Einsendeaufgabe ab Arbeiten.
Das Programm soll maximal Daten von 50 Kisten verwalten können und folgende Funktionen anbieten:
• Eingabe einer neuen Kiste,
• Löschen der Daten einer vorhandenen Kiste,
• Ändern der Daten einer vorhandenen Kiste,
• Anzeigen der Daten einer vorhandenen Kiste und
• eine Listenfunktion, die die Daten aller vorhandenen Kisten anzeigt.
• Speichern Sie die Daten in einer Struktur
-
Ist denn deine Frage soweit beantwortet?
An der Aufgabenstellung sieht man leider, dass dein Kurs dich kein C++ lehrt, sondern ein C-Kurs ist, wo printf durch cout ersetzt wurde. Insofern ist der eigentliche Ratschlag, dass du dir lieber einen anderen Kurs suchen solltest, hiermit wirst du später sowieso nichts anfangen können, sondern im Gegenteil, es wird dich eher hindern "richtiges" C++ zu lernen.
-
Exakt! Suche dir einen Kurs, der mindestens C++11 lehrt, bzw. am besten bis hin zum aktuellen C++20.
Diese Kistenaufgabe gibt es schon seit Jahren hier (früher sogar mit C++/CLI): Suche nach "struct Kiste" (der früheste Beitrag etwa von 2007).
-
@Th69 sagte in Struktur / Array Ausgabe Proplem:
Diese Kistenaufgabe gibt es schon seit Jahren hier (früher sogar mit C++/CLI): Suche nach "struct Kiste" (der früheste Beitrag etwa von 2007).
Da haben wir ja auch gleich ein Beispiel, wie das in C++ aussehen würde: https://www.c-plusplus.net/forum/topic/349123/mal-wieder-lagerverwaltung
Dann brauche ich das nicht selber zu schreiben. Auch wenn der gezeigte Code absichtlich die eigentlich völlig unnötigen Beschränkungen der Aufgabe (50 Kisten) übernimmt.Das nutzt @Matze-b natürlich wenig bei der Hausaufgabe, weil der Lehrer halt imperatives quasi-C erwartet, aber es zeigt wie unterschiedlich das Gelernte von dem ist, was er eigentlich lernen sollte.
-
Danke für euer Feedback.
C++ , Das mach mag sein mit Alter Version , Habe lang über legt was ich Lerne soll.
Für mich ist das 1X1 Am wichtigsten es auch zu Verstehen.
Egal ab neu oder alt ist. Wen man mal das Grundwissen hat und anwenden kann.
Wird der Rest schon Klappen und kann ich darauf auf bauen .
-
Genau das ist der springende Punkt:
Du lernst hier nicht das 1x1. Wenn wir bei Vergleichen sind, dann lernst du Fachwerkhäuser aus Lehm und Holz zu bauen. Iwann möchtest du vielleicht was Größeres bauen, und dann bricht der ganze Murks zusammen.