Quindi sto creando un metodo per creare una linea di saluto basata su due persone da un database.
Esistono quattro parametri: i due nomi ( name1e name2) e i due sessi ( gendere gender2).
Per ogni combinazione di genere, ho una sorta di output diverso.
Ad esempio: se il genere 1 è M(man) e anche il genere 2 M, l'output dovrebbe essere simile a:
Dear Sir name1 and Sir name2,
In questo momento, il mio interruttore è simile al seguente:
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 alcune altre che non ho il tempo di tradurre.
Come posso ridurre questa doppia istruzione switch?
Mettere il secondo switch in un metodo non è un'opzione perché c'è anche un caso in cui entrambi i nomi sono uguali e quindi l'output deve essere combinato come: "Dear Sir and Madame name1,"
gender1+gender2.
Madamnon lo è Madame. Madameè la forma francese.