L
lyon64
Hallo,
ich mache im Moment einen Kurs Visual C++/CLI und bin an einer Aufgabe, bei dieser ich ein paar Tipps benötigen könnte. Da ich diesen Kurs rein privat mache und beruflich nie umsetze, tue ich auch niemanden weh, wenn ich es über dieses Forum versuche
Es soll am nachfolgenden Code das Listenende beim Einfügen nicht immer neu ermittelt, sondern neue Elemente direkt am Ende eingefügt werden.
Vorgaben:
Keine Änderung der Klasse
300 Elemente am Listenende einfügen
#include "stdafx.h"
using namespace System;
ref class listenelement {
String ^daten;
listenelement ^next;
public:
Void datenSetzen(String ^datenneu);
Void anhaengen(String ^datenneu);
Void ausgeben();
};
//die Zeichenkette in das Element schreiben
Void listenelement::datenSetzen(String ^datenneu) {
daten=datenneu;
}
//neues Element am Ende der Liste anhängen
Void listenelement::anhaengen(String ^datenneu) {
//hat next den Wert nullptr?
//dann ein neues Element anhängen
if (next == nullptr) {
next = gcnew listenelement;
next->daten=datenneu;
//nullptr wird automatisch zugewiesen!
}
//sonst die Methode für next noch einmal aufrufen
else
next->anhaengen(datenneu);
//nur zur Veranschaulichung
Console::WriteLine("Daten {0} wurden eingefügt.",datenneu);
}
//Alle Elemente der Liste ausgeben
Void listenelement::ausgeben() {
//den ersten Eintrag ausgeben
Console::WriteLine("{0}",daten);
//wenn das Ende nicht erreicht ist, die Methode für next erneut aufrufen
if (next != nullptr)
next->ausgeben();
}
int main(array<System::String ^> ^args)
{
//Handle auf den Anfang der Liste
listenelement ^listenanfang;
//Handle auf das Ende der Liste
listenelement ^listenende;
//das erste Element per Hand erzeugen
listenanfang = gcnew listenelement;
//Zeichenkette in das erste Element schreiben
listenanfang->datenSetzen("Element 1");
//in einer Schleife mehrere Elemente anfügen
for (Int32 schleife=1;schleife<301;schleife++)
listenanfang->anhaengen("Element "+schleife);
//die Liste ausgeben
listenanfang->ausgeben();
return 0;
}
Gruß
lyon64
ich mache im Moment einen Kurs Visual C++/CLI und bin an einer Aufgabe, bei dieser ich ein paar Tipps benötigen könnte. Da ich diesen Kurs rein privat mache und beruflich nie umsetze, tue ich auch niemanden weh, wenn ich es über dieses Forum versuche

Es soll am nachfolgenden Code das Listenende beim Einfügen nicht immer neu ermittelt, sondern neue Elemente direkt am Ende eingefügt werden.
Vorgaben:
Keine Änderung der Klasse
300 Elemente am Listenende einfügen
#include "stdafx.h"
using namespace System;
ref class listenelement {
String ^daten;
listenelement ^next;
public:
Void datenSetzen(String ^datenneu);
Void anhaengen(String ^datenneu);
Void ausgeben();
};
//die Zeichenkette in das Element schreiben
Void listenelement::datenSetzen(String ^datenneu) {
daten=datenneu;
}
//neues Element am Ende der Liste anhängen
Void listenelement::anhaengen(String ^datenneu) {
//hat next den Wert nullptr?
//dann ein neues Element anhängen
if (next == nullptr) {
next = gcnew listenelement;
next->daten=datenneu;
//nullptr wird automatisch zugewiesen!
}
//sonst die Methode für next noch einmal aufrufen
else
next->anhaengen(datenneu);
//nur zur Veranschaulichung
Console::WriteLine("Daten {0} wurden eingefügt.",datenneu);
}
//Alle Elemente der Liste ausgeben
Void listenelement::ausgeben() {
//den ersten Eintrag ausgeben
Console::WriteLine("{0}",daten);
//wenn das Ende nicht erreicht ist, die Methode für next erneut aufrufen
if (next != nullptr)
next->ausgeben();
}
int main(array<System::String ^> ^args)
{
//Handle auf den Anfang der Liste
listenelement ^listenanfang;
//Handle auf das Ende der Liste
listenelement ^listenende;
//das erste Element per Hand erzeugen
listenanfang = gcnew listenelement;
//Zeichenkette in das erste Element schreiben
listenanfang->datenSetzen("Element 1");
//in einer Schleife mehrere Elemente anfügen
for (Int32 schleife=1;schleife<301;schleife++)
listenanfang->anhaengen("Element "+schleife);
//die Liste ausgeben
listenanfang->ausgeben();
return 0;
}
Gruß
lyon64