c#入門之實現(xiàn)簡易存款利息計算器示例
本想把練習題做了的結果放上來,不過發(fā)現(xiàn)附錄是有答案的,就算了吧,自己做了沒問題就行了哈。之前提到過,要是有朋友有想法,需要做小工具我可以幫忙實現(xiàn),不過貌似大家都很忙。SO,自己學完第4章后,決定做一個工具:簡易存款利息計算器,可以更好地復習前面學過的知識。
原理介紹
為啥叫簡易呢,因為現(xiàn)在只能計算整存整?。ㄖ挥?、2、3、5四種年限哈)的利息,并且沒有啟用自動轉存(俗稱利滾利,就是把本年和上年的利息之和,作為下年利息計算時的本金)功能,方便和網上已有的工具對比計算結果,判斷自己的程序算出來正不正確哈(其實是不想越寫越復雜,怕寫不出來,哈哈,到時候承諾了的,半天拿不出來,就有點丟人了)。
使用do循環(huán)作為程序的主體,用戶不輸入退出指令(0),程序會一直提示輸入操作指令;
使用switch判斷用戶輸入的指令(無效指令會繼續(xù)提示輸入),執(zhí)行對應的操作;
由于變量是在主體do循環(huán)外聲明的,所以只要不退出循環(huán),變量的值會一直保留,符合用戶的操作習慣;
當然,這還是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("請輸入您的本金數(shù)額:");
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("感謝使用^_^,按任意鍵退出……");
Console.ReadKey();
結語
程序寫完后,回頭去看書上的switch一節(jié),才發(fā)現(xiàn)自己理解錯了一個概念,書上說“執(zhí)行完一個case后,再執(zhí)行第二個case是非法的”,自己把case理解成switch了,哈哈,怪不得這個程序可以調試通過。
最后,說好的簡易哈,很多地方還可以完善(其實BUG更多,哈),隨著后面的深入學習,相信可以把這個工具完善得很好。例如:封裝每個功能項為函(對)數(shù)(象),在使用時,只需傳入相關參數(shù)即可返(輸)回(出)結果。
相關文章
C#實現(xiàn)操作windows系統(tǒng)服務(service)的方法
這篇文章主要介紹了C#實現(xiàn)操作windows系統(tǒng)服務(service)的方法,可實現(xiàn)系統(tǒng)服務的啟動和停止功能,非常具有實用價值,需要的朋友可以參考下2015-04-04