[JAVASCOOL] Problème condition IF
Clement49680
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bien le bonsoir, alors pour un projet en classe, je dois faire une " campagne de souscription" pour une compagnie d'assurance, mais j'ai un problème quand au conditions if de ce programme, en effet j'ai des conditions d'obtention pour cette assurance, les voici :
> Le conducteur peut être célibataire, âgé de plus de 25 ans, mais n'avoir jamais eu d'accident,
>Le conducteur peut être une personne du sexe féminin, mariée et n'ayant eu aucun accident,
> Le conducteur peut être une personne du sexe féminin, mariée et âgé de plus de 25 ans,
> Le conducteur peut être âgé de plus de 25 ans et ayant eu un accident,
> Le conducteur peut être une personne du sexe masculin et marié,
> Le conducteur peut être marié, n'ayant jamais eu d'accident et âgé de plus de 25 ans,
J'ai essayé de mettre mes conditions comme ceci :
Mais ce que je redoute, c'est un comptage multiple de condition pour une seule et même personne, par exemple un homme marié de plus de 25 ans ayant déjà eu un accident remplis deux condition, et est donc compté deux fois. Donc je viens a vous pour m'aider, je vois pas dans quel ordre demander mes conditions :'(
Code entier de mon programme :
> Le conducteur peut être célibataire, âgé de plus de 25 ans, mais n'avoir jamais eu d'accident,
>Le conducteur peut être une personne du sexe féminin, mariée et n'ayant eu aucun accident,
> Le conducteur peut être une personne du sexe féminin, mariée et âgé de plus de 25 ans,
> Le conducteur peut être âgé de plus de 25 ans et ayant eu un accident,
> Le conducteur peut être une personne du sexe masculin et marié,
> Le conducteur peut être marié, n'ayant jamais eu d'accident et âgé de plus de 25 ans,
J'ai essayé de mettre mes conditions comme ceci :
if (Femme == 0) { // Si c'est une femme
if (Celibataire == 0) { // celibataire
if (Marie == 0) { //mariée
if (Age >= 25) { //+25
if (Accident == 0) { //accident
} else { //pas accident
}
} else { //-25
}
} else { //pas mariée
}
} else { // pas celibataire
if (Marie == 0)
}
} else { // si c'est un homme
if (Celibataire == 0) { // celibataire
if (Marie == 0) { //marié
if (Age >= 25) { //+25
if (Accident == 0) { //accident
} else { //pas accident
}
} else { //-25
}
} else { //pas marié
}
} else { // pas celibataire
if (Marie == 0)
}
}
Mais ce que je redoute, c'est un comptage multiple de condition pour une seule et même personne, par exemple un homme marié de plus de 25 ans ayant déjà eu un accident remplis deux condition, et est donc compté deux fois. Donc je viens a vous pour m'aider, je vois pas dans quel ordre demander mes conditions :'(
Code entier de mon programme :
void main() {
// Déclaration des variables
int Celibataire = 0;
int Marie;
int Age;
int Accident;
int Femme;
int NbP = 0;
int NbS = 0;
String boucle = "";
while (!boucle.equals("N")) {
// Récupération des informations
println("La personne est-elle une femme ?");
Femme = readInt("La personne est-elle une femme ? Oui -> 0// Non -> 1");
if (Femme == 0) {
println("La personne est une femme");
} else {
println("La personne est un homme");
}
println(" ");
//-----------------------------------------------------------------------------------------//
println("La personne est-elle celibataire ? ");
Celibataire = readInt("Celibataire -> 0 // Pas celibataire -> 1");
if (Celibataire == 0) {
println("La personne est célibataire");
} else {
println("La personne n'est pas celibataire");
}
println(" ");
//-----------------------------------------------------------------------------------------//
println("La personne est-elle mariée ? ");
Marie = readInt("Mariée -> 0 // Pas mariée -> 1");
if (Marie == 0) {
println("La personne est mariée");
} else {
println("La personne n'est pas mariée");
}
println(" ");
//-----------------------------------------------------------------------------------------//
println("Quel est l'âge de la personne ? :");
Age = readInt("Saisir l'age :");
println("Le demandeur est âgé de " + Age + " ans");
println(" ");
//-----------------------------------------------------------------------------------------//
println("La personne a-t-elle déjà eu un accident ?");
Accident = readInt("La personne a-t-elle déjà eu un accident ? Oui -> 0// Non -> 1");
if (Accident == 0) {
println("La personne à déjà eu un accident");
} else {
println("La personne n'à jamais eu d'accident");
}
println(" ");
NbP = NbP + 1;
//-----------------------------------------------------------------------------------------//
if (Femme == 0) { // Si c'est une femme
if (Celibataire == 0) { // celibataire
if (Marie == 0) { //mariée
if (Age >= 25) { //+25
if (Accident == 0) { //accident
} else { //pas accident
}
} else { //-25
}
} else { //pas mariée
}
} else { // pas celibataire
if (Marie == 0)
}
} else { // si c'est un homme
if (Celibataire == 0) { // celibataire
if (Marie == 0) { //marié
if (Age >= 25) { //+25
if (Accident == 0) { //accident
} else { //pas accident
}
} else { //-25
}
} else { //pas marié
}
} else { // pas celibataire
if (Marie == 0)
}
}
println("Continuer les enregistrements? Appuyez sur N pour les stopper sinon presser la barre entrée");
boucle = readString("Continuer les enregistrements ?");
clear();
}
NbS = (NbS / NbP) * 100;
println("Le nombre de personne souscrit est de" + NbS + "%");
}
</code>
A voir également:
- [JAVASCOOL] Problème condition IF
- Excel cellule couleur si condition texte - Guide
- Excel condition ou - Guide
- Condition optimale téléphone ✓ - Forum Mobile
- If exist ✓ - Forum Autoit / batch
- The realtek network controller was not found. if deep sleep mode is enabled please plug the cable ✓ - Forum Pilotes (drivers)
j'ai rien mis dans mes if car je ne savais pas comment bien les imbriquer :/
> Le conducteur peut être célibataire, âgé de plus de 25 ans, mais n'avoir jamais eu d'accident,
>Le conducteur peut être une personne du sexe féminin, mariée et n'ayant eu aucun accident,
> Le conducteur peut être une personne du sexe féminin, mariée et âgé de plus de 25 ans,
> Le conducteur peut être âgé de plus de 25 ans et ayant eu un accident,
> Le conducteur peut être une personne du sexe masculin et marié,
> Le conducteur peut être marié, n'ayant jamais eu d'accident et âgé de plus de 25 ans
Mais quelles sont les valeurs associées ? Est-ce que c'est toujours soit vrai, soit faux (pas de souscription) ou est-ce que l'on peut avoir des valeurs intermédiaires (genre premier cas, il paye 80€, deuxième cas il paye 100€, etc.) ?
Par exemple, si on n'avait que le premier cas à traiter, qu'est-ce que tu mettrais dans ton code ?
if (Femme == 0) { // Si c'est une femme if (Celibataire == 0) { // celibataire if (Marie == 0) { //mariée if (Age >= 25) { //+25 if (Accident == 0) { //accident // ????