Probleme programmation en c

Résolu/Fermé
Ijkan Messages postés 471 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 20 janvier 2022 - 14 févr. 2010 à 15:44
Ijkan Messages postés 471 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 20 janvier 2022 - 15 févr. 2010 à 12:06
Bonjour,

Je debute en programmation et je ne comprend ce qui ne vas pas j'espere vraiment que vous pourrez m'aidé
c'est surement en faisant l'appel de fonction que sa plante mais la je sais pas ce qui se passe
merci d'avance!!

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

int compareNombres(int nombreMystere,int nombreEntre, int NombreDeCoup, int compareNombres)
{
if(nombreMystere > nombreEntre)
printf("\nC est plus !\t");

else if(nombreMystere < nombreEntre)
printf("\nC est moins !\t");

else
printf("\n\nBien joue vous avez trouve en %d coup(s)!", NombreDeCoup);

return compareNombres;
}

int genereNombre (const int MIN,const int MAX)
{
int nombreMystere = 0;

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

return nombreMystere;
}


int main ( int argc, char** argv )
{
int nombreMystere = 0, nombreEntre = 0, NombreDecoup = 0;
const int MAX = 100, MIN = 1;

// Génération du nombre aléatoire
nombreMystere = genereNombre(MIN, MAX);

/* La boucle du programme. Elle se répète tant que l'utilisateur
n'a pas trouvé le nombre mystère */

do
{
// On demande le nombre
printf("Quel est le nombre ? ");
scanf("%d", &nombreEntre, NombreDecoup++);

// On compare le nombre entré avec le nombre mystère
compareNombres(nombreEntre, nombreMystere);

} while (nombreEntre != nombreMystere);

return 0;
}
A voir également:

7 réponses

Tu utilise quoi comme IDE ????
0
cedpilsisi Messages postés 15 Date d'inscription dimanche 14 février 2010 Statut Membre Dernière intervention 19 février 2010
14 févr. 2010 à 17:39
--
Cedpilsisi
0
Ijkan Messages postés 471 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 20 janvier 2022 53
14 févr. 2010 à 17:45
code::blocks mais j'ai reussi a resoudre une partie du probleme mais maintenant mon code comporte des erreurs tenez le programme se lance sans soucis mais j'aimerais que le code soit parfais les erreurs que me transmet le compilateur sont


- In function `main':|
- warning: implicit declaration of function `genereNombre'|
-warning: too many arguments for format|
-warning: implicit declaration of function `compareNombres'|

-In function `compareNombres':|
-warning: left-hand operand of comma expression has no effect|

||=== Build finished: 0 errors, 4 warnings ===|




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

int main ( int argc, char** argv )
{
int nombreMystere = 0, nombreEntre = 0, NombreDecoup = 0;
const int MAX = 100, MIN = 1;


nombreMystere = genereNombre(MIN, MAX);

printf("Le but du jeu est de trouver le nombre mystere V1.4 by Ijkan");
do
{
printf("\n\nQuel est le nombre mystere ?\t");
scanf("%d", &nombreEntre, NombreDecoup++);

// On compare le nombre entré avec le nombre mystère
compareNombres(nombreEntre, nombreMystere);

} while (nombreEntre != nombreMystere);

return 0;
}

int compareNombres(int nombreMystere,int nombreEntre, int NombreDeCoup)
{
if(nombreMystere < nombreEntre)
printf("C est plus !\t");

else if(nombreMystere > nombreEntre)
printf("C est moins !\t");

else
printf("\n\nBien joue vous avez trouve en %d coup(s)!", NombreDeCoup);

return compareNombres, NombreDeCoup;
}

int genereNombre (const int MIN,const int MAX)
{
int nombreMystere = 0;

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

return nombreMystere;
}
0
cedpilsisi Messages postés 15 Date d'inscription dimanche 14 février 2010 Statut Membre Dernière intervention 19 février 2010
14 févr. 2010 à 17:47
Ta quoi comme OS
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ijkan Messages postés 471 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 20 janvier 2022 53
14 févr. 2010 à 18:18
Windows xp professionnel
0
regarde, je t'ai refait un code plus simple (il n'y a pas d'appele de fonction) je te conseille de bien le lire et de bien le comprendre surtout; si tu e comprend pas quelque chose dit le : enuite tu peux l'améliorer

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

int main(int argc, char *argv[])
{

int nombremystere = 0, nombreentre = 0, ouiounon = 1, difficulter = 0, MAX = 0, MIN = 0;

printf("\n\t========== Jeux du plus ou moin ==========");
do
{
printf("\n\nChoisissez votre niveaux de jeux :");
printf("\n1. de 0 a 100");
printf("\n2. de 0 a 1 000");
printf("\n3. de 0 a 10 000");
printf("\n4. de 0 a 100 000");
printf("\n\nalors? ");
scanf("%d", &difficulter);
switch (difficulter)
{
case 1:
MAX = 100, MIN = 1;
break;
case 2:
MAX = 1000, MIN = 1;
break;
case 3:
MAX = 10000, MIN = 1;
break;
case 4:
MAX = 100000, MIN = 1;
break;
}

int nombretour = 0;
srand(time(NULL));
nombremystere = (rand() % (MAX - MIN + 1)) + MIN;

while (nombremystere != nombreentre)
{
nombretour = nombretour + 1;
printf("\n\n\nquel est a votre avis le nombre mystere? ");
scanf("%d", &nombreentre);
if (nombremystere > nombreentre)
{
printf("C'est plus");
}
else if (nombremystere < nombreentre)
{
printf("C'est moin");
}
else if (nombremystere == nombreentre)
{
printf("***Bravo vous avez trouvez le bon nombre au bout de %d tour(s)***\n\n", nombretour);
}
}
printf("\tVoulez-vous faire une autre partie? Tappez 1 si oui, tappez 0 si non ", ouiounon);
scanf("%d\n", &ouiounon);

} while (ouiounon == 1);
system("PAUSE");
return 0;
}
0
Ijkan Messages postés 471 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 20 janvier 2022 53
15 févr. 2010 à 12:06
Merci je vois que j'ai encore beaucoup de chose a comprendre. Que veut dire : system("PAUSE"); ? et aussi si on aurait voulu qu'au lieu de mettre un 1 ou un 2 il mette un Y pour recommencer et autre chose si il ne veut pas. Ca fait depuis hier que je tente plein de truc mais sa marche pas..
0