(續上篇)
大鳥說:“且先不說出題人的意思,單就你現在的代碼,就有很多不足的地方需要改進。比如變數命名,你的命名就是ABCD,變數不帶有任何具體含義,這是非常不規範的;判斷分支,你這樣的寫法,意味著每個條件都要做判斷,等於電腦做了三次無用功;資料輸入有效性判斷等,如果使用者輸入的是字元符號而不是數字怎麼辦?如果除數時,客戶輸入了0怎麼辦?這些都是可以改進的地方。”
“哦,說得沒錯,這個我以前聽老師說過,可是從來沒有在意過,我馬上改,改完再給你看看。”
class Program
{
static void Main(string[] args)
{
try
{
Console.Write("請輸入數字A:");
string strNumberA = Console.ReadLine();
Console.Write("請選擇運算子號(+、-、*、/):");
string strOperate = Console.ReadLine();
Console.Write("請輸入數字B:");
string strNumberB = Console.ReadLine();
string strResult = "";
switch (strOperate)
{
case "+":
strResult = Convert.ToString(Convert.ToDouble(strNumberA) + Convert.ToDouble(strNumberB));
break;
case "-":
strResult = Convert.ToString(Convert.ToDouble(strNumberA) - Convert.ToDouble(strNumberB));
break;
case "*":
strResult = Convert.ToString(Convert.ToDouble(strNumberA) * Convert.ToDouble(strNumberB));
break;
case "/":
if (strNumberB != "0")
strResult = Convert.ToString(Convert.ToDouble(strNumberA) / Convert.ToDouble(strNumberB));
else
strResult = "除數不能為0";
break;
}
Console.WriteLine("結果是:" + strResult);
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine("您的輸入有錯:" + ex.Message);
}
}
}
大鳥:“吼吼,不錯,不錯,改得很快嗎?至在目前代碼來說,實現計算機是沒有問題了,但這樣寫出的代碼是否合出題人的意思呢?”
小菜:“你的意思是物件導向?”
大鳥:“哈,小菜非小菜也!”
(待續)