Brauche Hilfe bei Galgenmännchen
-
also das ist eher eine mischung aus c und c++ aber evtl. nützlich
#include <iostream> #include <string.h> using namespace std; class galgenmaennchen{ private: char word[1024]; char found[1024]; char misses[1024]; int length; int guessCounter; int missesCounter; public: void setWordToGuess(){ cout << "Enter the word: "; cin >> word; cout << "Enter trys : "; cin >> guessCounter; length = strlen(word); resetFound(); resetMisses(); } void getWordToGuess(){ cout << "Word: " << word; } void showFound(){ cout << "Word: " << found << endl; } void resetFound(){ int l = length; found[l] = 0; while(l--){ found[l] = '_'; } } void resetMisses(){ int l = 1024; while(l--){ misses[l] = 0; } missesCounter = 0; } int isCharInWord(char c){ int ret = 0; int l = length; while(l--){ if(word[l]==c){ found[l] = c; ret = 1; } } if(ret==0) addMissedChar(c); return ret; } void showMissedChars(){ cout << "Misses: " << misses << endl; } void addMissedChar(char c){ misses[missesCounter++] = c; misses[missesCounter++] = ','; misses[missesCounter] = 0; } void guess(){ char cc; cout << endl << (guessCounter+1) << " trys left" << endl; showFound(); showMissedChars(); cout << "Guess: "; cin >> cc; isCharInWord(cc); } int isSolved(){ int l = length; while(l--) if(word[l]!=found[l]) return 0; return 1; } void startGuessing(){ setWordToGuess(); while(guessCounter--){ guess(); if(isSolved()){ cout << endl << "verry good you are a sentinel;)" << endl; return; } } cout << endl << "You are a looser..." << endl; cout << "The word was: " << word << endl; } }; int main(void){ galgenmaennchen gg; gg.startGuessing(); return 0; }lg lolo
-
thx für die hilfe aba mit einer mischung aus c und c++ komm ich leider nicht sehr weit .....
-
zaraki schrieb:
thx für die hilfe aba mit einer mischung aus c und c++ komm ich leider nicht sehr weit .....
Ich würde eher mal behaupten, der von dir gepostete Code ist eine Mischung aus C und C++, und das von noobLolo ist C++.
Kann mich aber auch irren
-
ich kann dir versichern dass mein code nur c ist da ich nur diese sprache beherrsche....

-
also mal davon abgesehn, dass ich selber näher an C als an C++ arbeite, so ist z.B. printf() nicht wirklich Standard-C++... (Da verwendet man eher cout.) In Verbindung mit cin (statt scanf() ) ergibt sich dann das totale Gemische.

-
Nein, beherrschst du ganz sicher nicht.
Das zeigt schon das
void main().
-
zaraki schrieb:
ich kann dir versichern dass mein code nur c++ ist da ich nur diese sprache beherrsche....

Da werden dir sehr viele Leute, die beides beherrschen, widersprechen. So auch ich. Dir wurde bloß fälschlicherweise beigebracht, dass das was du machst C++ wäre. Ist es aber nicht. Und es auch kein C. Es ist eine grauenhafte Mischung aus beidem, mit der du nie glücklich werden wirst.
Zu schade für dich, dass ein Wechsel des Kurses vermutlich nicht in Frage kommt. Falls doch: Sofort den Lehrer wechseln und alles vergessen was der alte dir beigebracht hat!
-
zaraki schrieb:
ich kann dir versichern dass mein code nur c++ ist da ich nur diese sprache beherrsche....

Dein Code ist nur C.
crt32 schrieb:
und das von noobLolo ist C++.
Soso:
Zeile 2, 98. AFAIK muss laut Standard in der main nichts returnt werden.
-
ich kann dir versichern dass mein code nur c++Ein printf wird nicht zu c++, nur weil es mittlerweile in eine andere header
ueberfuehrt wurde. Eine Kiwi wird ja auch nicht zur Banane, wenn man sie gelb anstreicht
-
Kóyaánasqatsi schrieb:
zaraki schrieb:
ich kann dir versichern dass mein code nur c++ ist da ich nur diese sprache beherrsche....

Dein Code ist nur C.
Er benutzt komischerweise ein paar Zeilen C++. Man muss aber schon genau hingucken, um sie zu finden:
#include <iostream> using namespace std; cin >>Eingabe;Abgesehen davon ist das restliche C natürlich ziemlich unportabel (
system("CLS")), fehleranfällig (Bufferoverflow, wenn jemand mehr als 50 Zeichen eingibt) und an einigen Stellen schlichtweg falsch (void main()).