Aide programme

firk -  
 firk -
Bonjour,

J'aimerais savoir pourquoi, lors de l'exécution de mon programme, il affiche 2 messages, alors que quel que soit le cas de figure, il faut qu'il m'affiche le même, quel que soit le niveau de revenu, et quel que soit le montant du loyer .
Pouvez-vous m'éclairer, c'est assez urgent.
Voici une partie de mon code

char* status[6]={"CDI_hors_ess_ou_preavis_lic","CDD_CNE_ou_CDI_essai","Etudiant","TNS","Retraités","enplace_depuis_ plus_de_Douze_mois_sans_incident_paiement"};

colocation(int R[],int L,char *statut1,char *statut2)
{ int i,h,k;

/* Cas 2 En place */

{ if(strcmp(statut1,statut2) && strcmp(statut2,status[5]))
printf("Vous remplissez les conditions d'acceptation auprès de notre assurance\n");

/* Cas 1 En place avec n'importe qui */

else { if(strcmp(statut1,status[5]) && !strcmp(statut2,status[5]))
printf("Vous remplissez les conditions d'acceptation auprès de notre assurance\n");

else { if(strcmp(statut2,status[5]) && !strcmp(statut1,status[5]))
printf("Vous remplissez les conditions d'acceptation auprès de notre assurance\n");
}
}
}
Configuration: Linux Mandriva
Firefox 2.0.0.13

2 réponses

  1. Mikey_UFC Messages postés 315 Statut Membre 1
     
    Salut,

    colocation(int R[],int L,char *statut1,char *statut2)
    {
    int i,h,k;

    if(strcmp(statut1,statut2) && strcmp(statut2,status[5]))
    printf("Vous remplissez les conditions d'acceptation auprès de notre assurance\n");

    else if(strcmp(statut1,status[5]) && !strcmp(statut2,status[5]))
    printf("Vous remplissez les conditions d'acceptation auprès de notre assurance\n");

    else if(strcmp(statut2,status[5]) && !strcmp(statut1,status[5]))
    printf("Vous remplissez les conditions d'acceptation auprès de notre assurance\n");

    }

    Pense à indenter proprement ton code, çà aide beaucoup pour la relecture et la compréhension. Perso, je trouve plus lisible qu'une accolade se ferme sous celle correspondante :
    if ()
    {
    toncode
    }
    else
    {
    toncode
    }
    Je ne sais pas quel langage tu utilises mais à première vue là, il n'y a qu'un seul et unique message sur les 3 qui peut apparaître.
    0
    1. firk
       
      Si je fais comme tu m'as suggéré, j'ai un msg avant le else : expected identifier before else
      Là je suis bloqué!

      { if(strcmp(statut1,statut2) && strcmp(statut2,status[5]))
      printf("Vous remplissez les conditions d'acceptation auprès de notre assurance\n");
      }


      /* Cas 1 En place avec n'importe qui */

      else { (strcmp(statut1,status[5]) && !strcmp(statut2,status[5]))
      printf("Vous remplissez les conditions d'acceptation auprès de notre assurance\n");
      }
      0
  2. Fred
     
    heu c'est du c ? car c'est moyen propre
    0
    1. firk
       
      Oui c'est du C, comment rendre propre cette partie du programme, de sorte qu'on ait :

      statut1=qqn ou bien statut1=enplace
      statut2=enplace statut2=qqn

      on obtient le printf.( pour toutes les situations)


      N.B : j'ai un problème de segmentation, j'obtiens bien le printf je mets enplace en 1er, avec l'erreur de segmentation
      .
      0