Erreur : windows bloque mon app [Résolu]

Messages postés
5
Date d'inscription
vendredi 8 juillet 2011
Dernière intervention
19 février 2012
- - Dernière réponse : cs_rt15
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
- 15 févr. 2012 à 17:30
Bonjour

voila j'ai écrie un programme qui permet de réaliser des opérations de base sur les fractions
le code :


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

typedef struct resultat {
        float resd;
        float resn;
}res;

res*a;


void  lire(float*,float*);
void  ecrire(float*,float*,float*,float*,res*,int);
res   addition(float*,float*,float*,float*,res*);
res   soustraction(float*,float*,float*,float*,res*);
res   division(float*,float*,float*,float*,res*);
res   multiplication(float*,float*,float*,float*,res*);


int main() {
    
    float *deno1,*nume1,*nume2,*deno2;
    int c;
    a=malloc(sizeof(res));
          system("color a");
          printf("\n\t\t Lecture De la premier fraction  : \n\n");
          lire(deno1,nume1);
          printf("\n\t\t Lecture De la deuxieme fraction  : \n\n");
          lire(deno2,nume2);
          system("cls");
          
                    for(;;){
                            system("cls");
                          printf("\t\t\t\t *** MENU *** \n");
                      printf("\t Pour Calculer L'addition..........................1\n\n");
                      printf("\t Pour Calculer la soustraction.....................2\n\n");
                      printf("\t Pour Calculer la multiplication...................3\n\n");
                      printf("\t Pour Calculer la division.........................4\n\n");
                      printf("\t Pour Quiter.......................................5\n\n");
                      printf("\t\tvotre choix est :\t");
                      scanf("%d",&c);
                          if(c==1){
                             system("cls") ;   
                             addition(deno1,nume1,deno2,nume2,a);
                             ecrire(deno1,nume1,deno2,nume2,a,1);                   
                             
                          }
                          if(c==2){
                             system("cls")  ;  
                             soustraction(deno1,nume1,deno2,nume2,a);
                             ecrire(deno1,nume1,deno2,nume2,a,2);                     
                            
                          }
                          if(c==3){
                             system("cls")   ;
                             multiplication(deno1,nume1,deno2,nume2,a);
                             ecrire(deno1,nume1,deno2,nume2,a,3);    
                             
                          }
                          if(c==4){
                             system("cls")    ;
                             division(deno1,nume1,deno2,nume2,a);
                             ecrire(deno1,nume1,deno2,nume2,a,4);  
                             
                          }
                          if(c==5)
                           break;
                          
                          
                      }
     free(a);
     
     
}

void  lire(float*deno,float*nume){

      printf("Donner le Denominateur:\t");
      scanf("%f",&deno);
      printf("Donner le numerateur:\t");
      scanf("%f",&nume);
}

void  ecrire(float*deno,float*nume,float*deno2,float*nume2,res*a,int opp){
      if (opp == 1){
      printf("\t\t %.2f/%.2f [+] %.2f/%.2f = %.2f/%.2f",deno,nume,deno2,nume2,a->resd,a->resn);
      }
      if (opp == 2){
      printf("\t\t %.2f/%.2f [-] %.2f/%.2f = %.2f/%.2f",deno,nume,deno2,nume2,a->resd,a->resn);
      }
      if (opp == 3){
      printf("\t\t %.2f/%.2f [X] %.2f/%.2f = %.2f/%.2f",deno,nume,deno2,nume2,a->resd,a->resn);
      }
      if (opp == 4){
      printf("\t\t %.2f/%.2f [/] %.2f/%.2f = %.2f/%.2f",deno,nume,deno2,nume2,a->resd,a->resn);
      }       
}

res addition(float*deno,float*nume,float*deno2,float*nume2,res*a){
      
      a->resd = ( (*deno)*(*nume2))+((*deno2) * (*nume) );
      a->resn =   (*nume) * (*nume2)  ;
      
      return *a;


      
}

