Compound Interest


This small application shows how to calculate the compound interest of a saving.


When you deposit money in a savings account, your money earns interest that is calculated every month or quarter, etc. Because this is not money you need right away, the amount accrued can be reinvested, thus boosting your interest so the next calculation would be based on the original amount plus the new added value. This is the basis of compound interest.

The compound interest can be calculated monthly or quarterly, etc based on the original amount you deposited, the interest rate, and the period you and the institution agreed upon.

Creating the Application

This application uses a dialog box equipped with the necessary controls used to perform the type or related calculated. The formula we will use to perform the calculations is as follows:

Compound Interest Formula P = Principal
r = Annual (Interest) Rate
m = Number of Compounding Periods per Year
n = Total Number of Compounding Periods
A = Amount Earned After n periods

Practical Learning: Starting the Exercise

  1. Start Microsoft Visual C++ 2005
  2. Create a new CLR Windows Forms Application named CompoundInterest1
  3. Design the form as follows:
    Application Design
    Control Name Text Additional Properties
    Form   Compound Interest MaximizeBox: False
    GroupBox   Preparation  
    Label Principal:
    TextBox txtPrincipal 0.00 TextAlign: Right
    Label Interest Rate:
    TextBox txtInterestRate 0.00 TextAlign: Right
    Label %
    Label Number of Periods:
    TextBox txtPeriods 1 TextAlign: Right
    Label Years
    GroupBox Compound Frequency
    RadioButton rdoMonthly Monthly CheckAlign: MiddleRight
    RadioButton rdoQuarterly Quarterly CheckAlign: MiddleRight
    RadioButton rdoSemiannually Semiannually CheckAlign: MiddleRight
    RadioButton rdoAnnually Annually CheckAlign: MiddleRight
    Button btnCalculate Calculate On the form, set AcceptButton: btnCalculate
    Button btnClose Close On the form,  set CancelButton: btnClose
    GroupBox Results
    Label Interest Earned: Align Text: Right
    TextBox txtInterestEarned 0.00 TextAlign: Right
    Label   Amount Earned:
    TextBox txtAmountEarned 0.00 TextAlign: Right
  4. On the form, double-click the Calculate button and implement its OnClick() event as follows:
    System::Void btnCalculate_Click(System::Object^  sender, 
    				System::EventArgs^  e)
    	 double Principal, AnnualRate, InterestEarned;
    	 double FutureValue, RatePerPeriod;
    	 int    NumberOfPeriods, CompoundType;
    	 Principal  = double::Parse(txtPrincipal->Text);
    	 AnnualRate = double::Parse(txtInterestRate->Text) / 100;
    	 if( rdoMonthly->Checked )
    		 CompoundType = 12;
    	 else if( rdoQuarterly->Checked )
    		 CompoundType = 4;
    	 else if( rdoSemiannually->Checked )
    		 CompoundType = 2;
    		 CompoundType = 1;
    	 NumberOfPeriods = int::Parse(txtPeriods->Text);
    	 double i = AnnualRate / CompoundType;
    	 int n    = CompoundType * NumberOfPeriods;
    	 RatePerPeriod  = AnnualRate / NumberOfPeriods;
    	 FutureValue    = Principal * Math::Pow(1+i, n);
    	 InterestEarned = FutureValue - Principal;
    	 txtInterestEarned->Text = InterestEarned.ToString("C");
    	 txtAmountEarned->Text   = FutureValue.ToString("C");
  5. On the form, double-click the Close button and implement its OnClick() event as follows:
    System::Void btnClose_Click(System::Object^  sender, 
    			    System::EventArgs^  e)
  6. Test the application
  7. After using it, close it and return to your programming environment

Home Copyright 2004-2006 FunctionX, Inc. FunctionX