Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Brotkeks

Frischling

  • »Brotkeks« ist der Autor dieses Themas

Beiträge: 26

Beruf: Azubi/Student

  • Private Nachricht senden

1

25.08.2015, 11:12

Gelöst, aber allgemein Frage

Hallo :)

Ich habe gerade das Listing 4.11 aus dem Buch genommen.
Jedes Mal kommt folgende Fehlermeldung: IntelliSense: ""cout"" ist mehrdeutig.

EDIT: Okay, Fehler wieder selbst gefunden. Irgendwie seh ich das manchmal hier besser als im Programm.
Dann aber vielleicht mal eine allgemeine Frage:
Wie kommt ihr mit dem Lernen im Allgemeinen zurecht?
Ich merke im Moment, dass ich das gleiche Problem habe wie schon immer in Mathe in der Schule: Ich verstehe soweit alles, das ergibt auch immer total Sinn wenn ich das lese, auch ohne Erklärung kann ich sagen, was welche Zeile gerade macht. Sobald es aber darum geht, dass ich etwas selbst machen soll (zum Beispiel die Aufgaben im Buch) komme ich kaum voran. Ich versuche, das Ganze langsam anzugehen, sodass sich das Wissen laaangsam setzen kann und damit auch bleibt und nicht nur für den Moment zu lernen... aber wie gesagt, sobald es darum geht alleine auf etwas zu kommen weiß ich kaum weiter.
Wie geht es euch da? Hat da vielleicht jemand einen Tipp?

Liebe Grüße und Danke an alle, die sich die Mühe mit dem Problem gemacht haben ;)

:)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Brotkeks« (25.08.2015, 11:29)


Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

25.08.2015, 11:54

Das ist ganz normal. Da hilft einfach nur Praxis. Mach viel selbst. Probier alles aus. Auch neben den Aufgaben kannst du versuchen dir selbst kleine Aufgaben zu stellen. Das was du am Anfang programmierst muss nicht immer einen tieferen logischen Sinn haben. Es reicht ja erst mal alles anzuwenden. Wenn du dich zum Beispiel das erste mal mit Schleifen beschäftigst, dann kannst du versuchen die Zahlen von 0 bis 1000 auszugeben. Danach die Zahlen von 20 bis 1000. Dann nur jede 3te Zahl. Dann mal alle Zahlen in absteigender Reihenfolge. Dann kannst du versuchen damit die Fakultät von einer Zahl zu berechnen. Du kannst versuchen die Zahlen aufsteigend auszugeben deren Fakultät kleiner als 1.000.000 ist. Man kann im Prinzip endlos so weiter machen. In diesen Fällen könnte man die "Aufgaben" mit allen dir bekannten Schleifentypen lösen.
Wenn du bei Polymorphie bist dann kannst du einfach mal irgendwelche Klassen schreiben die voneinander erben. Diese Klassen müssen nicht unbedingt sinnvoll sein. Es reicht wenn sie ein paar Funktionen besitzen die einen Text ausgeben. Jetzt spielst du mit denen ein wenig rum und guckst was passiert wenn du deren Methoden überschreibst, was ein virtual Destruktor bringt, allgemein, wann wird welcher Konstruktor aufgerufen. Im Prinzip das was in deinem Buch stehen sollte einfach mal selbst anwenden. Jetzt kannst du dir ein paar Anwendungsfälle überlegen. Mach eine Basisklasse für ein Fahrzeug. Leite davon ein Motorrad und ein Auto ab. Denk dir noch andere Fahrzeugtypen aus. Versuch einfach mal selbst zu überlegen wie du die Klassenhierarchie sinnvoll einteilen könntest. Die Funktionen der Klassen müssen auch hier nicht viel machen. Es reicht wenn sie ein paar Ausgaben auf der Konsole liefern. Zum Beispiel könnte eine Klasse für ein Fahrzeug eine Funktion StarteMotor haben. Die Ausgabe könnte bei einem Auto dann "Motor des Autos wurde gestartet" sein. Im Prinzip ist das egal. Hauptsache du wendest das was du da liest einfach mal an.
Wenn du dann die Syntax grundlegend drauf hast und weißt wie du eine for Schleife anwendest oder wie du eine Klasse schreibst etc, dann kannst du dich langsam an richtige Aufgaben begeben. Das könnte zum Beispiel ein kleines Spiel sein. Ab dem Punkt kann man sich ja mal an Pong oder Breakout versuchen. Da sollte es dann aber eher darum gehen dass du lernst Probleme zu lösen und weniger darum wie du welches Konstrukt der Sprache benutzt.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

cojo2015

Alter Hase

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

3

25.08.2015, 15:40

