การบ้านครั้งที่ 6

โปรแกรมที่ 5.13
using System;

namespace Calculatelnterst{

    class Program {
        static void Main(){
            Console.Write("Enter principal: ");
            string sPrincipal = Console.ReadLine();
            decimal mPrincipal = Convert.ToDecimal(sPrincipal);
            if (mPrincipal < 0)
            {
                Console.WriteLine("Principal cannot be negative");
                mPrincipal = 0;
            }
            Console.Write("Enter interest");
            string slnterest = Console.ReadLine();
            decimal mlnterest = Convert.ToDecimal(slnterest);
            if (mPrincipal < 0)
            {
                Console.WriteLine("Principal cannot be negative");
                mPrincipal = 0;
            }
            decimal mlnterestPaid;
            mlnterestPaid = mPrincipal * (mlnterest / 100);
            decimal mTotal = mPrincipal + mlnterestPaid;
            Console.WriteLine();
            Console.WriteLine("Principal   =  "  +  mPrincipal);
            Console.WriteLine("Interest  = " + mlnterest + "%");
            Console.WriteLine();
            Console.WriteLine("lnterest paid = " + mlnterestPaid);
            Console.WriteLine("Total         = " + mTotal);
            Console.WriteLine("Press Enter to terminate...");
            Console.Read();
        }
    }
}

โปรแกรมที่ 5.13
using System;
namespace CalculatelnterestTableMoreForgiving {
    class Program {
        static void Main(string[] args) {
            int nMaximumlnterest = 50;             //กำหนดค่าดอกเบี้ยสูงสุด
            decimal mPrincipal;
            while (true)                           //วนลูปปรับเงินต้นที่มีค่าเป็นบวก
            {
                Console.WriteLine("Enter principal : ");
                string sPrincipal = Console.ReadLine();
                mPrincipal = Convert.ToDecimal(sPrincipal);
                if (mPrincipal >= 0)
                {
                    break;                       //ถ้าหากมีค่าเป็นบวกออกมาจากวนลูป
                }
                Console.WriteLine("Principal cannot be negatine");
                Console.WriteLine("Try agian");
                Console.WriteLine();
            }
            decimal mlnterest;
            while (true)    //วนลูปปรับอัตราดอกเบี้ยที่มีค่าเป็นบวกและไม่เกินค่าสูงสุด
            {
                Console.Write("Enter interest");
                string slnterest = Console.ReadLine();
                mlnterest = Convert.ToDecimal(slnterest);
                if (mlnterest > 0 && mlnterest <= nMaximumlnterest)
                {
                    break; //ถ้าหากมีค่าเป็นบวกและน้อยกว่าค่าสูงสุดจะออกจากลูป
                }
                Console.WriteLine("lnterest cannot be negative" +
                              "or greater than " + nMaximumlnterest);
                Console.WriteLine("Try again");
                Console.WriteLine();
            }
            Console.Write("Enter number of year: ");
            string sDuration = Console.ReadLine();
            int nDuration = Convert.ToInt32(sDuration);
            Console.WriteLine();
            Console.WriteLine("Principal  = " + mPrincipal);
            Console.WriteLine("lnterest  = " + mlnterest + "%");
            Console.WriteLine("Duration  = " + nDuration + "year");
            Console.WriteLine();
            int nYear = 1;
            while (nYear <= nDuration)
            {
                decimal mlnterestPaid;
                mlnterestPaid = mPrincipal * (mlnterest / 100);
                mPrincipal = mPrincipal + mlnterestPaid;
                mPrincipal = decimal.Round(mPrincipal, 2);
                Console.WriteLine(nYear + " - " + mPrincipal);
                nYear = nYear + 1;
            }
            Console.WriteLine("Prees Enter to terminate...");
            Console.Read();
        }
    }
}