問題のあるサンプルのコードを書きました。コード」Visual Studio 2015コミュニティC#電卓のコードエラー
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SEC3_LEC19 {
class Program {
static void Main(string[] args) {
int x, y;
string num1, num2, choice = "yes";
char op;
bool again = true;
while (again) {
Console.WriteLine("Enter two integers");
// First Number
Console.Write("Enter num1: ");
num1 = Console.ReadLine();
// Second Number
Console.Write("Enter num2: ");
num2 = Console.ReadLine();
// The Operator
Console.Write(
"Enter the operation [+ - * /]: ");
op = (char)Console.Read();
if (int.TryParse(num1, out x)) {
;
} else {
Console.WriteLine(
num1 + " is NaN val set to 0");
}
if (int.TryParse(num2, out y)) {
;
} else {
Console.WriteLine(
num2 + " is NaN val set to 0");
}
switch (op) {
case '+':
Console.WriteLine(
x + " + " + y + " = " + (x + y));
break;
case '-':
Console.WriteLine(
x + " - " + y + " = " + (x - y));
break;
case '*':
Console.WriteLine(
x + " * " + y + " = " + (x * y));
break;
case '/':
if (y == 0) {
Console.WriteLine(
"Division by zero not allowed!");
} else {
Console.WriteLine(
x + "/" + y + " = " + (x - y));
}
break;
default:
Console.WriteLine(
"Operator Unrecognized");
break;
}
// Offer user to try again
Console.Write("Go again? [yes/no]: ");
// Read user input [NOT WORKING]
choice = Console.ReadLine();
switch (choice.ToLower()) {
case "yes":
again = true;
break;
case "no":
again = false;
break;
default:
Console.WriteLine(
"Unrecognized choice!");
break;
}
}
// **********************************************
Console.WriteLine("Press any key to continue..");
Console.ReadKey();
}
}
}
コードは、コンソールを介して、whileループを使用して2つの数値を入力するようにユーザに依頼するために、それが実行し、計算結果を表示した後、オペレータ。彼らはユーザーに再度試してみるかどうか聞いてみる。これはchoice = Console.ReadLine()
ステートメントを使用します。答えに基づいて、コードはwhileループを続行するか、ループから抜け出すことです。残念ながら、コンパイラはその選択部分をスキップし、switch文に進むだけです。コードの上部にも同様の記述があり、うまく動作します。
どのような考えにも感謝します。
は、あなたのコードにリンクしないでください。質問に関連するすべてのコードを含めます。 –
@Quantic彼はユーザーの入力を待つことになっています。 –
省略部分を見せていただけますか?あなたはどのように2つの数字の値を読んでいますか? – Steve