Quindi sto creando un metodo per creare una linea di saluto basata su due persone da un database.
Ci sono quattro parametri: i due nomi ( name1
e name2
) ei due sessi ( gender
e gender2
).
Per ogni combinazione di genere, ho un tipo di output diverso.
Ad esempio: se gender 1 è M
(man) e gender 2 è anche M
, l'output dovrebbe essere qualcosa del tipo:
Dear Sir name1 and Sir name2,
Al momento, il mio interruttore ha il seguente aspetto:
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.
}
Nota che ho più opzioni di genere, come 'R'
per "Dear Relation"
e altre ancora che non ho il tempo di tradurre.
Come posso ridurre questa dichiarazione di doppio passaggio?
L'inserimento del secondo switch in un metodo non è un'opzione perché esiste anche un caso in cui entrambi i nomi sono uguali e quindi l'output deve essere combinato come: "Dear Sir and Madame name1,"