.Net第一步总结
这几天一直在看“LoveCherry”的ASP.NET第一步,刚看到字符串操作那里,感觉这本书讲的还可以,直是有些跟这个“第一步”有些不符,昨天看了他的一个四则运算的程序,程序很简单,就是要求程序自动生成2个数字,然后让这两个数字随机进行4则运算,让用户输入答案,如果用户输入正确,程序显示正确,如果用户输入错误,则显示运算的正确答案。我满怀信心的敲出了任务的代码,但是一看原作者的代码,我就有点呆了有点太不适合新手了,后来研究了一下才明白过来。讨厌IIF的写法,原来写PHP的时候里面也有这样的写法,但是从来没用过,原因:难阅读,让程序混乱。觉得这段程序放在这里面讲是非常不合适的,因为“运算顺序”没有讲所以很多新手可能因为这个任务就怀疑自己的能力,而放弃.NET,后来把它改了之后程序就变得清晰很多了。
书中源代码:
修改后的代码:
书中源代码:
Random rnd = new Random();
int iNum1 = rnd.Next(10);
int iNum2 = rnd.Next(10);
int iOper = rnd.Next(4);
string[] arroper = { "+", "-", "*", "/" };
Console.Write(iNum1 + " " + arroper[iOper] + " " + iNum2 + " = ");
int iResult = int.Parse(Console.ReadLine());
iNum1 += iOper == 0 ? iNum2 : 0;
iNum1 -= iOper == 1 ? iNum2 : 0;
iNum1 *= iOper == 2 ? iNum2 : 1;
iNum1 /= iOper == 3 ? iNum2 : 1;
Console.WriteLine(iNum1 == iResult ? "答案正确" : "答案错误,正确的答案为" + iNum1 + " ");
int iNum1 = rnd.Next(10);
int iNum2 = rnd.Next(10);
int iOper = rnd.Next(4);
string[] arroper = { "+", "-", "*", "/" };
Console.Write(iNum1 + " " + arroper[iOper] + " " + iNum2 + " = ");
int iResult = int.Parse(Console.ReadLine());
iNum1 += iOper == 0 ? iNum2 : 0;
iNum1 -= iOper == 1 ? iNum2 : 0;
iNum1 *= iOper == 2 ? iNum2 : 1;
iNum1 /= iOper == 3 ? iNum2 : 1;
Console.WriteLine(iNum1 == iResult ? "答案正确" : "答案错误,正确的答案为" + iNum1 + " ");
修改后的代码:
Random rnd = new Random();
int iNum1 = rnd.Next(10);
int iNum2 = rnd.Next(10);
int iOper = rnd.Next(4);
string[] arroper = { "+", "-", "*", "/" };
Console.Write(iNum1 + " " + arroper[iOper] + " " + iNum2 + " = ");
int iResult = int.Parse(Console.ReadLine());
if ( iOper == 0 )
iNum1 = iNum1 + iNum2;
else if ( iOper == 1 )
iNum1 = iNum1 - iNum2;
else if ( iOper == 2 )
iNum1 = iNum1 * iNum2;
else if ( iOper == 3 )
iNum1 = iNum1 / iNum2;
Console.WriteLine(iNum1 == iResult ? "答案正确" : "答案错误,正确的答案为" + iNum1 + " ");
int iNum1 = rnd.Next(10);
int iNum2 = rnd.Next(10);
int iOper = rnd.Next(4);
string[] arroper = { "+", "-", "*", "/" };
Console.Write(iNum1 + " " + arroper[iOper] + " " + iNum2 + " = ");
int iResult = int.Parse(Console.ReadLine());
if ( iOper == 0 )
iNum1 = iNum1 + iNum2;
else if ( iOper == 1 )
iNum1 = iNum1 - iNum2;
else if ( iOper == 2 )
iNum1 = iNum1 * iNum2;
else if ( iOper == 3 )
iNum1 = iNum1 / iNum2;
Console.WriteLine(iNum1 == iResult ? "答案正确" : "答案错误,正确的答案为" + iNum1 + " ");
浙公网安备 33010602011771号