Problème language C/C++, sur code::blooks

Résolu/Fermé
redkiller Messages postés 520 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 15 décembre 2009 - 25 déc. 2008 à 17:30
redkiller Messages postés 520 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 15 décembre 2009 - 25 déc. 2008 à 18:18
Bonjour, snif...
Je suis a bout! Depuis ce matin, je suis sur code::blooks, a programmer en C/C++ un petit programme! Tout ce compile pour le mieux, je suis persuadé de ne pas faire de faute, mais dès que je le lance; il se lance parfaitement, je choisis et le niveau, et là, ça ce coupe! Je vous en supplie, les progammeurs, aidé moi a sortir de cette impasse!
Merci.

Mon code:


PS: N'essayez pas de le lire là, c'est le bokson, copiez collé le dans code::blooks et essayer le! Merci beaucoup a ce qui m'aideront!

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



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



int niveau = 0; // On definie la variable "niveau"

printf("==================MOINS OU PLUS==============\n\n"); //===MENU===
printf("\nBonjour, veuillez choisir votre niveau (1-3) : "); // On demande le niveau a effectuer
scanf("%ld", niveau);


if (niveau == 1) // Si c'est le niveau 1

{
long nombreEntre = 0, nombreMystere = 0, compteur = 0, nombreMaximum = 100, MIN = 1; //definition des variables que l'on utilisera

srand(time(NULL)); // On definie la case ou l'on vas generé un nombre
nombreMystere = (rand() % (nombreMaximum - MIN + 1)) + MIN; // generation du nombre

printf("Bonjour,\n Bienvenue dans le premier niveau.\n\n"); //Accueil
do // debut de la boucle
{
printf("tapez un nombre : ");
scanf("%ld", &nombreEntre);
compteur++; // Compteur, pour conter le nombre de tour pour trouver le nombre

if (nombreEntre < nombreMystere)
printf("C'est plus.\n");

else if (nombreEntre > nombreMystere)
printf("C'est moins.\n");

else
{
printf("bravo, vous avez trouve le nombre mystere !\n");
printf("vous l'avez trouver en %ld coups !", compteur);
switch (compteur) // Les condition dui compteur
{
case 2:
printf("Vous etes vraiment tres forts, essayer le niveau 3 !\n"); //commentaires
break;
case 5:
printf("Pas mal...\n");
break;
case 7:
printf("Peu mieux faire !\n");
break;
case 10:
printf("Z'etes pas une fleche, vous !\n");
break;
default:
printf("Recommencer!!!\n");
break;
}
}


} while (nombreEntre != nombreMystere);
}

else if (niveau == 2) // Il arrive au niveau 2
{
long nombreEntre = 0, compteur = 0, nombreMystere = 0, nombreMaximum = 1000, MIN = 1; //definition des variables que l'on utilisera

srand(time(NULL)); // On definie la case ou l'on vas generé un nombre
nombreMystere = (rand() % (nombreMaximum - MIN + 1)) + MIN; // generation du nombre

printf("Bonjour, vous etes au 2eme niveau, c'est a dire que le nombre est compris entre 1-1000 .\n\n");


do
{
printf("tapez un nombre : "); // demande du nombre
scanf("%ld", &nombreEntre);
compteur++;

if (nombreEntre < nombreMystere)
printf("C'est plus.\n");

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

else
{
printf("\nBravo ! Vous avez trouver le nombre, et en %ld coups !", compteur);
switch (compteur) // Les condition dui compteur
{
case 2:
printf("Vous etes vraiment tres fort, essayer le niveau 3 !\n"); //commentaires
break;
case 5:
printf("Pas mal...\n");
break;
case 7:
printf("Peu mieux faire !\n");
break;
case 10:
printf("Z'etes pas une fleche, vous !\n");
break;
default:
printf("Recommencer!!!\n");
break;
}
}
} while (nombreEntre != nombreMystere);
}

else if (niveau == 3)
{
long nombreEntre = 0, compteur = 0, nombreMystere = 0, nombreMaximum = 10000, MIN = 1; //definition des variables que l'on utilisera

srand(time(NULL)); // On definie la case ou l'on vas generé un nombre
nombreMystere = (rand() % (nombreMaximum - MIN + 1)) + MIN; // generation du nombre

printf("Vous avez choisis le niveau 3, le nombre est donc compris entre 1-10000 !\n\n");

do
{
printf("Tapez nu nombre : ");
scanf("%ld", &nombreEntre);
compteur++;

if (nombreEntre < nombreMystere)
printf("C'est plus.");

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

else
{
if (compteur < 8) // Si il l'as trouvé en moin de 5coups
printf("Bravo ! Vous avez trouver le nombre mystere, en 9 coups ou moins, c'est très bien!\n Vous l'avez trouvver en %ld coups !", compteur);

else if (compteur >=15)
printf("\n\nBien joué ! vous l'avez trouvé en seulement %ld coups", compteur);

else if (compteur >=20)
printf("**Nul**, vous l'avez trouve en %ld coups, les pros font moin de 7 !", compteur);

}



} while (nombreEntre != nombreMystere);

}





else
printf("Non, le nombre que vous donnez est trop elever, il n'y a que 3 niveau !\n Et au cas ou vous le sauriez pas, interdit d'ecrire de mot !");


return 0; // le programme retourne a zéro

}
A voir également:

2 réponses

papymucho Messages postés 140 Date d'inscription mercredi 18 juin 2008 Statut Membre Dernière intervention 1 novembre 2009 220
25 déc. 2008 à 17:58
Salut

il manque le "&" à la 4ème ligne dans ton main.

scanf("%ld", niveau);

--> scanf("%ld", &niveau);

Pas essayé le reste en revanche, bon courage et joyeuses fêtes.
0
redkiller Messages postés 520 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 15 décembre 2009 71
25 déc. 2008 à 18:18
Merci! Merci! Merci!!
C'était ça!! J'ai mis 3heures a trouver un truc que qu'lqun a trouvé en 3 minutes!!
M-E-R-C-I!! Et bon noël!!
0