Boucle infinie ?

Résolu
Utilisateur anonyme -  
fardenco Messages postés 268 Statut Membre -
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

  1. Utilisateur anonyme
     
    Problème résolu : sur la ligne 35, il fallait mettre deux '=' pour vérifier la condition.
    0
  2. fardenco Messages postés 268 Statut Membre 32
     
    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 ^^
    0