fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <time.h>
  5. #include <ctype.h>
  6.  
  7. int main(int argc, char *argv[])
  8. {
  9.  
  10. /* -------- Zufallszahlen */
  11. srand(time(NULL));
  12. int aufgabeAuswahl = rand() % 4;
  13.  
  14. /* -------- Aufgaben */
  15. char gesuchtesWort[100];
  16. char raetselWort[100];
  17.  
  18. /* -------- Zufaellige Auswahl einer Aufgabe */
  19. switch (aufgabeAuswahl) {
  20. case 0:
  21. strcpy(gesuchtesWort, "maus");
  22. strcpy(raetselWort, "____"); break;
  23. case 1:
  24. strcpy(gesuchtesWort, "tastatur");
  25. strcpy(raetselWort, "_______"); break;
  26. case 2:
  27. strcpy(gesuchtesWort, "flachbettscanner");
  28. strcpy(raetselWort, "________________"); break;
  29. case 3:
  30. strcpy(gesuchtesWort, "monitor");
  31. strcpy(raetselWort, "_______"); break;
  32. }
  33.  
  34. /* -------- Zaehler */
  35. int anzahlFehler = 0;
  36. int laenge = strlen(gesuchtesWort);
  37. int anzahlGesucht = laenge;
  38. int anzahlGefunden = 0;
  39.  
  40. /* -------- Eingabe */
  41. char eingabeBuchstabe;
  42.  
  43. printf("\n\n\tG A L G E N R A T E N\n");
  44.  
  45. while (anzahlGesucht > 0) {
  46. int gefunden = 0;
  47. printf("\n%s\n", raetselWort);
  48. printf("Anzahl Fehler: %i\n", anzahlFehler);
  49. printf("Einen Buchstaben eingeben: ");
  50.  
  51. /* -------- Eingabe */
  52. eingabeBuchstabe = getchar(); while (!feof(stdin) && !ferror(stdin) && getchar() != '\n');
  53.  
  54. /* -------- Buchstaben mit Aufgabe vergleichen */
  55. for (int i = 0; i < laenge; i++)
  56. {
  57. if (raetselWort[i] == '_' && gesuchtesWort[i] == tolower(eingabeBuchstabe))
  58. {
  59. raetselWort[i] = gesuchtesWort[i]; /* Unterstrich durch Eingabe ersetzen */
  60. printf("\tRichtig!\n");
  61. anzahlGesucht--;
  62. anzahlGefunden++;
  63. gefunden++;
  64. }
  65. }
  66.  
  67. if (anzahlGesucht == 0) puts("Loesung:"), puts(raetselWort);
  68. if (gefunden) continue;
  69.  
  70. if (++anzahlFehler >= 10)
  71. {
  72. printf("\nDu wurdest gehaengt!\n"); break;
  73. }
  74.  
  75. }
  76.  
  77. return 0;
  78. }
  79.  
Success #stdin #stdout 0s 2252KB
stdin
m
a
u
s
stdout

	G A L G E N R A T E N

____
Anzahl Fehler: 0
Einen Buchstaben eingeben: 	Richtig!

m___
Anzahl Fehler: 0
Einen Buchstaben eingeben: 	Richtig!

ma__
Anzahl Fehler: 0
Einen Buchstaben eingeben: 	Richtig!

mau_
Anzahl Fehler: 0
Einen Buchstaben eingeben: 	Richtig!
Loesung:
maus