1

私はスイッチステートメントを持っています:

switch(choice)
{
case 1:
//some compute
break;
case 2:
//some compute
break;
case 3:
//some compute
break;
case 4:
//some compute
break;
case 5:
//Call case 3
//Call case 4
//perform my own function
break;
}

ケース 3 とケース 4 の関数を呼び出して、ケース 5 で独自の計算を実行するにはどうすればよいですか。

私ができる唯一の方法は、ケース 3 の同じコードを実行し、次にケース 4 を実行してから自分の計算を実行することです。関数を呼び出すように、ケース 3 と 4 を直接呼び出してからケース 5 に戻る方法があるのだろうかと思います。

4

4 に答える 4

3

それを直接行うことはできません。ケースコードを関数に入れてから、その関数を呼び出すことができます。

switch(choice)
{
case 1:
//some compute
break;
case 2:
//some compute
break;
case 3:
doCase3stuff();
break;
case 4:
doCase4stuff();
break;
case 5:
doCase3stuff();
doCase4stuff();
//perform my own function
break;
}
于 2012-10-13T09:17:27.393 に答える
1

コードを関数/メソッドに配置し、対応するケースでそれらを呼び出します。

于 2012-10-13T09:17:26.097 に答える
1

私が最初に考えたのは、これをループに入れ、ケース 5 の場合は選択肢を 4 に変更することです。または、可能であれば、5 の代わりに選択肢として 4 を渡して、再帰呼び出しを実行することもできます。

于 2012-10-13T09:17:28.913 に答える
1

次に、ケース 3 とケース 4 のコードを 2 つの関数として作成し、コードを重複して記述せずに呼び出すことができるようにします。

于 2012-10-13T09:18:05.997 に答える