Also mache ich eine Methode, um eine Anrede zu erstellen, die auf zwei Personen aus einer Datenbank basiert.
Es gibt vier Parameter: die beiden Namen ( name1
und name2
) und die beiden Geschlechter ( gender
und gender2
).
Für jede Geschlechtskombination habe ich eine andere Ausgabe.
Zum Beispiel: Wenn Geschlecht 1 M
(Mann) und Geschlecht 2 auch ist M
, sollte die Ausgabe ungefähr so aussehen:
Dear Sir name1 and Sir name2,
Zu diesem Zeitpunkt sieht mein Schalter folgendermaßen aus:
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.
}
Beachten Sie, dass ich mehrere Geschlechtsoptionen habe, z. B. 'R'
für "Dear Relation"
und einige andere, für deren Übersetzung ich keine Zeit habe.
Wie kann ich diese Double-Switch-Anweisung reduzieren?
Das Einfügen des zweiten Schalters in eine Methode ist keine Option, da es auch einen Fall gibt, in dem beide Namen gleich sind und die Ausgabe dann wie folgt kombiniert werden sollte: "Dear Sir and Madame name1,"
gender1+gender2
.
Madam
nicht Madame
. Madame
ist die französische Form.