Volkards Tutorial
-
Hi ich mache jetzt gerade so ein Tutorial es heisst Volkards C++ Tutorial.
Aber hier wird so ein kleines Spiel erklärt aber ich versteh nicht warum das nicht geht
Also kennt jemand ein tutorial das besser als dieses ist?
Und ich proiere gerade das Programm#include <iostream.h> void main() { int anzahlDerMuenzen; // Eingabe der Anfangs-Münzenanzahl cout<<"Mit wievielen Muenzen fangen wir an? "; cin>>anzahlDerMuenzen; // endlosschleife while(true) { anzahlDerMuenzen=anzahlDerMuenzen-zugRechner(anzahlDerMuenzen); if(anzahlDerMuenzen==0) { cout<<"Ich habe gewonnen!"<<endl; return; }; anzahlDerMuenzen=anzahlDerMuenzen-zugMensch(anzahlDerMuenzen); if(anzahlDerMuenzen==0) { cout<<"Sie haben gewonnen!"<<endl; return; }; }; }; int zugMensch(int anzahlDerMuenzen) { int ergebnis; cout<<"Jetzt liegen "<<anzahlDerMuenzen<<" Muenzen auf dem Tisch."<<endl; cout<<"Wieviele moechten Sie nehmen? "; cin>>ergebnis; return ergebnis; }; int zugRechner(int anzahlDerMuenzen) { int wunschZug=anzahlDerMuenzen%4; if(wunschZug==0) return 1; else return wunschZug; };
Muss ich da villeicht die Bestimmung also zugmensch und zurechner vor das ganze Script setzen?
Gruss SImon
-
Hi,
was geht denn bei dem Programm nicht? Könntest du das genauer erläutern?
Gruß Crabbe
Simon9990 schrieb:
Muss ich da villeicht die Bestimmung also zugmensch und zurechner vor das ganze Script setzen?
Nein, das ist egal.
PS: Frag doch Volkard selbst
-
#include <iostream> using namespace std; int zugMensch(int anzahlDerMuenzen); int zugRechner(int anzahlDerMuenzen); int main() { ... cout<<"Ich habe gewonnen!"<<endl; return 0; ... cout<<"Sie haben gewonnen!"<<endl; return 0; ... }; int zugMensch(int anzahlDerMuenzen) { ... }; int zugRechner(int anzahlDerMuenzen) { ... };
So müßte es gehen...
-
gut das funtzt danke.
Nur noch ein Problem wieso funtzt es manchmal und dann wieder nicht?
Also einmal kann ich da dann eine Zahl eingeben und dann ein bisschen spielen und auf einmal schließt sich das Fenster und es ist Schlussgruss Simon
-
Simon9990 schrieb:
gut das funtzt danke.
Nur noch ein Problem wieso funtzt es manchmal und dann wieder nicht?
Also einmal kann ich da dann eine Zahl eingeben und dann ein bisschen spielen und auf einmal schließt sich das Fenster und es ist Schlussgruss Simon
Jojo, liegt wohl daran, dass das Consolen-Fenster am Ende des programms automatisch geschlossen wird. Setze hinter #include <iostream>, aber vor using anemspace std; ein #include <cstdlib> und dann schreibst du ganz am Ende deiner main()-Funktion
system("pause");
return 0;
funktioniert natürlich nur unter windoof
-
Alternative:
///////////////////////////////////////////////////////////////////// // Dateiname: // Revisionsdatum: // Version: // Autor(en): // Beschreibung: // // Versionsabfolge mit Änderungen: // #include <iostream> //... #include <conio.h> // wegen getch() using namespace std; // damit man nicht std::... schreiben muss int main() { // ... getch(); } // Ende der Datei - end of file /////////////////////////////////////////////////////////////////////
Hier noch ein moderneres Tutorial:
http://www.cpp-tutor.de/cpp/index.html
-
Dein Programm ist übrigens ziemlich stupide.
Zieh mal -50 Münzen und schau was dann passiert.
-
*gähn*
dieses programm ist ein LERN programm.
ein tutorial soll keine fertigen programme liefern, wohlmöglich noch, damit sie dem lehrer mal eben kopiert abgegeben werden können und als 'eigenes' verkauft werden können, sondern man soll auschnitte bekommen, um damit dinge zu verstehen.
danach muss man sich dann die mühe machen, denkend eigentändig weiter zu programmieren.
tja, ist nicht einfach, selber sachen zu entwickeln. aber volkards tutorial ist eines der wenigen, die ich kenne, die einem das eigenständige denken (nach durcharbeiten seiner seiten) beibringen.
wer jedoch nur fertigen funktionierenden code will, der wird es schwer haben.
übrigens im wahren leben nachher auchnatürlich ist das tutorial nicht ganz neu, damit verändert einfach immer die iostream.h und das void main, aber für denkende menschen auch kein problem
-
So schwer wäre das auch nicht, das Material auf Vordermann zu bringen.
-
Erhard Henkes schrieb:
So schwer wäre das auch nicht, das Material auf Vordermann zu bringen.
manchmal mag es sogar sinn machen, material unvollkommen zu lassen, um dem lernenden ein wenig "nachdenken" und "geschichtliches" beizubringen.
wie sonst soll man den lernenden beibringen, "älteren" code zu verstehen und benutzen zu können?
klar, neue bücher sollten dem standard entsprechen. aber geschichtsbewußtsein hilft auch, in die zukunft zu sehen. ladidaund mir kommt es sehr auf eine super didaktik an, und an keiner stelle stört mich ein "void main". und volkards kurs führt den lernenden, und ist keine sachaufreihung, wie das von dir gepostete tutorial oder viele andere im netz.
dieses "führen zum denken", dieses "anleiten" ist mehr wert als die alleinige aufzählung von tatsachen.na ja, vielleicht bin ich zu sehr pädagogin ...
-
und dann schreibst du ganz am Ende deiner main()-Funktion
system("pause");
return 0;
funktioniert natürlich nur unter windoofaua aua aua. bitte nicht so feste..mein armer schädel...
ein einfaches std::cin machts schon besser als system