0

私は C# の初心者なので、コンソールでのみ記述します。gotoこの割り当てでは、現在使用している" " を使用しない必要があります。

コンソールの最後に質問されます。「はい」の場合は入り口に戻り、「いいえ」の場合は次の質問に進みます。

switch (pitanje)
{
    case ("da"):
        goto start;
    case ("ne"):
        Console.ForegroundColor = ConsoleColor.Magenta;
        goto end;
    default:
        break;
}

したがって、「start」は先頭 (最初のエントリ) にあり、「end」はコンソールの最後の質問の前に位置します。

なしでこれを達成するにはどうすればよいですかgoto

4

4 に答える 4

2
string pitanje = "";

while(pitanje != "ne")
{
    //start

    if(pitanje == "da")
        //logic

}
Console.ForegroundColor = ConsoleColor.Magenta;

ps ロシア語の命名変数は最良の選択ではありません。

Edsger W. Dijkstra による古典的な記事Go To Statement Considered Harmful を読むことも検討してください。構造化プログラミングに関する彼の本も読んでください。プログラムを分析してその正確性を証明できるような方法でプログラムを構築する方法については、非常に重要です。

于 2013-01-23T17:01:09.847 に答える
0

あなたのコードはおそらく一種のループを形成します。その場合、次のように置き換えることができます。

while (pitanje != "ne") {
    // Read content of pitanje …

    switch (pitanje) {
        case "da":
            continue;
        case "ne":
            Console.ForegroundColor = ConsoleColor.Magenta;
            break;
    }
}

defaultケースは必要ありません。continueループの先頭に戻ります。単純にne色を変更すると、ループ ヘッダーでループがキャンセルされます。

于 2013-01-23T16:58:56.870 に答える
0

switchこれがプログラムの最後の部分であると仮定してwhile、変数をチェックするループをプログラムの周りに配置します。switch分岐の内容に基づいてその変数を更新します。

于 2013-01-23T16:57:00.560 に答える
0

中断または継続を使用できます。または、変数をフラグとして使用できます。内部でループと条件を使用することもできます。それはあなたのプログラムに完全に依存します

于 2013-01-23T17:00:46.683 に答える