J'aurais besoin d'un peu d'aide sur programme que j'ai fait en C.
C'est un programme avec lequel vous devez entrer deux entiers naturels contenus dans les variables nombre_A et nombre_B afin d'avoir leur PGCD grâce à des divisions à reste successives.
J'ai une erreur à la derniere ligne qui m'empêche de lancer le programme mais il m'est impossible d'identifier sa nature.
Si vous pouvez détecter l'erreur en question.. et m'indiquer comment rectifier le tir ce serait vraiment génial!

Merci d'avance.

Voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
#include <stdio> 
#include <stdlib> 
 
int main(int argc, char *argv[]) 
{ 
    unsigned long nombre_A = 0; // On initialise la variable A qui contiendra la plus grande valeur de l'opération 
    unsigned long nombre_B = 0; // On initialise la variable B  qui contiendra la plus petite valeur de l'opération 
 
    // On initialise 4 variables aptes à contenir le reste d'un modulo ou une autre valeur 
    unsigned long nombre_Q = 0; 
    unsigned long nombre_R = 0; 
    unsigned long nombre_S = 0; 
    unsigned long nombre_T = 0; 
 
    char finDeBoucle = 0; 
    char recommencer = 0; // On initialise la variable recommencer 
 
  printf ("Bienvenue dans le calculateur de PGCD!\nProgramme de Shapsed - http://shapsed.free.fr/ \n\n\n"); // Message de bienvenue 
 
  do // Boucle principale 
  { 
         printf ("Entrez un entier Naturel A > B > 0 \n"); // On propose d'entrer un nombre qui correspondra à la variable A (nombre_A) 
         scanf ("%ld", &nombre_A); // On saisit la variable A (nombre_A) 
 
         printf ("Entrez un entier Naturel B > 0 mais inferieur ou egal a A \n"); // On propose d'entrer un nombre qui correspondra à la variable B (nombre_B) 
         scanf ("%ld", &nombre_A); // On saisit la variable B (nombre_B) 
 
         while (finDeBoucle == 1) 
         { 
                 nombre_Q = nombre_A % nombre_B; // Reste de la division de A par B contenu dans la variable Q 
               } 
               if (nombre_Q == 0) 
               { 
                             printf ("Le PGCD de %ld et %ld est %ld.", nombre_A, nombre_B, nombre_B); 
                             finDeBoucle++;         
               } 
                 else 
               { 
                 nombre_R = nombre_B % nombre_Q; // Reste de la division de B par Q contenu dans la variable R 
               }             
               if (nombre_R == 0) 
               { 
                             printf ("Le PGCD de %ld et %ld est %ld.", nombre_A, nombre_B, nombre_Q); 
                             finDeBoucle++; 
               } 
                 else 
               { 
                 nombre_S = nombre_Q % nombre_R; // Reste de la division de Q par R contenu dans la variable S 
               } 
               if (nombre_S == 0) 
               { 
                             printf ("Le PGCD de %ld et %ld est %ld.", nombre_A, nombre_B, nombre_R); 
                             finDeBoucle++; 
               } 
                 else 
               { 
                 nombre_T = nombre_R % nombre_S; // Reste de la division de R par S contenu dans la variable T 
               if (nombre_T == 0) 
               { 
                             printf ("Le PGCD de %ld et %ld est %ld.", nombre_A, nombre_B, nombre_S); 
                             finDeBoucle++; 
               } 
 
  printf ("Voulez vous recommencer? \t 0.Non \t 1.Oui \n"); 
  scanf ("%ld", &recommencer);         
  } while (recommencer == 1); 
 
  finDeBoucle = 0; 
 
  system("PAUSE");    
  return 0; 
}