本想把練習題做了的結果放上來,不過發現附錄是有答案的,就算了吧,自己做了沒問題就行了哈。之前提到過,要是有朋友有想法,需要做小工具我可以幫忙實現,不過貌似大家都很忙。SO,自己學完第4章后,決定做一個工具:簡易存款利息計算器,可以更好地復習前面學過的知識。
為啥叫簡易呢,因為現在只能計算整存整取(只有1、2、3、5四種年限哈)的利息,并且沒有啟用自動轉存(俗稱利滾利,就是把本年和上年的利息之和,作為下年利息計算時的本金)功能,方便和網上已有的工具對比計算結果,判斷自己的程序算出來正不正確哈(其實是不想越寫越復雜,怕寫不出來,哈哈,到時候承諾了的,半天拿不出來,就有點丟人了)。
當然,這還是v1.0版本哈,隨著后面的不斷深入學習,我會(不)嘗(保)試(證)完善這個程序,盡量把所學的知識點都能夠融入進去,使程序的每個版本更新時,都會有不錯的變化。
Console.WriteLine("操作指令說明:輸入本金(1),輸入存款年度(2),計算(3),查看利率(4),退出(0)"); double benJ=0,liV=0,shouY=0; int cunY = 0,cmdOrder = 0; do { cmdOrder=Convert.ToInt16(Console.ReadLine()); switch (cmdOrder) { case 1: { Console.WriteLine("請輸入您的本金數額:"); do { benJ = Convert.ToDouble(Console.ReadLine()); if (benJ < 100) Console.WriteLine("最低投資額為100,請重新輸入:"); } while (benJ < 100); shouY = benJ; } break; case 2: { Console.WriteLine("請輸入存入的年限(1、2、3、5):"); do { cunY = Convert.ToInt16(Console.ReadLine()); if (cunY < 1) Console.WriteLine("存入年限最少為1年,請重新輸入:"); } while (cunY < 1); } switch (cunY) { default: case 1: liV = 3.00; break; case 2: liV = 3.75; break; case 3: liV = 4.25; break; case 5: liV = 4.75; break; } liV = liV / 100.00; break; case 3: { for (int i = 1; i <= cunY; i++) { shouY += benJ * liV; //Console.WriteLine("{0},{1}",shouY,liV); } Console.WriteLine("按{0}年的利率{1}計算,您的本金{2}將在{0}后增長至:{3}", cunY, liV, benJ, shouY); Console.WriteLine("注:未啟用自動轉存。"); } break; case 4: { Console.WriteLine("利率表,@sfrost"); Console.WriteLine("1年:3.00%、2年:3.75%"); Console.WriteLine("3年:4.25%、5年:4.75%"); Console.WriteLine("/n"); } break; default: if (cmdOrder != 0) Console.WriteLine("請輸入有效的命令序號(1 - 9):"); break; } if (cmdOrder != 0) Console.WriteLine("請輸入操作指令(1 - 9):"); } while (cmdOrder != 0); Console.WriteLine("/n"); Console.WriteLine("感謝使用^_^,按任意鍵退出&hell
程序寫完后,回頭去看書上的switch一節,才發現自己理解錯了一個概念,書上說“執行完一個case后,再執行第二個case是非法的”,自己把case理解成switch了,哈哈,怪不得這個程序可以調試通過。
最后,說好的簡易哈,很多地方還可以完善(其實BUG更多,哈),隨著后面的深入學習,相信可以把這個工具完善得很好。例如:封裝每個功能項為函(對)數(象),在使用時,只需傳入相關參數即可返(輸)回(出)結果。
大家多多指教哈~~~~
新聞熱點
疑難解答