#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <ctype.h>
int main( int argc, char * argv[ ] )
{
/* -------- Zufallszahlen */
int aufgabeAuswahl
= rand ( ) % 4 ;
/* -------- Aufgaben */
char gesuchtesWort[ 100 ] ;
char raetselWort[ 100 ] ;
/* -------- Zufaellige Auswahl einer Aufgabe */
switch ( aufgabeAuswahl) {
case 0 :
strcpy ( gesuchtesWort
, "maus" ) ; strcpy ( raetselWort
, "____" ) ; break ; case 1 :
strcpy ( gesuchtesWort
, "tastatur" ) ; strcpy ( raetselWort
, "_______" ) ; break ; case 2 :
strcpy ( gesuchtesWort
, "flachbettscanner" ) ; strcpy ( raetselWort
, "________________" ) ; break ; case 3 :
strcpy ( gesuchtesWort
, "monitor" ) ; strcpy ( raetselWort
, "_______" ) ; break ; }
/* -------- Zaehler */
int anzahlFehler = 0 ;
int laenge
= strlen ( gesuchtesWort
) ; int anzahlGesucht = laenge;
int anzahlGefunden = 0 ;
/* -------- Eingabe */
char eingabeBuchstabe;
printf ( "\n \n \t G A L G E N R A T E N\n " ) ;
while ( anzahlGesucht > 0 ) {
int gefunden = 0 ;
printf ( "\n %s\n " , raetselWort
) ; printf ( "Anzahl Fehler: %i\n " , anzahlFehler
) ; printf ( "Einen Buchstaben eingeben: " ) ;
/* -------- Eingabe */
/* -------- Buchstaben mit Aufgabe vergleichen */
for ( int i = 0 ; i < laenge; i++ )
{
if ( raetselWort
[ i
] == '_' && gesuchtesWort
[ i
] == tolower ( eingabeBuchstabe
) ) {
raetselWort[ i] = gesuchtesWort[ i] ; /* Unterstrich durch Eingabe ersetzen */
anzahlGesucht--;
anzahlGefunden++;
gefunden++;
}
}
if ( anzahlGesucht
== 0 ) puts ( "Loesung:" ) , puts ( raetselWort
) ; if ( gefunden) continue ;
if ( ++ anzahlFehler >= 10 )
{
printf ( "\n Du wurdest gehaengt!\n " ) ; break ; }
}
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8dGltZS5oPgojaW5jbHVkZSA8Y3R5cGUuaD4KCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCnsKCgkvKiAtLS0tLS0tLSBadWZhbGxzemFobGVuICovCglzcmFuZCh0aW1lKE5VTEwpKTsKCWludCBhdWZnYWJlQXVzd2FobCA9IHJhbmQoKSAlIDQ7CgoJLyogLS0tLS0tLS0gQXVmZ2FiZW4gKi8KCWNoYXIgZ2VzdWNodGVzV29ydFsxMDBdOwoJY2hhciByYWV0c2VsV29ydFsxMDBdOwoKCS8qIC0tLS0tLS0tIFp1ZmFlbGxpZ2UgQXVzd2FobCBlaW5lciBBdWZnYWJlICovCglzd2l0Y2ggKGF1ZmdhYmVBdXN3YWhsKSB7CgljYXNlIDA6CgkJc3RyY3B5KGdlc3VjaHRlc1dvcnQsICJtYXVzIik7CgkJc3RyY3B5KHJhZXRzZWxXb3J0LCAiX19fXyIpOyBicmVhazsKCWNhc2UgMToKCQlzdHJjcHkoZ2VzdWNodGVzV29ydCwgInRhc3RhdHVyIik7CgkJc3RyY3B5KHJhZXRzZWxXb3J0LCAiX19fX19fXyIpOyBicmVhazsKCWNhc2UgMjoKCQlzdHJjcHkoZ2VzdWNodGVzV29ydCwgImZsYWNoYmV0dHNjYW5uZXIiKTsKCQlzdHJjcHkocmFldHNlbFdvcnQsICJfX19fX19fX19fX19fX19fIik7IGJyZWFrOwoJY2FzZSAzOgoJCXN0cmNweShnZXN1Y2h0ZXNXb3J0LCAibW9uaXRvciIpOwoJCXN0cmNweShyYWV0c2VsV29ydCwgIl9fX19fX18iKTsgYnJlYWs7Cgl9CgoJLyogLS0tLS0tLS0gWmFlaGxlciAqLwoJaW50IGFuemFobEZlaGxlciA9IDA7CglpbnQgbGFlbmdlID0gc3RybGVuKGdlc3VjaHRlc1dvcnQpOwoJaW50IGFuemFobEdlc3VjaHQgPSBsYWVuZ2U7CglpbnQgYW56YWhsR2VmdW5kZW4gPSAwOwoKCS8qIC0tLS0tLS0tIEVpbmdhYmUgKi8KCWNoYXIgZWluZ2FiZUJ1Y2hzdGFiZTsKCglwcmludGYoIlxuXG5cdEcgQSBMIEcgRSBOIFIgQSBUIEUgTlxuIik7CgoJd2hpbGUgKGFuemFobEdlc3VjaHQgPiAwKSB7CgkJaW50IGdlZnVuZGVuID0gMDsKCQlwcmludGYoIlxuJXNcbiIsIHJhZXRzZWxXb3J0KTsKCQlwcmludGYoIkFuemFobCBGZWhsZXI6ICVpXG4iLCBhbnphaGxGZWhsZXIpOwoJCXByaW50ZigiRWluZW4gQnVjaHN0YWJlbiBlaW5nZWJlbjogIik7CgoJCS8qIC0tLS0tLS0tIEVpbmdhYmUgKi8KCQllaW5nYWJlQnVjaHN0YWJlID0gZ2V0Y2hhcigpOyB3aGlsZSAoIWZlb2Yoc3RkaW4pICYmICFmZXJyb3Ioc3RkaW4pICYmIGdldGNoYXIoKSAhPSAnXG4nKTsKCgkJLyogLS0tLS0tLS0gQnVjaHN0YWJlbiBtaXQgQXVmZ2FiZSB2ZXJnbGVpY2hlbiAqLwoJCWZvciAoaW50IGkgPSAwOyBpIDwgbGFlbmdlOyBpKyspCgkJewoJCQlpZiAocmFldHNlbFdvcnRbaV0gPT0gJ18nICYmIGdlc3VjaHRlc1dvcnRbaV0gPT0gdG9sb3dlcihlaW5nYWJlQnVjaHN0YWJlKSkKCQkJewoJCQkJcmFldHNlbFdvcnRbaV0gPSBnZXN1Y2h0ZXNXb3J0W2ldOyAvKiBVbnRlcnN0cmljaCBkdXJjaCBFaW5nYWJlIGVyc2V0emVuICovCgkJCQlwcmludGYoIlx0UmljaHRpZyFcbiIpOwoJCQkJYW56YWhsR2VzdWNodC0tOwoJCQkJYW56YWhsR2VmdW5kZW4rKzsJCQoJCQkJZ2VmdW5kZW4rKzsKCQkJfQoJCX0KCgkJaWYgKGFuemFobEdlc3VjaHQgPT0gMCkgcHV0cygiTG9lc3VuZzoiKSwgcHV0cyhyYWV0c2VsV29ydCk7CgkJaWYgKGdlZnVuZGVuKSBjb250aW51ZTsJCQoKCQlpZiAoKythbnphaGxGZWhsZXIgPj0gMTApCgkJewoJCQlwcmludGYoIlxuRHUgd3VyZGVzdCBnZWhhZW5ndCFcbiIpOyBicmVhazsKCQl9CgoJfQoKCXJldHVybiAwOwp9Cg==