Langage c

stark173 Messages postés 160 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
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 630 Date d'inscription   Statut Membre Dernière intervention   400
 
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 441 Date d'inscription   Statut Contributeur Dernière intervention   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