Поэтому я делаю метод для создания линии приветствия на основе двух человек из базы данных.
Существует четыре параметра: два имени ( name1
и name2
) и два пола ( gender
и gender2
).
Для каждой гендерной комбинации у меня есть разные результаты.
Например: если пол 1 M
(мужчина) и пол 2 также M
, результат должен быть примерно таким:
Dear Sir name1 and Sir name2,
На данный момент мой переключатель выглядит так:
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.
}
Обратите внимание, что у меня есть несколько вариантов пола, например, 'R'
for "Dear Relation"
и некоторые другие, которые у меня нет времени для перевода.
Как я могу уменьшить этот оператор двойного переключения?
Ввод второго переключателя в метод не является вариантом, потому что есть также случай, когда оба имени совпадают, и затем выходные данные должны быть объединены следующим образом: "Dear Sir and Madame name1,"
gender1+gender2
.
Madam
нет Madame
. Madame
это французская форма.