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 ( name1et name2) et les deux sexes ( genderet 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.
Madampas Madame. Madameest la forme française.