Partage
  • Partager sur Facebook
  • Partager sur Twitter

pendu

Sujet résolu
    20 février 2018 à 11:38:33

    s'il vous plait j'ai un petit problème le programme ne marche pas comme prévu 

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    
    
    int main(int argc, char const *argv[]){
    
    
    	char c[]="MARRON",lettre = 0;
    	int i =0,nbrcoups=10;
    do{
    	printf("devine");
    	scanf("%c",&lettre);
    
    	for (i=0;i<strlen(c);i++)
    	{
    		if (lettre == c[i])
    			printf("%c",lettre );
    		else {printf("*");
    		nbrcoups--;}
    	}
    
    }while(nbrcoups>0);
    
    	return 0;
    }



    • Partager sur Facebook
    • Partager sur Twitter
      20 février 2018 à 12:09:01

      salhimohamed3 a écrit:

      s'il vous plait j'ai un petit problème le programme ne marche pas comme prévu 



      Apprendre a décrire correctement un problème, c'est déjà faire la moitié du chemin pour trouver la solution.
      (ligne 14, la touche entrée - le caractère '\n' -reste dans le buffer quand tu saisis une lettre et fais un mauvais coup au tour suivant. Modifis en scanf("%c\n", &lettre) pour que scanf mange le retour chariot.

      -
      Edité par breizhbugs 20 février 2018 à 12:12:08

      • Partager sur Facebook
      • Partager sur Twitter
      ** La doc, c'est comme le PQ: ça sert à se démerder tout seul **
        20 février 2018 à 12:29:40

        merci beaucoup pour votre réponse j'étais justement entrain de lire le chapitre sur la saisie sécurisée et j'ai vu le problème du buffer ça doit être ça :)
        • Partager sur Facebook
        • Partager sur Twitter

        pendu

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown