データベースから2人に基づいて挨拶文を作成する方法を作成しています。
4つのパラメーターがあります。2つの名前(name1
およびname2
)および2つの性別(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"
翻訳する時間のないいくつかのオプションがあることに注意してください。
この二重のswitchステートメントを減らすにはどうすればよいですか?
メソッドに2番目のスイッチを配置することはオプションではありません。両方の名前が同じで、出力を次のように組み合わせる必要がある場合もあります。 "Dear Sir and Madame name1,"
gender1+gender2
。
Madam
、ではなくMadame
です。 Madame
フランス語の形式です。