Jadi saya membuat metode untuk membuat garis salam berdasarkan dua orang dari database.
Ada empat parameter: dua nama ( name1
dan name2
) dan dua jenis kelamin ( gender
dan gender2
).
Untuk setiap kombinasi gender, saya memiliki jenis output yang berbeda.
Misalnya: jika jenis kelamin 1 adalah M
(laki-laki) dan jenis kelamin 2 juga M
, hasilnya harus seperti:
Dear Sir name1 and Sir name2,
Saat ini, saklar saya terlihat seperti ini:
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.
}
Perhatikan bahwa saya memiliki beberapa pilihan gender, seperti 'R'
untuk "Dear Relation"
dan beberapa lagi yang saya tidak punya waktu untuk menerjemahkan.
Bagaimana saya bisa mengurangi pernyataan saklar ganda ini?
Menempatkan saklar kedua dalam metode bukanlah pilihan karena ada juga kasus di mana kedua nama adalah sama dan kemudian output harus digabungkan seperti: "Dear Sir and Madame name1,"
gender1+gender2
.
Madam
tidak Madame
. Madame
adalah bentuk Prancis.