Programmieraufgabe struct und array in C++
-
Hallo zusammen,
ich bin neu hier im Forum und habe mich aus purer Verzweiflung hier angemeldet.
Ich studiere seit 4 Wochen ET/IT und im Gegensatz zum Goßteil meiner Kommilitonen scheitere ich nicht an der Höheren Mathematik sonder verzweifle viel mehr über Informatik.Ich muss eine Programmieraufgabe bewältigen, von der ich jetzt die erste Teilaufgabe bewältigt habe, hoffe ich. Sie mag für andere einfach und banal sein, ich aber habe zunächst nicht mal den Anfang gefunden. Soetwas in der Art wurde in der Vorlesung gar nicht gezeigt, weshalb ich es mir mit Büchern angeeignet habe, aber ich bin mir nun nicht sicher, ob das überhaupt Sinn macht,was ich da tue. Es wäre sehr nett, wenn ihr mir sagen könntet, ob das wenigstens im Ansatz stimmt^^.
Aufgabe:
Aufgabe 1: Homer und der Fluss (11 Punkte)
Homer Simpson entdeckt in seinem Haus Ratten. Er will in der Stadt Rattengift besorgen
und nimmt Maggie als auch Knecht Ruprecht mit, da sie sonst alleine zuhause wären. KnechtRuprecht ist jedoch sehr an Maggies Kuschelhasen interessiert, während Maggie das Gift für bunte Bonbons hält und ständig danach greift. Deshalb hat Homer bei der Ruckfahrt nach Hause mächtige Probleme und baut einen Unfall am Fluss von Springfield. Um auf die andere Seite und damit nach Hause zu gelangen,findet Homer nur ein kleines Ruderboot. Er ist jedoch so dick, dass es ihm unmoglich ist, Maggie, Knecht Ruprecht und das Gift gleichzeitig
zu transportieren, da das Boot sonst kentern wurde. Allerdings muss Homer Maggie immer vom Gift trennen, da sie sich sonst vergiften wurde, und Knecht Ruprecht von Maggie, da er sich sonst an ihrem Kuschelhasen vergehen wurde.
In dieser Aufgabe soll ein Programm entwickelt werden, mit dem verschiedene Strategien interaktiv durchgespielt werden konnen.a) Erstellen Sie zunachst ein neues Projekt Aufgabe_4_1 und fügen Sie den Code aus der zur Verfugung gestellten Datei fluss.cpp hinzu. Erzeugen Sie ein
vierelementiges Array namens lage mit Eintragen vom Typ info. Die name-Eintrage der Arraykomponenten sollen mit "Homer", "Maggie", "KnechtRuprecht"
sowie "Gift" und die ort-Komponenten mit ufer1 initialisiert werden.naja und das was ich dann verbrochen habe sieht wie folgt aus:
#include "stdafx.h"
#include <iostream>
using namespace std;int main()
{
enum subjekte {Homer, Maggie, KnechtRuprecht, Gift};
enum ufer {ufer1, ufer2};struct info
{char name[15]; ufer ort;};
info Homer = {"Homer", ufer1};
info Maggie = { "Maggie", ufer1};
info KnechtRuprecht= {"KnechtRuprecht", ufer1};
info Gift = {"Gift", ufer1};info lage[4]= {Homer, Maggie, KnechtRuprecht, Gift};
system("pause");
return 0;};
ich weiß nicht, ob ich damit die Aufgabe gelöst habe oder nicht... wäre nett wenn ihr mir helfen könntet und ich weiß, dass es nicht gut ist gleich bei der leichtesten ersten Teilaufgabe stecken zu bleiben

lg
-
josite92 schrieb:
ich weiß nicht, ob ich damit die Aufgabe gelöst habe oder nicht...
Nun, was meinst du denn, wenn du die ca. 15 Compilerfehler liest, die dein Programm erzeugen sollte?
wäre nett wenn ihr mir helfen könntet und ich weiß, dass es nicht gut ist gleich bei der leichtesten ersten Teilaufgabe stecken zu bleiben

lgWas ist denn der vorgegebene Teil? Nicht, dass wir jetzt die Vorgabe ausbessern anstatt deinem Code.
Was allgemein ungewöhnlich oder falsch ist:
Wozu das enum Subjekte, wenn später name ein char[15] ist?
Warum ein name als char[15] statt einem string?
Wozu das struct info lokal in main?
Wozu die temporären Werte Homer, Maggie, KnechtRuprecht und Gift?
Warum haben diese temporären Werte Bezeichner, die schon vorher benutzt wurden?Wenn du diese Fragen klärst, dann bist du schon viel weiter.
-
Es ist alles gegeben außer:
info Homer = {"Homer", ufer1};
info Maggie = { "Maggie", ufer1};
info KnechtRuprecht= {"KnechtRuprecht", ufer1};
info Gift = {"Gift", ufer1};info lage[4]= {Homer, Maggie, KnechtRuprecht, Gift};
das habe ich geschrieben, um irgendwie dieses Array aus vier Elementen zu bekommen,das name und ort Einträge aus dem struct hat.
Naja und dadurch dass der Großteil von dem ganzen gegeben war, kann ich dir leider auch nicht auf die Fragen eine Antwort geben. Die Aufgabe hat halt noch drei weitere Teilaufgaben, die ich allerdings noch nicht bearbeitet habe.
Die Frage mit den Beziechnern, ist allerdings eine Gute, das war ein Versehen von mir ich habe mittlerweile mehrere Projekte, in denen ich verschiedene Sachen ausprobiert habe
eigentlich war ich schon soweit, dass ich die Bezeichner etwas abgeändert hatte:
info Homer1 = {"Homer", ufer1};
info Maggie1 = { "Maggie", ufer1};
info KnechtRuprecht1= {"KnechtRuprecht", ufer1};
info Gift1 = {"Gift", ufer1};info lage[4]= {Homer1, Maggie1, KnechtRuprecht1, Gift1};
-
ich habe für das ganze auch noch diese Version :
aber da bin ich mir noch unsicherer:
info lage[4]= {{"Homer", ufer1},{ "Maggie", ufer1},{"KnechtRuprecht", ufer1}, {"Gift", ufer1}};hier initialisiert man ja im Grunde den struct IM array...
-
josite92 schrieb:
ich habe für das ganze auch noch diese Version :
aber da bin ich mir noch unsicherer:
info lage[4]= {{"Homer", ufer1},{ "Maggie", ufer1},{"KnechtRuprecht", ufer1}, {"Gift", ufer1}};hier initialisiert man ja im Grunde den struct IM array...
Das ist doch schon sehr viel besser. Wozu Umwege gehen, wenn's auch direkt geht?
Das ist aber schon sehr ungewöhnlich diese Vorgabe. Siehe meine restlichen Fragen. Ist vermutlich kein besonders guter Kurs, wenn er so inkonsistent ist.
-
echt? das letzte ist legitim?!
naja ob der Kurs gut oder schlecht ist kann ich absolut nicht beurteilen, dazu habe ich einfach VIEL zuwenig Ahnung von dem Ganzen. Ich werde gerade zum ersten Mal in meinem Leben mit Informatik konfrontiert und tue mich damit halt sehr schwer. ^^
Aber danke für die schnelle Antwort!
Ich werde mich jetzt an den nächsten Teilaufgaben versuchen

-
und, alles geklappt oder noch fragen?