編集。 受け取った答えに基づいて、私は学習の初期段階で私が知っている以上に多くのことを尋ねていることに気づいたので、もっと学び、理解するまでこの質問を忘れてしまいました。私は自分自身を過ぎて混乱させたくありません。誤った値を入力しました。スタートに行く。
ガイダンスを探している初心者。
私はここで質問した前の質問から、私はgoto Startに紹介されました。 switch文で
私はそれを使い始めました。ユーザーが無効な入力を入力したときにプログラムを開始したいと思っていました。例の下の私の電卓で、ユーザが数字以外の何かを入力した場合、入力を無視してユーザに数字を入力するように促すにはどうすればよいですか? 「無効な入力です。再試行してください」と表示されることもあります。
数字だけが入力された場合、コンソールがクラッシュしてエラーが表示されます。
援助未テスト
int num1, num2, output;
string op;
Console.Write("\n\n");
Console.WriteLine("Calculator\n");
Console.WriteLine("=============");
Console.Write("\n\n");
Start:
Console.Write("Please enter first number:");
num1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Please enter second number: ");
num2 = Convert.ToInt32(Console.ReadLine());
Operator:
Console.WriteLine("Please select operator: ");
Console.WriteLine("\nAddition : +");
Console.WriteLine("Multiplication: *");
Console.WriteLine("Division: /");
Console.WriteLine("Subtraction: -");
Console.Write("Enter Operator: ");
op = Console.ReadLine();
switch (op)
{
case "+":
output = num1 + num2;
Console.WriteLine("{0} added to {1} = {2}", num1, num2, output);
break;
case "*":
output = num1 * num2;
Console.WriteLine("{0} multiplied by {1} = {2}", num1, num2, output);
break;
case "/":
if (num2 == 0)
{
Console.WriteLine("Cannot divide by zero. Please try again");
goto Start;
}
else
{
output = num1/num2;
Console.WriteLine("{0} divided by {1} = {2}", num1, num2, output);
break;
}
case "-":
output = num1 - num2;
Console.WriteLine("{0} minus{1} = {2}", num1, num2, output);
break;
default:
Console.WriteLine("You entered an invalid operator. Please try again\n");
goto Operator;
}
Console.WriteLine("\nPress enter to continue....");
Console.ReadLine();
do/whileステートメントはまだ分かりません。( –
@Judeあなたがよく知っているコンストラクトは分かりませんが、あなたが問題を抱えている場合は、あなたが選択したループをリファクタリングします。 – slawekwin
正直なところ、/3週間前。 私はより多くの学習を開始し、より多くを理解することができる午前まで、私はちょうど今の私の質問を忘れるべきだと思います。 私はステップオーバーした可能性があります。 かかわらご協力いただきありがとうございます。 –