Bäume zur Simulation eines Schneeballsystems in der Vermarktung von salzigen Schokoladenbällchen
In dieser Übung wollen wir einmal nachvollziehen, wie ein Schneeballsystem bei der Vermarktung von beliebten Produkten funktionieren kann und wie man es mit Hilfe von Baumstrukturen gekonnt verwalten kann.
Das besondere an einem Schneeballsystem ist, daß ein einzelner Klinkenputzer Subunternehmer einstellen kann, die dann für ihn losziehen und Klinken putzen. Jeder Subunternehmer darf dann, weil der ursprüngliche Klinkenputzer so gütig war, ihm Arbeit zu geben, diesem einen gewissen Anteil seines Profits, quasi als Dankeschön, abgeben. Der Subunternehmer selber darf selbstverständlich auch wieder Subunternehmer einstellen, die Sub-Subunternehmer. Die Sub-Subunternehmer drücken dann an den Subunternehmer ab, der von diesem Gewinn dann wieder seinen Teil an den ursprünglichen Klinkenputzer abdrückt.
Es ist also leicht zu sehen, daß diese Struktur am passensten durch eine Baumstruktur abgebildet werden kann, die sich dynamisch verwalten läßt.
Für den Fall, daß denn der Chefkoch mal seine super-leckeren salzigen Schokoladenbällchen vermarkten möchte, könnte man zu einem solchem Baum kommen:
Man könnte sich nun allerlei passende Operationen auf diesem Baumkonstrukt vorstellen, die den Ablauf eines Schneeballsystems simulieren. So müssen Personen eingestellt werden, die die Möglichkeit haben müssen, Profit zu erwirtschaften und auch die Möglichkeit haben, neue Subunternehmer einzustellen. Auf der anderen Seite müssen diese auch wieder entlassen oder durch andere ausgetauscht werden können.
Die Deklaration der entsprechenden Funktionen, wie auch die dazu notwendigen Datenstrukturen, findet ihr in diesem Headerfile.
Anforderungen
Hinweise
int isEqual(t_tree* tree1, t_tree* tree2)
int isNameIn(t_tree* tree, char* name)
t_tree* getNodeBefore(t_tree* tree, t_tree* node)
t_tree* myTree; myTree=tree_makeTree("Chef",0.0f); myTree=tree_appendTree(myTree,myTree,tree_makeTree("Eric Cartman",0.0f)); myTree=tree_appendTree(myTree,myTree,tree_makeTree("Big Gay Al",0.0f)); tempTree=tree_appendTree(myTree,tree_findName(myTree,"Eric Cartman"), tree_makeTree("Stan Marsh",0.0f)); tempTree=tree_appendTree(myTree,tree_findName(myTree,"Eric Cartman"), tree_makeTree("Kenny McCormick",0.0f)); tempTree=tree_appendTree(myTree,tree_findName(myTree,"Stan Marsh"), tree_makeTree("Wendy Testaburger",0.0f)); tempTree=tree_appendTree(myTree,tree_findName(myTree,"Wendy Testaburger"), tree_makeTree("Kyle Broflovski",0.0f)); tempTree=tree_appendTree(myTree,tree_findName(myTree,"Big Gay Al"), tree_makeTree("Grandpa Marsh",0.0f)); tempTree=tree_appendTree(myTree,tree_findName(myTree,"Grandpa Marsh"), tree_makeTree("Mr. Garrison",0.0f)); tempTree=tree_appendTree(myTree,tree_findName(myTree,"Grandpa Marsh"), tree_makeTree("Mr. Slave",0.0f)); tempTree=tree_appendTree(myTree,tree_findName(myTree,"Mr. Garrison"), tree_makeTree("A Christina Aguilera Monster", 0.0f)); tempTree=tree_appendTree(myTree,tree_findName(myTree,"Mr. Garrison"), tree_makeTree("Mr. Hankey the Christmas Poo", 0.0f)); myTree=tree_updateProfit(myTree,"Chef",100.0); myTree=tree_updateProfit(myTree,"Eric Cartman",200.0); myTree=tree_updateProfit(myTree,"Stan Marsh",400.0); myTree=tree_updateProfit(myTree,"Wendy Testaburger",800.0); myTree=tree_updateProfit(myTree,"Kyle Broflovski",1600.0);
Gutes Gelingen!
Download Beispiel-Lösungsvorschlag, Quelltext inkl. Projektdateien für VC6 (ZIP-Archiv, 58 KB)
Gefällt dir die C Übungsaufgabe? Schreibe doch einen Kommentar...
Diese Website benutzt Cookies. 🍪 Wenn Sie die Website weiter nutzen, stimmen Sie der Verwendung von Cookies zu. Mehr Infos