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");
}
}
}

2 réponses

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
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
Fred
 
heu c'est du c ? car c'est moyen propre
0
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