Problème en C : Programme bug à chaque fois.

-  
Bonjour,

J'ai fait un petit programme pour calculer l'argent au BlackJack et ce problème plante à chaque fois quand j'arrive au niveau ou il demande si on a gagné ou perdu je rentre 0 ou 1 et Windows met "Se programme a cessé de fonctionner", s'il vous plait aider moi :/ Je vous montre le code :

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

int main(int argc, char *argv[])
{
int nombreArgent = 0, nombreMise = 0, gagnerPerdu = 0, resultat1 = 0, resultat2 = 0;

printf("\t\t == Calculateur d'argent BlackJack == \n\n\n");
printf("Entrez votre argent de depart : ");
scanf("%d", &nombreArgent);
printf("Vous avez %d Euros ! \n\n\n", nombreArgent);
printf("Entrez votre mise : ");
scanf("%d", &nombreMise);
printf("Vous avez mise %d Euros ! \n\n\n", nombreMise);
printf("Avez-vous gagne la manche ? (1 = oui, 0 = non)");
scanf("%d", gagnerPerdu);

resultat1 = nombreArgent - nombreMise;
resultat2 = nombreArgent + nombreMise;

if (gagnerPerdu == 0)
{
printf("Il vous reste maintenant %d Euros !", resultat1);
}

if (gagnerPerdu == 1)
{
printf("Bien joue tu as desormais %d Euros !", resultat2);
}

system("PAUSE");
return 0;
}

1 réponse

  1. Modérateur
    Tu dois rajouter un & sur cette ligne :
    scanf("%d", gagnerPerdu); // scanf("%d", &gagnerPerdu);
    1. Ah bah oui, suis-je bête ! Merci beaucoup de ton aide :)
    2. S'il te plait comme puis je faire pour qu'il recommence à chaque fois ?
    3. Modérateur
      while (1)
      {
      // le code à recommencer indéfiniment
      }
    4. Oui mais je voudrais ne pas avoir a retaper la somme de départ à chaque fois :/
    5. etat = 1;   
      while(etat == 1) {   
          printf("Entrez votre mise : ");    
          scanf("%d", &nombreMise);    
          printf("Vous avez mise %d Euros ! \n\n\n", nombreMise);    
          printf("Avez-vous gagne la manche ? (1 = oui, 0 = non)");    
          scanf("%d", &gagnerPerdu);    
      
          if (gagnerPerdu == 0)    
          {    
             nombreArgent -= nombreMise;   
             printf("Il vous reste maintenant %d Euros !", resultat1);    
          }    
      
          else if (gagnerPerdu == 1)    
          {    
             nombreArgent += nombreMise;   
             printf("Bien joue tu as desormais %d Euros !", resultat2);    
          }    
      
          printf("Avez vous fini de jouer (0 = oui, 1 = non)");   
          scanf("%d", &etat);   
      }