Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Brauche hilfe bei Galgenmännchen Programm

Empfohlene Antworten

Veröffentlicht

Quelltext:

#include "stdafx.h"

#include <iostream>

#include <ctype.h>

using namespace std;

void main()

{

char EingabeWort[50], Eingabe;

int Versuche = 0, i = 0;

printf("--------------Buchstaben-Galgen--------\n");

printf("Spieler 1\n");

printf("Bitte ein Wort eingeben, das von Spieler 2 erraten werden soll:\n");

fflush(stdin);

gets(EingabeWort);// Eingabe des zu erratenen Wortes

system("CLS");// löschen des Bildschirms

Versuche = strlen(EingabeWort);// Einlesen der Wortlänge

printf("Du hast %d Versuche um das Wort zu erraten\n",Versuche);// Ausgabe der Versuche gerichtet an der Wortlänge

for(i=0;i<Versuche;i++)// Wiederholung zur Eingabe von den Buchstaben

{

printf("Spieler 2\n");

printf("Bitte einen Buchstaben eingeben:\n");

cin >>Eingabe;

if(Eingabe == EingabeWort)

{

printf("Gut gemacht!!! Der eingegebene Buchstabe ist richtig!!!\n");

}

else

{

printf("Schlecht!! Der Buchstabe ist nicht richtig!!!!XD\n");

}

}

}

Hier soll spieler eins ein wort eingeben. Danach soll Spieler zwei so viele Buchstaben raten können wieviel Stellen das zu erratende Wort hat.

Das Problem ist das die Buchstaben nach der Reihe geprüft werden und nicht komplett.

Bitte um schnelle Antwort

ja das ist mir schon klar bloß wie ich dass dann umsetze...

(Eingabe == EingabeWort)

mit dieser Prüfung schau ich ob der Buchstabe mit dem Wort übereinstimmt.

bloß wie schreibe ich die Prüfung damit alle Buchstaben geprüft werden??

mit dieser Prüfung schau ich ob der Buchstabe mit dem Wort übereinstimmt.
Nein, du prüfst, ob der Buchstabe mit einem ganz bestimmten Buchstaben des Worts übereinstimmt.

bloß wie schreibe ich die Prüfung damit alle Buchstaben geprüft werden??
Du musst diese Prüfung für jeden Buchstaben machen, nicht nur für einen. Die Prüfung muss also für jeden Buchstaben des Worts wiederholt werden. Wiederholungen setzt man üblicherweise mit einer Schleife um.

Edit kann man net mal 10min afk sein ohne das einer vor einem schreibt ^^

1. es seht nirgents um welche programmiersprache es geht. aber ich nehme Stark an C++

2. falscher Bereich bitte Moven

3. Den Code Tag verwenden.

und 4. hab kein 4.ens ^^

zu deinem Problem erstens du kannst die Corkompilierte Header datei aus deinem Projekt raus schmeißen die brauchst du jetzt noch net erst bei größeren Projekten mit mehreren Dateien

zu deinem Problem. Überlege doch einmal bitte was du genau machst ? Du überprüfst ob ein Buchstabe dem anderen Gleicht und gibst sofort aus ob der richtig ist oder nicht. Ohne vorher die anderen mit diesem Buchstaben zu vergleichen. Tipp: Hast du schon mit While Schleifen Gearbeitet?

Desweiteren habe ich einen Logikfehler bei dir entdeckt. Der Jenige hat nur so viele Chancen wie das Wort lang ist? ist das nicht ein bischen Wenig?

Galgenman geht bei mir normalerweise so ^^

___

| |

| \O/

| |

| /\

/\

Quelltext:

#include "stdafx.h"

#include <iostream>

#include <ctype.h>

using namespace std;

void main()

{

char EingabeWort[50], Eingabe;

int Versuche = 0, i = 0, j = 0;

printf("--------------Buchstaben-Galgen--------\n");

printf("Spieler 1\n");

printf("Bitte ein Wort eingeben, das von Spieler 2 erraten werden soll:\n");

fflush(stdin);

gets(EingabeWort);// Eingabe des zu erratenen Wortes

system("CLS");// löschen des Bildschirms

Versuche = strlen(EingabeWort);// Einlesen der Wortlänge

printf("Du hast %d Versuche um das Wort zu erraten\n",Versuche);// Ausgabe der Versuche gerichtet an der Wortlänge

for(i=0;i<Versuche;i++)// Wiederholung zur Eingabe von den Buchstaben

{

printf("Spieler 2\n");

printf("Bitte einen Buchstaben eingeben:\n");

cin >>Eingabe;

for(j=0;j<Versuche;j++)

{

if(Eingabe == EingabeWort[j])

{

printf("Gut gemacht!!! Der eingegebene Buchstabe ist richtig!!!\n");

}

else

{

printf("Schlecht!! Der Buchstabe ist nicht richtig!!!!XD\n");

}

}

}

so?

@chooter696:

das mit den Versuchen passt schon.

}

Bearbeitet von zekee

1. es seht nirgents um welche programmiersprache es geht. aber ich nehme Stark an C++
Ja, cin und cout sind in anderen Sprachen selten.

Der wilde Mischmasch von printf und C++-Streams ist aber zugegebenermaßen ziemlich merkwürdig.

Quelltext:
Benutz bitte Code-Tags.

Zum Code: Jetzt hast du zwar eine Wiederholung, aber du machst bei jedem Durchlauf dasselbe: Du vergleichst immer mit dem i-ten Buchstaben.

Außerdem musst du dir überlegen, was du aus dem Vergleichsergebnis folgern kannst. Dass beispielsweise die Eingabe nicht mit dem ersten Buchstaben übereinstimmt, heißt nicht, dass nicht weiter hinten doch noch eine Übereinstimmung besteht.

Und wie bereits gesagt, du musst irgendwo speichern, welche Buchstaben bereits gefunden wurden.

Vielleicht machst du dir den Algorithmus erst mal auf dem Papier klar, der ist nämlich nicht ganz trivial.

da ich nur it-systemelektronier im ersten lehrjahr bin blicke ich da noch nicht so durch, leider..

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.