c#入門之實現(xiàn)簡易存款利息計算器示例
本想把練習(xí)題做了的結(jié)果放上來,不過發(fā)現(xiàn)附錄是有答案的,就算了吧,自己做了沒問題就行了哈。之前提到過,要是有朋友有想法,需要做小工具我可以幫忙實現(xiàn),不過貌似大家都很忙。SO,自己學(xué)完第4章后,決定做一個工具:簡易存款利息計算器,可以更好地復(fù)習(xí)前面學(xué)過的知識。
原理介紹
為啥叫簡易呢,因為現(xiàn)在只能計算整存整?。ㄖ挥?、2、3、5四種年限哈)的利息,并且沒有啟用自動轉(zhuǎn)存(俗稱利滾利,就是把本年和上年的利息之和,作為下年利息計算時的本金)功能,方便和網(wǎng)上已有的工具對比計算結(jié)果,判斷自己的程序算出來正不正確哈(其實是不想越寫越復(fù)雜,怕寫不出來,哈哈,到時候承諾了的,半天拿不出來,就有點丟人了)。
使用do循環(huán)作為程序的主體,用戶不輸入退出指令(0),程序會一直提示輸入操作指令;
使用switch判斷用戶輸入的指令(無效指令會繼續(xù)提示輸入),執(zhí)行對應(yīng)的操作;
由于變量是在主體do循環(huán)外聲明的,所以只要不退出循環(huán),變量的值會一直保留,符合用戶的操作習(xí)慣;
當(dāng)然,這還是v1.0版本哈,隨著后面的不斷深入學(xué)習(xí),我會(不)嘗(保)試(證)完善這個程序,盡量把所學(xué)的知識點都能夠融入進去,使程序的每個版本更新時,都會有不錯的變化。
詳細代碼
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("注:未啟用自動轉(zhuǎn)存。");
}
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();
結(jié)語
程序?qū)懲旰螅仡^去看書上的switch一節(jié),才發(fā)現(xiàn)自己理解錯了一個概念,書上說“執(zhí)行完一個case后,再執(zhí)行第二個case是非法的”,自己把case理解成switch了,哈哈,怪不得這個程序可以調(diào)試通過。
最后,說好的簡易哈,很多地方還可以完善(其實BUG更多,哈),隨著后面的深入學(xué)習(xí),相信可以把這個工具完善得很好。例如:封裝每個功能項為函(對)數(shù)(象),在使用時,只需傳入相關(guān)參數(shù)即可返(輸)回(出)結(jié)果。
相關(guān)文章
C#中Kestrel和IIS服務(wù)器下的同步與異步配置
本篇文章主要講解什么是Kestrel和IIS服務(wù)器和特點,以及他們?nèi)绾闻渲猛脚c異步,具有一定的參加價值,感興趣的可以了解一下2023-08-08C#實現(xiàn)從windows剪貼板獲取內(nèi)容的方法
這篇文章主要介紹了C#實現(xiàn)從windows剪貼板獲取內(nèi)容的方法,涉及C#操作剪貼板的相關(guān)技巧,非常簡單實用,需要的朋友可以參考下2015-05-05winform攔截關(guān)閉按鈕觸發(fā)的事件示例
這篇文章主要介紹了c# winform攔截關(guān)閉按鈕觸發(fā)的事件示例,大家參考使用吧2014-01-01C#實現(xiàn)操作windows系統(tǒng)服務(wù)(service)的方法
這篇文章主要介紹了C#實現(xiàn)操作windows系統(tǒng)服務(wù)(service)的方法,可實現(xiàn)系統(tǒng)服務(wù)的啟動和停止功能,非常具有實用價值,需要的朋友可以參考下2015-04-04