ここでどこが間違っているのかについてアドバイスをお願いします。コンソールアプリケーションはメニューの選択肢を表示し、ユーザーに有効なメニューオプションを入力するように求めます。
これで、入力した数字が1、2、または3の場合、「オプションxを選択しました」と表示され、次に「任意のキーを押して閉じます」と表示されますが、プログラムには「オプションxを選択しました」と表示されません。次に、「任意のキーを押して閉じます」。ただし、数値が1未満または3を超える場合は、「メニューの選択が1〜3の間ではない」と言ってから、「再入力してください」と表示されます。どこが間違っているのですか?
私は長い間プログラミングをしていませんでしたが、今回エラーを修正できれば、将来を見据えています。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _4._6
{
class Program
{
static void Main(string[] args)
{
int iChoice = 0;
Console.WriteLine("1: Add two numbers");
Console.WriteLine("2: Multiply two numbers");
Console.WriteLine("3: Exit the program");
Console.WriteLine("Enter your choice: ");
iChoice = Convert.ToInt32(Console.ReadLine());
while (iChoice < 1 || iChoice > 3)
{
Console.WriteLine("Menu choice not between 1-3: ");
Console.Write("Please re-enter: ");
iChoice = Convert.ToInt32(Console.ReadLine());
Console.ReadKey();
if (iChoice > 1 || iChoice < 3)
{
Console.WriteLine("You have chosen option " + iChoice);
iChoice = Convert.ToInt32(Console.ReadLine());
Console.ReadKey();
}
}
}
}
}