Langage c

stark173 Messages postés 160 Statut Membre -  
fiddy Messages postés 11653 Statut Contributeur -
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 !
A voir également:

2 réponses

Doctor C Messages postés 648 Statut Membre 399
 
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!
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
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,
0