Langage c

stark173 Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 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 627 Date d'inscription   Statut Membre Dernière intervention   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 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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