Ich hatte am Anfang auch diese Probleme und da hat Schorsch recht, dass nur Praxis hilft. Ich dachte mir, dass das ja nicht so schwer sein kann. Am Anfang war es okay, aber als ich einiges besser verstanden hatte, gingen mir die Projektideen aus, weil ich schon so vieles gemacht hatte (Von eigener Menüführung bis zu Vokabeltrainern und auch irgendwelchen Generatoren...). Das mag jetzt etwas komisch klingen, aber ich bin ahlt nicht sehr kreativ und ich brauche halt eher Vorschläge, was ich programmieren soll, als mir was auszudenken. Ich weiß nicht, wem es hier noch so geht, aber wenn es jemanden da gibt, der weiß, was ich meine... Ist ein blödes Gefühl...

Brotkeks

Frischling

  • »Brotkeks« ist der Autor dieses Themas

Beiträge: 26

Beruf: Azubi/Student

  • Private Nachricht senden

4

25.08.2015, 16:17

Schön zu hören, dass man nicht alleine ist :)

Bei mir mangelt es auch manchmal an der Kreativität. Klar, ich kann im Menü andere Punkte wählen -> wird aber auch irgendwann langweilig, wenn ihr versteht.

Mir machen die Übungsaufgaben im Moment nur sehr zu schaffen. Ich habe am Anfang ne Idee, wie ich das machen könnte... und dann fängt es bei der Umsetzung schon da an, dass ich nicht weiß wie genau ich überhaupt anfangen soll. Welche Variablen machen Sinn etc. und wenn ich es dann versuche, scheitere ich. Daraus ziehe ich dann natürlich den Schluss, dass ich noch nicht so weit bin und wiederhole das gesamte Kapitel. Verstehe auch wieder alles, leuchtet mir alles ein. Wiederhole bestimmte Absätze dann sogar mehrmals, verstehe sie dadurch aber auch nicht besser (da ich sie ja zuvor schon vollkommen verstehe)...sobald ich sie aber dann wieder anwenden soll: Pusteblume...
Aber vielleicht kommt sowas echt mit Zeit.
Wenn man zum 20. Mal ein Menü programmiert macht man das auch irgendwann im Schlaf... ist trotzdem irgendwie immer frustrierend wenn man nicht genau weiß, wie man das Wissen SOFORT festigen kann, sich dann doch die Lösung ansieht und dort steht, man solle das Kapitel am besten zum 100. Mal lesen, wenn man es nicht alleine geschafft hat ....

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

5

25.08.2015, 16:31

Das bringt dich auch nicht unbedingt weiter wenn du das Kapitel noch 10 mal liest. Möglicherweise hast du die Dinge die vorher kamen einfach noch nicht genug gefestigt. Versuch bei deinen ersten Schritten vielleicht nicht zu viel voraus zu planen. Fang an und versuch das Problem Schritt für Schritt zu lösen. Oft kann man Probleme in viele kleine Probleme splitten welche man für sich allein gesehen einfacher lösen kann. Schreib doch einfach das nächste mal wenn du nicht weiter kommst hier und vielleicht können wir dir dabei helfen selbst zum Ziel zu kommen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Brotkeks

Frischling

  • »Brotkeks« ist der Autor dieses Themas

Beiträge: 26

Beruf: Azubi/Student

  • Private Nachricht senden

6

25.08.2015, 16:45

Ich bin mir eigentlich ziemlich sicher, dass ich all die Sachen vorher genauso wenig gefestigt habe, aber das ist ja gerade das Problem bei mir. Ich weiß nicht wie ich daran gehen soll, diese zu festigen. Das war auch immer mein Problem in der Schule.

Ich habe heute begonnen nochmal ganz von vorne anzufangen. Eventuell schreib ich gewisse Dinge auch einfach mal ganz altmodisch mit einem Zettel und einem Stift auf. Wäre zumindest ein Anfang, mal auszuprobieren, wie ich sowas besser lernen kann.

Das mit dem Splitten ist ne gute Idee. So bin ich die Sachen ehrlich gesagt noch nicht angegangen, obwohl es ja eigentlich n ziemlich logischer und vielleicht auch offensichtlicher Schritt ist....

Und beim nächsten Mal werde ich mich dann vielleicht wirklich einfach an euch wenden... danke dafür im übrigen :)

Unbegabt83

Frischling

Beiträge: 22

Wohnort: Mörfelden-Walldorf

Beruf: habe ich

  • Private Nachricht senden

7

13.01.2017, 15:59

Auch wenn das Thema schon ewig alt ist, muss ich das noch einmal auspacken.

Wie schon oben von Brotkeks beschrieben und von den Kommentatoren bestätigt geht das vielen so.

