[C/C++] !! zappage de scanf !!
Dernière réponse : dans Programmation
Bonjour à tous, alors voila je commence a apprendre le C/C++. Avec mes connaissances j'ai tenté de faire un jeu de pendu, seulement au début, ca me zappe un scanf qui demande quelle lettre doit être testée. voici mon code
en fait ca passe le scanf apres "quelle lettre voulez-vous tester ?" et ca termine directement le programme. merci d'avance.
#include <iostream>
#include <string.h>
long jeu(char* mot);
int main()
{
char mot[1000];
printf("\n\n");
printf("\t\t********************\n");
printf("\t\t* *\n");
printf("\t\t* JEU DU PENDU *\n");
printf("\t\t* *\n");
printf("\t\t********************\n\n");
printf("Rentrez le mot a rechercher. ");
scanf("%s",&mot);
for(long i=0;i<=40;i++)
{
printf("\n");
} // jusque là ca a juste affiché l'écran de présentation et ca a demandé quel était le mot a rechercher.
jeu(mot);
return 0;
}
long jeu(char* mot)
{
char lettreATester;
long i=0;
long longueurMot = strlen(mot);
longueurMot--;
printf("\t");
while(i<=longueurMot)
{
printf(" _");
i++;
} // ca affiche un certain nombre de tirets_bas en fonction de la longueur du mot a rechercher.
printf("\n");
printf("Quelle lettre voulez-vous tester ? ");
scanf("%c",&lettreATester);
}
en fait ca passe le scanf apres "quelle lettre voulez-vous tester ?" et ca termine directement le programme. merci d'avance.
Autres pages sur : zappage scanf
Lassé par la pub ? Créez un compte
Il faut effectivement, entre autre, mettre le
après le premier scanf
En revanche je suis étonné que ton code compile sans erreur alors que le prototype de ta fonction jeu est :
et que ta fonction ne retourne rien ...
fflush(stdin);
après le premier scanf
...
printf("Rentrez le mot a rechercher. ");
scanf("%s",&mot);
fflush(stdin);//-- ici --
for(long i=0;i<=40;i++)
{
...
En revanche je suis étonné que ton code compile sans erreur alors que le prototype de ta fonction jeu est :
long jeu(char* mot);
et que ta fonction ne retourne rien ...
Lassé par la pub ? Créez un compte