Je fais donc une méthode pour créer une ligne de salutation basée sur deux personnes à partir d'une base de données.
Il y a quatre paramètres: les deux noms ( name1
et name2
) et les deux sexes ( gender
et gender2
).
Pour chaque combinaison de genre, j'ai une sorte de sortie différente.
Par exemple: si le genre 1 est M
(homme) et le genre 2 l'est également M
, le résultat devrait être quelque chose comme:
Dear Sir name1 and Sir name2,
À ce moment, mon interrupteur ressemble à ceci:
switch(gender1){
case 'M':
switch(gender2){
case 'M': printf("Dear Sir %s and Sir %s", name1, name2); break;
case 'W': printf("Dear Sir %s and Madame %s", name1, name2); break;
case 'R': ...
}
break;
case 'W':
switch(gender2){
case 'M': printf("Dear Madame %s and Sir %s", name1, name2); break
case 'W': printf("Dear Madame %s and Madame %s", name1, name2); break;
case 'R': ...
}
break;
case ...etc.
}
Notez que j'ai plusieurs options de genre, comme 'R'
pour "Dear Relation"
et plus que je n'ai pas le temps de traduire.
Comment puis-je réduire cette déclaration de double commutation?
Mettre le deuxième commutateur dans une méthode n'est pas une option car il y a aussi un cas où les deux noms sont identiques et la sortie doit être combinée comme: "Dear Sir and Madame name1,"
gender1+gender2
.
Madam
pas Madame
. Madame
est la forme française.