Proggen Lernen über Beispielprojekt
-
Hallo Leute,
Ich hab meinen Einstieg in C++ so begonnen:
1: Kurt ein paar Grundlagen aus meinem Buch für Anfänger gelernt , dann hab ich mir nen Paar Konsolenaufgaben ausgedacht(natürlich noch relativ einfache)
wie z.B. ein Programm wo man x Strecke und y benötigte Zeit eingeben kann und der Compiler soll dann die km/h zahl ausrechnen( oder was ich auch ganz lustig fand nen Taschenrechner wo man seine Aufgabe im Dos eingeben muss). HaltDa ich ja bereits Erfahrungen gemacht habe, weiß ich, es ist am besten ne Programmiersprache zu lernen, indem man sich nen kleines Projekt aufhalst.
Da kann ich dir nur zustimmen
.
Na dann Prog ich doch einfach nen ganz einfaches Solitär über Grundbausteine der MFC.
Mal ne kleine Frage von einem noob, was genau ist das?
Mfg Kim
-
Erstmal danke für die Tipps
,
am C++ in 21 Tagen bin ich bereits dran
Habs als eBook.Bin gerade bei Kapitel 3.
Ok, also wenn ich das Buch durch hab (Bis auf die Kapitel Datenbanken etc.), steht nichts mehr meinem Vorhaben im Weg, oder???
gruß mercer
@Kim 92: Nen Standard Winows Denkerspiel: Felder aufdecken, Zahlen verraten dir Unter welchen sichere Felder sind, wenn du Falsches Feld aufdeckst
--> Bombe --> Game Over
-
mercer schrieb:
@Kim 92: Nen Standard Winows Denkerspiel: Felder aufdecken, Zahlen verraten dir Unter welchen sichere Felder sind, wenn du Falsches Feld aufdeckst
--> Bombe --> Game OverHä?
Solitär != Minesweeper
-
Oooops
Da hab ich jetzt was vertauscht:Klar minesweeper! Das wollt ich auch als mein Projekt vorschlagen...
man ist das peinlich
Solitär ist nen Standard Kartenspiel von Windows.
Also jetzt meine Frage auf neuer Grundlage:
Ist es sinnvoll als anfänger Minesweeper Proggen zu wollen um C++ zu lernen??gruß
-
C++ in 21 Tagen und Visual C++ in 21 Tagen sind sehr schlechte Bücher.
-
C++ in 21 Tagen und Visual C++ in 21 Tagen sind sehr schlechte Bücher.
Das Urteil ist sicher zu hart ausgefallen. Ich würde für C++ / MFC folgende Links empfehlen:
http://www.cpp-tutor.de/ (C++ und MFC)
http://tutorial.schornboeck.net/inhalt.htm
http://de.geocities.com/throni3/
http://www.volkard.de/Cpp/Tutorial/Einleitung/index.html
http://www.henkessoft.de/C++/MFC/mfc_einsteigerbuch_kapitel5.htm (MFC ohne Assi)
http://www.codeproject.com/ (Die Fundgrube überhaupt)
-
C++ in 21 Tagen und Visual C++ in 21 Tagen sind sehr schlechte Bücher.
Dem würde ich auch nicht zustimmen.
Denn ich hab durch die Online Version gestern etwas dazu gelernt, was ich vorher vergeblich versucht hatte zu lösen
Also würde ich sagen, das alles irgendwie brauchbar ist. Auch wenn man dadurch nicht immer den optimalsten Code sieht. Aber mal ehrlich, wer will das beurteilen? ( Faktor Mensch = Fehlerquelle )
Und schlussendlich, kann man sich ja nur weiterbilden, und seinen eigen Stil kann man auch nur entwerfen, wenn man Fehler macht.
Grüße Stipo
-
Also, Minesweeper ist imho schon ne gute Idee.
Man kann auch 2 Versionen machen, einen Dialog, eine SDI mit Selbermalen.Das kann man alles schön schrittweise ausbauen.
-
Naja... da finde ich Solitär schon besser... da lernt er auch direkt wie man mit Dlls umgeht usw... ist rel. einfach aber man lernt rel. viel
-
OOP und Pointer
Schau Dir diesbezüglich auch UML an. http://de.wikipedia.org/wiki/Komposition_(UML)
UML kennt 5 vordefinierte Relationen (Beziehungen): Assoziation, Aggregation, Komposition, Generalisierung, Refinement.
z.B. unterschiedliche Realisierung als Member, Zeiger, Referenz in einer Klasse:class Geldautomat { // ... // Assoziation / Aggregation : Zeiger Kartenleser* pKartenleser; // Komposition: Datenmember Tresor tresor; };
Marcus Bäckmann hat das mal schön zusammen gefasst:
Ein Auto hat ein Lenkrad (1-Komposition), einen Koffer im Kofferraum (0..1-Aggregation, kann ja kein Koffer da sein und der Koffer lebt auch ohne Auto weiter) und 4 Räder (4-Komposition), aber n-Insassen (n <= 5, n-Aggregation), was sich so abbildet:
class Auto { private: Lenkrad m_lenkrad; Koffer* m_pKoffer; // NULL bei 0, Zeiger bei einem Koffer Rad m_Rad[4]; // Anzahl fest, Komposition => normales Array std::vector<Person*> m_Insassen; // Anzahl dynamisch, Objekte leben weiter (Aggregation) };
Aggregation, 1 Element Referenz auf Objektinstanz
Aggregation, 0..1 Elemente Zeiger auf Objektinstanz, NULL zeigt 0 an
Aggregation, n Elemente Array aus Zeigern auf Objektinstanzen
Aggregation, 0..* Elemente dyn. Array (vector<T*>, list<T*>) aus Zeigern auf Objektinstanzen
Komposition, 1 Element Objektinstanz
Komposition, 0..1 Elemente Zeiger auf Objektinstanz, NULL zeigt 0 an
Komposition, n Elemente Array aus Objektinstanzen
Komposition, 0..* Elemente dyn. Array (vector<T>, list<T>) aus ObjektinstanzenListen sind stark darin, an beliebigen Stellen Elemente einzufügen und zu entfernen, dafür kannst du sie nur sequentiell durchlaufen (also nicht bspw. direkt auf das 10. Element zugreifen).
Vektoren dagegen haben diesen Random-Access, dafür ist das Einfügen und Entfernen in der Mitte oder am Anfang extrem ineffizient (am Ende Einfügen (push_back) ist OK)Nimm diese Stichworte mal auf und versuche das zu verstehen.
Ansonsten: http://de.wikipedia.org/wiki/Objektorientierte_Programmierung
-
Thx @all
Ich dank euch allen, ihr habt mir echt weitergeholfen in der Entscheidung, wie ich am besten an C++ rangehe.
Sobald ich mal das eBook und die ganzen von euch empfohlenen Tutorials durch hab, mach ich mich dann ans Werk.
Ich denke mal das ich dann doch Solitär progge.
Sobald ich dann soweit bin, werdet ihr sicherlich wieder von mir hören
Tschüss bis bald
gruß
-
Hi,
Solitär ist nen Standard Kartenspiel von Windows.
Ach das meinst du.....
War da mit den Gedanken ganz bei irgendnem C++ zeug.:DMfg Kim