Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

erreur sur un printf


rimbaut

Messages recommandés

bonjour,

je viens de m'essayer à programmer le nombre mystere et je rencontre une erreur sur le printf de la 26e ligne

 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main ( int argc, char**argv )

{
long nombreMystere=0, nombreEntree=0;
const long MAX=100, MIN=1;

srand(time (NULL));
nombreMystere = (rand () % (MAX-MIN+1))+ MIN;

do
{
   printf ("Quel est le nombre ?");
   scanf ("%dl", &nombreEntree);

   if (nombreMystere = nombreEntree)
   printf ("Bravo, vous avez trouver le nombre mystere");

   else if (nombreMystere>nombreEntree)
   printf ("Le nombre mystere est plus grand \n\n");

   else (nombreMystere<nombreEntree)
   printf ("le nombre mystere est plus petit\n");

   } while (nombreEntree != nombreMystere);
system ("PAUSE");

}		 

 

 

merci pour votre patience

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

 

else (nombreMystere<nombreEntree)

 

j'ai des doutes quant à l'utilité de ce qui est en rouge ...

 

Tu as déjà une instruction donnée par ton premier "if", une autre par ton "else if", donc logiquement au final, le "else" se suffit à lui même pas besoin de fixer une condition !

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

j'ai supprimé le else if, mais j'ai toujours la meme erreur sur le printf !!!!

je ne vois pas d'où ça provient

 

Merci d'avance

 

je ne parlais pas du else if, mais de ce que j'ai mis en rouge dans mon post précédant ...

Lien vers le commentaire
Partager sur d’autres sites

Re bonsoir Nico76300, bonsoir à tous,

 

J'ai fait comme tu m'as dit mais j'ai toujours l'erreur. D'ailleurs voici mon code modifié selon ton souhait :

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main ( int argc, char**argv )

{
long nombreMystere=0, nombreEntree=0;
const long MAX=100, MIN=1;

srand(time (NULL));
nombreMystere = (rand () % (MAX-MIN+1))+ MIN;

do
{
   printf ("Quel est le nombre ?");
   scanf ("%dl", &nombreEntree);
   scanf("%*[^\n]"); 
   scanf("%*1[\n]"); 

   if (nombreMystere == nombreEntree)
   printf ("Bravo, vous avez trouver le nombre mystere");

   else if (nombreMystere>nombreEntree)
   printf ("Le nombre mystere est plus grand\n");

   else (nombreMystere<nombreEntree)
   printf ("le nombre mystere est plus petit\n");

   } while (nombreEntree != nombreMystere);
system ("PAUSE");

}		 

 

 

Je n'arrive pas à comprendre l'erreur

Modifié par KewlCat
Lien vers le commentaire
Partager sur d’autres sites

re,

 

Personnellement, je remplacerais

 

 else (nombreMystere<nombreEntree)
printf ("le nombre mystere est plus petit\n");

 

par

 

 else
printf ("le nombre mystere est plus petit\n");

 

ton dernier "else" est là pour le cas où aucune des conditions précédentes n'est vérifiée, or tu lui redonne une condition supplémentaire, il se peut donc que ton compilateur y perde son latin ...

 

Tiens nous au courant !

 

PS : je m'excuse par avance auprès des pros du C si je dis une grosse annerie ! Mon C commence à rouiller ça va faire 5 ans que je n'ai pas codé dans ce langage !

Lien vers le commentaire
Partager sur d’autres sites

Salut.

 

Tu ne peux pas faire

 

if(ceci est bon)

{

code

}

elseif(cela est bon)

{

code

}

else(ce truc là est bon)

{

code

}

 

 

Car le else ne permet pas d'éxécuter du code si une condition est vérifiée, sa permet d'exécuter le code si les conditions précédentes sont fausses.

 

Tu as donc utilisé ton else comme un elseif

 

On ne met pas de condition après else donc

Modifié par alex.hitman
Lien vers le commentaire
Partager sur d’autres sites

merci Alex de ton soutien, j'avais l'impression de dire des c*****es !

 

@ Rimbaut, logiquement en suivant ce qui a été dit, ça devrait compiler !

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...