Mir leider auch.

Ich bin eigentlich schon in Kapitel 6 angekommen und habe mir jetzt die Aktuelle Ausgabe (5. Auflage) geholt und dachte, ach weißte alter sack,
schadet nicht nochmal von vorne zu beginnen. Tja was soll ich sagen, ich habe nicht einmal ein Menü hinbekommen :D schaue ich dann ins Kapitel
3.11 "Schleifen mit while oder do while" denk ich mir nur oh man alter Mann das ist doch so easy.

Was mir persönlich hilft, das habe ich die letzten Wochen echt gut gemerkt, Programme als Reintext aufschreiben und/oder als Ablauf Diagramm (wobei Herr Kalista
ja schon schreibt das man dafür eigentlich ein eigenes Kapitel machen könnte. Wer es mal probiert hat weiß auch das er Recht hat :) ) Und wie ich jetzt immer anfange ist auch schon von ihm beschrieben, erst einmal das Grundgerüst aufbauen. Include namespace und main definieren/deklarieren und während ich das schreiben kommt mir automatisch was ich machen will. Außerdem wer in Visual Studio 2015 Community schreibt (ich weiß nicht ob das in älteren Versionen oder anderen IDE´s genauso ist) hat den Vorteil wenn man z.B. eine Funktion per Prototyp deklariert kann man mit einem kleinem Klick auf die Glühlampe automatisch die Funktion am Ende der main Funktion schreiben bzw. definieren.

Also alles zusammen gesagt, NICHT VERZWEIFELN!!!!! Übung macht den Meister und wie schon so oft erwähnt und auch in anderen Themen gelesen üben üben üben auch wenn das Programm/Spiel noch so doof und blödsinnig erscheint. Programmieren ist Try and Error oder learning by doing.

Korowai

unregistriert

8

13.01.2017, 18:41

Hi,

also, eine Sprache wie c++ zu beherrschen, da sehe ich es nicht so, dass man alles auswendig beherrschen muss. Ich habe das Buch von Heiko einmal durchgelesen ohne die Listings zu schreiben. Danach habe ich mit meinem Projekt begonnen, und immer dann, wenn ich etwas brauchte, habe ich mich daran gemacht, zu überlegen, wie es am besten umsetzbar ist. Viele Wege führen nach Rom. Dann habe ich das Buch genommen und nachgesehen, wie das geht. Wenn man das im Laufe des Projekts, beim coden, ein paar Mal macht, dann weiß man es irgendwann. Ich käme nicht auf die Idee, ein Buch auswendig zu lernen.
Man sollte wissen, was es gibt und was es bewirkt, und den code dazu schraubt man sich dann zurecht, bis es sitzt. So gelangt vom struct zur class zum vector etc...

Kalistas Buch war mein Einstiegsbuch, und es ist für Neulinge wirklich sehr gut. Wer hängen bleibt und weiter macht, sollte dann aber doch andere, vertiefende Bücher und Tutorials zur Hand nehmen.

Heiko schreibt ja selbst an mehreren Stellen, dass er nicht jeden Befehl, jeden Funktionsaufruf auswendig kann...

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

9

13.01.2017, 18:53

also, eine Sprache wie c++ zu beherrschen, da sehe ich es nicht so, dass man alles auswendig beherrschen muss. Ich habe das Buch von Heiko einmal durchgelesen ohne die Listings zu schreiben

Die Sacher ist aber dass Heiko wirklich nur absolute Basics zeigt. Bis auf ganz wenige Ausnahmen wie Singleton, SDL ist das tatsächlich alles ziemlich wichtig. Mag sein dass du so gut voran kommst, das muss aber nicht für jeden gelten. Und am Ende kann man natürlich Probleme irgendwie lösen, wenn bestimmte Konzepte aber nicht bekannt und vernünftig verstanden sind kann man sie aber nicht unbedingt schön lösen. Schön bedeutet jetzt weniger dass man sich am Ende auf die Schulter klopfen kann und denkt, oh sieht das toll aus, sondern dass der Code gut strukturiert, verständlich, vielleicht sogar erweiterbar, wartbar und vieles weiteres ist.
Deshalb würde ich dir raten immer mal wieder im Buch zu blättern damit Dinge wie Polymorphie am Ende auch vernünftig verstanden sind.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Korowai

unregistriert

10

13.01.2017, 19:01

Ne ne, da hast Du mich falsch interpretiert. Ich wende mich nur gegen stupides Auswendiglernen. Aber lesen und begreifen sollte man auf jeden Fall. Und sich merken, was es gibt und wie es angewendet wird.

Das Auswendigkönnen kommt durchs Anwenden. :)

Werbeanzeige