Jeu du pendu

Fermé
Nirolac Messages postés 11 Date d'inscription jeudi 28 juillet 2016 Statut Membre Dernière intervention 22 décembre 2016 - 28 juil. 2016 à 14:04
Nirolac Messages postés 11 Date d'inscription jeudi 28 juillet 2016 Statut Membre Dernière intervention 22 décembre 2016 - 28 juil. 2016 à 18:17
Bonjour à tous !

Je vous sollicite aujourd'hui à cause d'un problème sur l'exercice du pendu le problème est que lors de la première entré d'un caractère il n' y a pas de problème par contre lorsqu'on entre un second caractère le programme s'arrête, je pense que le problème est l'emplacement de la fonction pour entré un caractère (du moins je pense :D), quelqu'un aurai t'il l'amabilité de m'aider svp ?

voici mon code :
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char lireCaractere() 
{ 
    char caractere = 0;
 
    caractere = getchar(); 
    while (getchar() != '\n') ;
 
    return caractere; 
}

int main(int argc, char *argv[]){
	char c = 0;
	char motSecret[] = "marronier";
	int i = strlen(motSecret);
	printf("\n");
	int k =2;
	printf("%c",motSecret[0]);
	while(i >= k){
		if(k != i){
			printf("*");
		}else{
			printf("%c",motSecret[i - 1]);
		}
		++k;
	}
	printf("\n");
	c = lireCaractere();
	int cpt = 1;
	printf("%c",motSecret[0]);
		while(i-1 >= cpt){
			if(cpt != i-1){
				if(c == motSecret[cpt]){
					printf("%c",c);
				}else{
					printf("*");
				}
			}else{
				printf("%c",motSecret[i - 1]);
			}
			++cpt;
		}
		c = lireCaractere();
		printf("\n");
		return 0;
	}


Bonne journée
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
28 juil. 2016 à 17:57
Bonjour,

Normal que le programme s'arrête, tu n'as pas fait de boucle de lecture (la ligne c=lireCaractere est en dehors du while.

Note, comment comptes-tu afficher petit à petit les lettres découvertes par l'utilisateur à la place des étoiles ? Car là, tu es parti pour n'afficher que le dernier caractère découvert par l'utilisateur.
Généralement, on utilise une autre chaîne de caractères pour cela
0
Nirolac Messages postés 11 Date d'inscription jeudi 28 juillet 2016 Statut Membre Dernière intervention 22 décembre 2016
28 juil. 2016 à 18:17
Bonjour fiddy oui du coup j'ai avancé dessus et j'ai changé un peu mon code, oui je viens de voir que ça n'affichera qu'un seul caractère à la fois merci de me l'avoir signalé je vais utilisé une seconde chaîne de caractère et je mettrai ensuite mon code
Bonne journée
0