Langage c

bonjour je dois réaliser un programme :
- Je demande une chaine au clavier.
- Tant que cette chaine n'est pas « stop », j'augmente de 1 ma variable compteur, et je continue à demander une chaîne au clavier.
- A la fin, j'affiche le nombre de fois que j'ai demandé une chaine au clavier.

voici ce que j'ai fais:

int main()
{ int compteur = 0;
char mot[4];
char stop [4];

printf("Entrez un mot de quatre lettres\n");

scanf("%s", mot);

if (strcmp(mot,"stop") ==0)
{

printf("%d", compteur);

}
else
{
printf("%d", compteur++);
}
return 0;
}

qu'est ce qu'il ne va pas ? help please !

2 réponses

  1. Comme tu vois dans la consigne l'expression "Tant que", il faut que tu utilises une boucle de type While.

    En pseudo-code, il faudrait que tu fasses quelque chose comme:

    Lire une chaîne de caractères
    While (chaîne de caractères lue est différente de "STOP")
    {
    Incrémenter le compteur
    Lire de nouveau une chaîne de caractère
    }
    Afficher le compteur


    Bonne chance!
    1. Contributeur
      En plus de ce que dit DoctorC, il y a un autre problème avec tes variables.
      Il faut minimum 5 caractères. Il ne faut pas oublier qu'en C, une chaîne se termine par un caractère nulle '\0'.
      Et puis, tu peux rentrer n'importe quelle chaîne, donc autant mettre : char mot[32];
      De plus, ton char stop[4]; ne sert strictement à rien. Enlève-le.

      Cdlt,