Initialisation d'une variable
eugenieraza
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
eugenieraza -
eugenieraza -
Bonjour,
le nombreMystere. Mon problème est que mon compteur ne se met jamais à 0 alors que je l'ai initialisé à 0
voici mon code :
Merci de votre aide.
eugenieraza
le nombreMystere. Mon problème est que mon compteur ne se met jamais à 0 alors que je l'ai initialisé à 0
voici mon code :
#include <stdio.h> #include <stdlib.h> #include <time.h> int main( int argc, char *argv[] ) { int nombreMystere = 0, nombreEntre = 0 ; const int MAX = 100, MIN = 1 ; srand(time(NULL) ); nombreMystere = rand() % (MAX-MIN+1) + MIN ; int coups=0; printf("coups = %d, coups\n"); do { printf("Quel est le nombre?\n"); scanf("%d", &nombreEntre); if(nombreEntre>nombreMystere) printf("c'est moins\n"); else if (nombreEntre<nombreMystere) printf("c'est plus\n"); coups++; } while(nombreEntre != nombreMystere); if (nombreEntre = nombreMystere); printf("Bravo, vous avez trouvé le nombre en , %d,coups\n"); return 0; }
Merci de votre aide.
eugenieraza
A voir également:
- Initialisation d'une variable
- Échec de l’initialisation de l’inscription du certificat scep - Forum PC portable
- L'initialisation du rockstar games launcher a échoué ✓ - Forum Jeux PC
- Erreur d'initialisation de l'application adobe reader ✓ - Forum Téléchargement
- Variable d'environnement temp - Forum Word
- GTA V a quitté inopinément - Forum Jeux PC
1 réponse
'lut, normal, tu as oublié de donner le compteur à printf!
De plus, ton if est erroné (attribution au lieu de comparaison) mais de toute façon inutile: 1. il évalue toujours à
from human import idiocy
del idiocy
printf("Bravo, vous avez trouvé le nombre en %d coups\n", coups);
De plus, ton if est erroné (attribution au lieu de comparaison) mais de toute façon inutile: 1. il évalue toujours à
truevu que le nombre mystère ne peut pas être 0 (une attribution renvoie son résultat, qui n'évalue à
falseque si c'est 0), et 2. si tu es sorti du while c'est que le nombre rentré était bon.
from human import idiocy
del idiocy
j'aurai une autre question . le temps de retrouver le code. c'est une décrémentation qui se fait de 2 en 2 au lieu de 1 en 1!
Je refais le corrigé et je vous tiens au courant. Eugenieraza
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main( int argc, char** argv [])
{
int nombremystere = 0, nombreentre = 0, compteurdecoups = 0;
printf("compteur = %d\n",compteurdecoups);
const int MAX = 100, MIN = 1;
srand(time(NULL));
nombremystere = (rand () % (MAX - MIN + 1)) + MIN;
do
{
printf("Quel est le nombre ? ");
scanf("%d", &nombreentre);
compteurdecoups++;
printf("compteur = %d\n",compteurdecoups);
if (nombremystere > nombreentre)
printf("C'est plus!\n\n");
else if ( nombremystere < nombreentre)
printf("C'est moins!\n\n");
else
printf("Bravo! Tu as trouve le nombre mystere en %d coups.\n\n",compteurdecoups);
}while (nombreentre != nombremystere);
}
merci encore!
int main( int argc, char** argv [])
C'est ou . Mais pas un mix des deux.
Et n'oublie pas le final.
Merci d'utiliser la balise <code c> lorsque vous poster votre code.
Exemple : <code c>ici votre code</code>
Et n'hésitez pas à poster les erreurs signalés par le compilateur. Elles sont précieuses.
Cdlt,
je n'ai jamais compris pourquoi il y a les 2 étoiles. j'ai vu ça dans une correction . maintenant je vois mieux quand il y a [] une seule étoile et sans ça **, si je comprends bien.
Pour les conseils de post aussi , ce n'est pas évident pour les débutants : je suis déjà abrutie d'être penchée sur le problème pendant des jours alors on ne pense plus à certains détails.
cordialement