Vì vậy, tôi đang thực hiện một phương pháp để tạo ra một dòng chào dựa trên hai người từ cơ sở dữ liệu.
Có bốn tham số: hai tên ( name1
và name2
) và hai giới tính ( gender
và gender2
).
Đối với mỗi kết hợp giới tính, tôi có một loại đầu ra khác nhau.
Ví dụ: nếu giới tính 1 là M
(nam giới) và giới tính 2 cũng vậy M
, thì đầu ra phải giống như:
Dear Sir name1 and Sir name2,
Tại thời điểm này, công tắc của tôi trông như thế này:
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.
}
Lưu ý rằng tôi có nhiều tùy chọn giới tính, như 'R'
cho "Dear Relation"
và một số tùy chọn khác mà tôi không có thời gian để dịch.
Làm thế nào tôi có thể giảm tuyên bố chuyển đổi kép này?
Đặt công tắc thứ hai trong một phương thức không phải là một tùy chọn vì cũng có trường hợp cả hai tên giống nhau và sau đó đầu ra phải được kết hợp như sau: "Dear Sir and Madame name1,"
gender1+gender2
.
Madam
, không Madame
. Madame
là hình thức của Pháp.