Boucle infinie ?

Résolu
Bonjour,
j'ai modifié un petit code source d'un convertisseur décimal-binaire, mais lors de la phrase : "Si vous voulez recommencer, tapez 1", la boucle devient infinie, quelque soit la réponse (en int) ! :
#include <stdio.h>
#include <stdlib.h>
#define MAX 30

int main()
{
    int recommencer;
    do
    {
        recommencer = 0;
        int nombre, i = 0, bin[MAX] = {0}, j;
    printf("\n Nombre à convertir en binaire : "); scanf("%d", &nombre);

// convertiseur
    while (nombre != 0) {
        bin[i] = nombre % 2;
        nombre /= 2;
        i++;
    }
    printf("\n");

// inverse le sens du tableau, pour avoir l'écriture en binaire dans le bon sens
    for (j=i; j>0; j--) {
        printf("%d", bin[j-1]);

// séparre les chiffres en bloc de 4
        if ((j) % 4 == 1) {
            printf(" ");
        }
    }
    printf("\n");
    printf("Si vous voulez convertir un autre nombre, tapez 1 :"); scanf("%d", &recommencer);

    } while(recommencer = 1);
    printf("Fin du programme");

return 0;

}


Vous remerciant de votre aide.

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Problème résolu : sur la ligne 35, il fallait mettre deux '=' pour vérifier la condition.
    1. jsait pas mais perso je ferai un truc du genre
      label 1
      if x<le nombre max de boucle
      then l'opération a faire
      x=x+1
      ifend
      "recommencer ?"->y
      if y=1
      then goto 1
      else exit

      jsait pas si c'est ca mais moi j'suis au lycée jfait des ptit programmes sur ma calculatrice et qqch comme ca marcherai ^^