Problème avec mon jeu d'allumettes

Résolu
dOsSpr0uTosS Messages postés 90 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 1 janvier 2006 - 1 janv. 2006 à 18:07
cs_Matt67 Messages postés 549 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 6 mars 2010 - 1 janv. 2006 à 20:25
salut à tous,
je débute en c en pour m'entrainé j'ai commencé un jeu d'allumettes, mais il plante pendant l'execution et j'ai beau chercher je ne trouve pas la solution (le code est assez incompréhensible ...

#include <cstdlib>
#include
#include <time.h>
using namespace std;

int main(int argc, char *argv[])
{
g2:;
long l1=12;
long l2;
long l3;
long l4;
long l5;
long l6;
const long MAX 1, MIN 2;
const long MAX2 3, MIN2 1;
printf("Jeu d'allumettes\n");
while (l1>0)
{
g1:;
printf("\ncombien d'allumettes voulez-vous enlevez?\n");
scanf("%ld",&l2);
if (l2>3)
{
printf("vous ne pouvez enlever que trois allumettes dans un meme tour\n");
goto g1;
}
l1=l1-l2;
printf("il reste %ld allumettes\n",l1);
l3=l1;
while (l3>0)
{
printf("|");
l3--;
}
if (l1==1)
{
printf("\nvous avez gagné \n 1 rejouer \n 2 quitter");
scanf("%ld",&l6);
switch (l6)
{
case 1:
goto g2;
break;
case 2:
system("PAUSE");
return EXIT_SUCCESS;
break;
}
}
srand(time(NULL));
l5 = (rand() % (MAX - MIN + 1)) + MIN;
if (l5=1)
{
l2 = l1 % 4;
l2 = 3 - l2;
if (l2=0)
{
l2=1;
}
}
if (l5=2)
{
srand(time(NULL));
l5 = (rand() % (MAX - MIN + 1)) + MIN;
l5=l2;
}
l1=l1-l2;
printf("il reste %ld allumettes",l1);
l3=l1;
while (l3>0)
{
printf("|");
l3--;
}
if (l1==1)
{
printf("\n vous avez perdu \n 1 rejouer \n 2 quitter");
scanf("%ld",&l6);
switch (l6)
{
case 1:
goto g2;
break;
case 2:
system("PAUSE");
return EXIT_SUCCESS;
break;
}
}
}
system("PAUSE");
return EXIT_SUCCESS;
}


le programme plante au moment où il vérifie sur l1 est égale à 1, enfin je pense

2 réponses

cs_Matt67 Messages postés 549 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 6 mars 2010 3
1 janv. 2006 à 20:25
Bonsoir,

Déja, est une affectation, = = if double les =.

[../..] const long MAX 1, MIN 2;
[../..]
l5 = (rand() % (MAX - MIN + 1)) + MIN;
1 - 2 + 1 0 donc rand() % 0 division par zéro...

revois ca,

Matt...
3
Rejoignez-nous