res soustraction(float*deno,float*nume,float*deno2,float*nume2,res*a){
      
      a->resd = ( (*deno)*(*nume2) )-((*deno2) * (*nume) );
      a->resn = (  (*nume) * (*nume2)  );
      return *a;
      
}

res division(float*deno,float*nume,float*deno2,float*nume2,res*a){

      a->resd = ( *deno ) * ( *deno2 );
      a->resn = ( *nume ) * ( *nume2 );
      return *a;     

}

res multiplication(float*deno,float*nume,float*deno2,float*nume2,res*a){

      a->resd = ( *deno ) * ( *nume2 );
      a->resn = ( *nume ) * ( *deno2 );
      return *a;  

}




mon problème est l'application se compile mais ca marche pas a un moment windows a cessé de fonctionner

merci de m'aider
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
3
Merci
for (i=0;i<100;i++){
if( res[0] % i == 0 ) {

sais tu ce qu'est un modulo ?

mais la fonctionne simplification tjr ne marche pas


n'as tu pas vu que la seule chose que tu obtenais ainsi est une erreur de division par 0...

inutile de faire commencer cette boucle à 0 ni même à 1...

tu as inversé numerateur et denominateur dans le prompt de saisie

simplifiant ton code, j'ai obtenu :

#if defined(WIN32)
#define _CRT_SECURE_NO_WARNINGS
#endif

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

void  lire(int*t){
      printf("\n\t Donner le numerateur:\t");
      scanf("%d",&t[0]);
      printf("\t Donner le denominateur  :\t");
      scanf("%d",&t[1]);
}

void simplification(int* res){
int i;
for (i=2; i<100; i++)
if(res[0]%i == 0 && res[1]%i == 0){
res[0] /= i;
res[1] /= i;
break;
}
}

void  ecrire(int* t1, int* t2, int* res, char opp){
// simplification(t1);
// simplification(t2);
simplification(res);
printf("\n\n\n\t\t %d/%d [%c] %d/%d = %d/%d\n\n", t1[0], t1[1], opp, t2[0], t2[1], res[0], res[1]);
}

void addition(int* t1, int* t2, int* res) { 
res[0] = t1[0] * t2[1] + t2[0] * t1[1];
res[1] = t1[1] * t2[1];      
}

void soustraction(int* t1, int* t2, int* res) {
res[0] = t1[0] * t2[1] - t2[0] * t1[1];
res[1] = t1[1] * t2[1];      
}

void division(int* t1, int* t2, int* res) {
      res[0] = t1[0] * t2[1];
      res[1] = t1[1] * t2[0];
}

void multiplication(int* t1, int* t2, int* res) {
      res[0] = t1[0] * t2[0];
      res[1] = t1[1] * t2[1];
}

int main() {
    int f1[2],f2[2],res[2];
    int c;
    
system("color a");
ChangerFraction:
printf("\n\t\t Lecture De la premier fraction  : \n\n");
lire(f1);
printf("\n\t\t Lecture De la deuxieme fraction  : \n\n");
lire(f2);
system("cls");
          
for(;;){
system("cls");
printf("\n\n\n\n\t\t\t\t * * * MENU * * * \n\n");
printf("\t Pour Calculer l'addition..........................1\n\n");
printf("\t Pour Calculer la soustraction.....................2\n\n");
printf("\t Pour Calculer la multiplication...................3\n\n");
printf("\t Pour Calculer la division.........................4\n\n");
printf("\t Pour Changer de fraction..........................5\n\n");                      
printf("\t Pour Quiter.......................................6\n\n");                      
printf("\t\t Votre choix est :\t");
scanf("%d",&c);
system("cls") ;   
switch(c) {
case 1:
                addition(f1, f2, res);
                ecrire(f1, f2, res, '+');                  
break;

case 2:
soustraction(f1, f2, res);
ecrire(f1, f2, res, '-');
break;

case 3:
multiplication(f1, f2, res);
ecrire(f1, f2, res, '*');
break;	

case 4:
division(f1, f2, res);
ecrire(f1, f2, res, '/');
break;	
                             
case 5:
goto ChangerFraction;

case 6:
return 0;              
}
system("pause");                
}             
}



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp

Merci Renfield 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de Renfield
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
3
Merci
1/ Addition, soustraction, multiplication, division... 4 opérations prenant les mêmes arguments. On peut passer par un pointeur de fonctions pour limiter la duplication de code.

2/ Le code de simplification qui boucle de 2 à 100 est limité. Autant passer par quelque chose qui fonctionne dans tous les cas.

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

void lire(int* t){
  printf("\n\t Donner le numerateur:\t");
  scanf("%d",&t[0]);
  printf("\t Donner le denominateur  :\t");
  scanf("%d",&t[1]);
}

int PlusGrandCommunDiviseur(int a, int b) {
  int c;

  while (b != 0) {
    c = a % b;
    a = b;
    b = c;
  }
  return a;
}

void simplification(int* res) {
  int r;

  r = PlusGrandCommunDiviseur(res[0], res[1]);
  res[0] /= r;
  res[1] /= r;
    /* Pas de - au dénominateur */
    if(res[1] < 0 ){
      res[0]=-res[0];
      res[1]=-res[1];
    }
}

void ecrire(int* t1, int* t2, int* res, char opp) {
  /* simplification(t1); */
  /* simplification(t2); */
  simplification(res);
  printf("\n\n\n\t\t %d/%d [%c] %d/%d = %d/%d\n\n", t1[0], t1[1], opp, t2[0], t2[1], res[0], res[1]);
}

#define OPERATION_COUNT 4
#define CHANGER_FRACTIONS OPERATION_COUNT + 1
#define QUITTER OPERATION_COUNT + 2

/* Pointeur sur une opération */
typedef void (* OPERATION) (int* t1, int* t2, int* res);

/* Info sur une opération */
typedef struct _OPERATION_INFO
{
  char description[128];
  char signe;
  OPERATION operation;
}
OPERATION_INFO;

void addition(int* t1, int* t2, int* res) {
  res[0] = t1[0] * t2[1] + t2[0] * t1[1];
  res[1] = t1[1] * t2[1];
}

void soustraction(int* t1, int* t2, int* res) {
  res[0] = t1[0] * t2[1] - t2[0] * t1[1];
  res[1] = t1[1] * t2[1];
}

void multiplication(int* t1, int* t2, int* res) {
  res[0] = t1[0] * t2[0];
  res[1] = t1[1] * t2[1];
}

void division(int* t1, int* t2, int* res) {
  res[0] = t1[0] * t2[1];
  res[1] = t1[1] * t2[0];
}

/* Tableau des opérations */
OPERATION_INFO operations[OPERATION_COUNT] = {
  {"l'addition..........................", '+', addition},
  {"la soustraction.....................", '-', soustraction},
  {"la multiplication...................", '*', multiplication},
  {"la division.........................", '/', division},
};

int main() {
  int f1[2],f2[2],res[2];
  int c;
  int operationIndex;

  system("color a");
ChangerFraction:
  printf("\n\t\t Lecture De la premier fraction  : \n\n");
  lire(f1);
  printf("\n\t\t Lecture De la deuxieme fraction  : \n\n");
  lire(f2);
  system("cls");

  for(;;) {
    system("cls");
    printf("\n\n\n\n\t\t\t\t * * * MENU * * * \n\n");
    for (operationIndex = 0; operationIndex < OPERATION_COUNT; operationIndex++)
      printf("\t Pour Calculer %s%d\n\n", operations[operationIndex].description, operationIndex + 1);

    printf("\t Pour Changer de fraction..........................%d\n\n", CHANGER_FRACTIONS);
    printf("\t Pour Quiter.......................................%d\n\n", QUITTER);
    printf("\t\t Votre choix est :\t");
    scanf("%d",&c);
    system("cls") ;
    if ((c > 0) && (c <= OPERATION_COUNT)) {
      operations[c - 1].operation(f1, f2, res);
      ecrire(f1, f2, res, operations[c - 1].signe);
    }
    else if (c == CHANGER_FRACTIONS)
      goto ChangerFraction;
    else if (c == QUITTER)
       return 0;
    else
      printf("Entrez un nombre entre 1 et %d\n", QUITTER);
    system("pause");
  }
}

Merci cs_rt15 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_rt15
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
0
Merci
Salut,

C'est la faute à Windows, il faut le réinstaller 4 fois. Pour la première, il faut allumer 4 cierges, pour la deuxième, faire une danse du ventre, pour la troisième, taper avec un marteau sur le PC dès que la loupiote du disque dur s'affole, et pour la quatrième, il faut m'envoyer un chèque avec pleins de zéros.

float *deno1

Donc là tu déclares un pointeur vers un float.

Tu le passes à lire.
lire(deno1,nume1);


Tu fais un scanf en passant l'adresse du pointeur (<- déjà rien qu'en le disant, on sent un souci, non ?) :
scanf("%f",&deno);


Ma question est: mais où est donc stocké ce float ?
J'espère que quand tu aura trouvé la réponse, tu aura compris au moins une de tes erreurs.
Commenter la réponse de cs_rt15
Messages postés
5
Date d'inscription
vendredi 8 juillet 2011
Dernière intervention
19 février 2012
0
Merci
merci a vous j'ai fixé le problème merci comme même j'ai un autre problème de simplification j'arrive pas a le résoudre

voila le code :

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



void lire(int*);
void ecrire(int*,int*,int*,int);
int  addition(int*,int*,int*);
int  soustraction(int*,int*,int*);
int  division(int*,int*,int*);
int  multiplication(int*,int*,int*);
void  simplification(int*);


int main() {
    
    int f1[2],f2[2],res[2];
    int c;
    
          system("color a");
          printf("\n\t\t Lecture De la premier fraction  : \n\n");
          lire(f1);
          printf("\n\t\t Lecture De la deuxieme fraction  : \n\n");
          lire(f2);
          system("cls");
          
                    for(;;){
                            system("cls");
                          printf("\n\n\n\n\t\t\t\t * * * MENU * * * \n\n");
                      printf("\t Pour Calculer L'addition..........................1\n\n");
                      printf("\t Pour Calculer la soustraction.....................2\n\n");
                      printf("\t Pour Calculer la multiplication...................3\n\n");
                      printf("\t Pour Calculer la division.........................4\n\n");
                      printf("\t Pour changer de fraction..........................5\n\n");                      
                      printf("\t Pour Quiter.......................................6\n\n");                      
                      printf("\t\t Votre choix est :\t");
                      scanf("%d",&c);
                          if(c==1){
                             system("cls") ;   
                             addition(f1,f2,res);
                             ecrire(f1,f2,res,1); 
                             printf("\n");  
                             system("pause");                
                             
                          }
                          if(c==2){
                             system("cls")  ;  
                             soustraction(f1,f2,res);
                             ecrire(f1,f2,res,2);
                             printf("\n") ; 
                             system("pause");                       
                            
                          }
                          if(c==3){
                             system("cls")   ;
                             multiplication(f1,f2,res);
                             ecrire(f1,f2,res,3);
                             printf("\n")  ;
                             system("pause");      
                             
                          }
                          if(c==4){
                             system("cls")    ;
                             division(f1,f2,res);
                             ecrire(f1,f2,res,4);
                             printf("\n")  ;
                             system("pause");   
                             
                          }
                          if(c==5){
                             system("cls")    ;
                             printf("\n\t\t Lecture De la premier fraction  : \n\n");
                             lire(f1);
                             printf("\n\t\t Lecture De la deuxieme fraction  : \n\n");
                             lire(f2);                             
                               
                             
                          }
                          if(c==6)
                           break;              
                      }
                      
     
}

void  lire(int*t){
      
      printf("Donner le Denominateur:\t");
      scanf("%d",&t[1]);
      printf("Donner le numerateur:\t");
      scanf("%d",&t[2]);
}

void  ecrire(int*t,int*t2,int*res,int opp){
      if (opp == 1){
      printf("\n\n\n\t\t %d/%d [+] %d/%d = %d/%d\n\n",t[1],t[2],t2[1],t2[2],res[1],res[2]);
      }
      if (opp == 2){
      printf("\n\n\n\t\t %d/%d [-] %d/%d = %d/%d\n\n",t[1],t[2],t2[1],t2[2],res[1],res[2]);
      }
      if (opp == 3){
      printf("\n\n\n\t\t %d/%d [X] %d/%d = %d/%d\n\n",t[1],t[2],t2[1],t2[2],res[1],res[2]);
      }
      if (opp == 4){
      printf("\n\n\n\t\t %d/%d [/] %d/%d = %d/%d\n\n",t[1],t[2],t2[1],t2[2],res[1],res[2]);
      }       
}

int addition(int*t,int*t2,int*res){
      
      res[1] = ( (t[1]) * (t2[2]) ) + ( (t2[1]) * (t[2]) );
      res[2] = ( (t[2]) * (t2[2]) ) ;

      return *res;


      
}

int soustraction(int*t,int*t2,int*res){
      
      res[1] = ( (t[1]) * (t2[2]) ) - ( (t2[1]) * (t[2]) );
      res[2] = ( (t[2]) * (t2[2]) ) ;

      return *res;
      
}

int division(int*t,int*t2,int*res){

      res[1] = ( t[1] ) * ( t2[1] );
      res[2] = ( t[2] ) * ( t2[2] );

      return *res;     

}

int multiplication(int*t,int*t2,int*res){

      res[1] = ( t[1] ) * ( t2[2] );
      res[2] = ( t[2] ) * ( t2[1] );
    
      return *res;   
      

}

void simplification(int*res){

      int i;
      for (i=0;i<100;i++){
          if( res[1] % i == 0 ) {
              if( res[2] % i == 0){
            
                 res[1] = res[1]/i;
                 res[2] = res[2]/i;
             
             }
          }
      
      }
      
      
}
 



merci
Commenter la réponse de biyob0
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
0
Merci
tu sors des limites de ton tableau...

tu déclares :

int f[2]

donc, tableaux de deux int

et tu fais :

f[1]
f[2]

pas bon, ça, on commence à 0...


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
5
Date d'inscription
vendredi 8 juillet 2011
Dernière intervention
19 février 2012
0
Merci
MErcii
mais la fonctionne simplification tjr ne marche pas
Commenter la réponse de biyob0
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
0
Merci
quel es ton code actuel ?


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
5
Date d'inscription
vendredi 8 juillet 2011
Dernière intervention
19 février 2012
0
Merci
Merci
le voila
# include <stdio.h>
# include <stdlib.h>i



void lire(int*);
void ecrire(int*,int*,int*,int);
int  addition(int*,int*,int*);
int  soustraction(int*,int*,int*);
int  division(int*,int*,int*);
int  multiplication(int*,int*,int*);
int simplification(int*);


int main() {
    
    int f1[2],f2[2],res[2];
    int c;
    
          system("color a");
          printf("\n\t\t Lecture De la premier fraction  : \n\n");
          lire(f1);
          printf("\n\t\t Lecture De la deuxieme fraction  : \n\n");
          lire(f2);
          system("cls");
          
                    for(;;){
                            system("cls");
                          printf("\n\n\n\n\t\t\t\t * * * MENU * * * \n\n");
                      printf("\t Pour Calculer L'addition..........................1\n\n");
                      printf("\t Pour Calculer la soustraction.....................2\n\n");
                      printf("\t Pour Calculer la multiplication...................3\n\n");
                      printf("\t Pour Calculer la division.........................4\n\n");
                      printf("\t Pour changer de fraction..........................5\n\n");                      
                      printf("\t Pour Quiter.......................................6\n\n");                      
                      printf("\t\t Votre choix est :\t");
                      scanf("%d",&c);
                          if(c==1){
                             system("cls") ;   
                             addition(f1,f2,res);
                             ecrire(f1,f2,res,1); 
                             printf("\n");  
                             system("pause");                
                             
                          }
                          if(c==2){
                             system("cls")  ;  
                             soustraction(f1,f2,res);
                             ecrire(f1,f2,res,2);
                             printf("\n") ; 
                             system("pause");                       
                            
                          }
                          if(c==3){
                             system("cls")   ;
                             multiplication(f1,f2,res);
                             ecrire(f1,f2,res,3);
                             printf("\n")  ;
                             system("pause");      
                             
                          }
                          if(c==4){
                             system("cls")    ;
                             division(f1,f2,res);
                             ecrire(f1,f2,res,4);
                             printf("\n")  ;
                             system("pause");   
                             
                          }
                          if(c==5){
                             system("cls")    ;
                             printf("\n\t\t Lecture De la premier fraction  : \n\n");
                             lire(f1);
                             printf("\n\t\t Lecture De la deuxieme fraction  : \n\n");
                             lire(f2);                             
                               
                             
                          }
                          if(c==6)
                           break;              
                      }
                      
     
}

void  lire(int*t){
      
      printf("\n\t Donner le Denominateur:\t");
      scanf("%d",&t[0]);
      printf("\t Donner le numerateur  :\t");
      scanf("%d",&t[1]);
}

void  ecrire(int*t,int*t2,int*res,int opp){
      if (opp == 1){
      printf("\n\n\n\t\t %d/%d [+] %d/%d = %d/%d\n\n",t[0],t[1],t2[0],t2[1],res[0],res[1]);
      }
      if (opp == 2){
      printf("\n\n\n\t\t %d/%d [-] %d/%d = %d/%d\n\n",t[0],t[1],t2[0],t2[1],res[0],res[1]);
      }
      if (opp == 3){
      printf("\n\n\n\t\t %d/%d [X] %d/%d = %d/%d\n\n",t[0],t[1],t2[0],t2[1],res[0],res[1]);
      }
      if (opp == 4){
      printf("\n\n\n\t\t %d/%d [/] %d/%d = %d/%d\n\n",t[0],t[1],t2[0],t2[1],res[0],res[1]);
      }       
}

int addition(int*t,int*t2,int*res){
      
      res[0] = ( (t[0]) * (t2[1]) ) + ( (t2[0]) * (t[1]) );
      res[1] = ( (t[1]) * (t2[1]) ) ;
      
      return *res;


      
}

int soustraction(int*t,int*t2,int*res){
      
      res[0] = ( (t[0]) * (t2[1]) ) - ( (t2[0]) * (t[1]) );
      res[1] = ( (t[1]) * (t2[1]) ) ;

      return *res;
      
}

int division(int*t,int*t2,int*res){

      res[0] = ( t[0] ) * ( t2[1] );
      res[1] = ( t[1] ) * ( t2[0] );

      return *res;     

}

int multiplication(int*t,int*t2,int*res){

      res[0] = ( t[0] ) * ( t2[0] );
      res[1] = ( t[1] ) * ( t2[1] );

      return *res;   
      

}

int simplification(int*res){

      int i;
      for (i=0;i<100;i++){
          if( res[0] % i == 0 ) {
              if( res[1] % i == 0){
            
                 res[0] = res[0]/i;
                 res[1] = res[1]/i;
             
             }
             
          }
          
      
      }
      
     return *res; 
}

Commenter la réponse de biyob0
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
0
Merci
Je regarderais plus en détail arrivé au boulot...

tes fonctions retourne un int ... c'est étrange...

"ecrire" pourrait etre plus court et clair

plutot que opp
transmet directement un char avec le caractère a afficher pour l'opération (%c)



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.