Swift Program to Calculate simple interest and compound interest

This tutorial will discuss how to write a swift program to calculate the simple interest and compound interest.

Compound Interest

The interest applied on the principal and interest together over a certain period of time is known as the compound interest. Or in other words compound interest is known as the interest on interest. It is calculated after calculating amount.

Formula

Following is the formula of compound interest ?

Amount(A) = Principal(P)(1 + Rate/100)<sup>Time(t)<br></sup>C.I = Amount(A) - Principal(P)

Where

Principal(P) ? Principal amount represents the amount which is initially invested.

Rate(R) ? Rate represents the interest rate which applied on the principal amount for the given time period.

Time(T) ? Time represents the time period for which the amount is invested.

Amount(A) ? Amount represent the total returned money that including principal and interest amount.

Simple Interest

Simple interest is the most commonly used method to find the interest on the money for a given time period. In this method, the interest is always applying on the original principal amount with same the interest rate for every time period. It is calculated by multiplying the interest rate by the principal amount and the time.

Formula

Following is the formula of simple interest ?

S.I = Principal Amount(P) x Time(T) x Rate(R)/100

Where

Principal(P) ? Principal amount represents the amount which is initially invested.

Rate(R) ? Rate represents the interest rate which applied on the principal amount for the given time period.

Time(T) ? Time represents the time period for which the amount is invested.

Algorithm to calculate Simple interest and Compound interest

  • Step 1 ? Define 3 variables - Principal, Rate and Duration

  • Step 2 ? Assign value to those three variables

  • Step 3 ? Define a function for Simple interest and Compound interest

  • Step 4 ? Run the values through the S.I and C.I functions

  • Step 5 ? Display the final result on the output screen

Example 1

The following program shows how to calculate simple interest and compound interest.

<div class="execute"></div><div class="code-mirror  language-javascript" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">import</span> Foundation
<span class="token keyword">import</span> Glibc

func <span class="token function">simpleInterest</span><span class="token punctuation">(</span>Principal<span class="token operator">:</span> Double<span class="token punctuation">,</span> Rate<span class="token operator">:</span> Double<span class="token punctuation">,</span> Time<span class="token operator">:</span> Double<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> Double<span class="token punctuation">{</span>
	<span class="token keyword">let</span> Result1 <span class="token operator">=</span> Principal <span class="token operator">*</span> Time <span class="token operator">*</span> Rate <span class="token operator">/</span> <span class="token number">100</span>
	<span class="token keyword">return</span> Result1
<span class="token punctuation">}</span>

func <span class="token function">compoundInterest</span><span class="token punctuation">(</span>Principal<span class="token operator">:</span> Double<span class="token punctuation">,</span> Rate<span class="token operator">:</span> Double<span class="token punctuation">,</span> Time<span class="token operator">:</span> Double<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> Double<span class="token punctuation">{</span>
	<span class="token keyword">let</span> amount <span class="token operator">=</span> Principal <span class="token operator">*</span> <span class="token function">pow</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token number">1</span> <span class="token operator">+</span> Rate<span class="token operator">/</span><span class="token number">100</span><span class="token punctuation">)</span><span class="token punctuation">,</span> Time<span class="token punctuation">)</span>
	<span class="token keyword">let</span> Result2 <span class="token operator">=</span> amount <span class="token operator">-</span> Principal
	<span class="token keyword">return</span> Result2
<span class="token punctuation">}</span>

<span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Simple Interest is - "</span><span class="token punctuation">,</span> <span class="token function">simpleInterest</span><span class="token punctuation">(</span>Principal<span class="token operator">:</span><span class="token number">10000</span><span class="token punctuation">,</span> Rate<span class="token operator">:</span> <span class="token number">5</span><span class="token punctuation">,</span> Time<span class="token operator">:</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Compound Interest is - "</span><span class="token punctuation">,</span> <span class="token function">compoundInterest</span><span class="token punctuation">(</span>Principal<span class="token operator">:</span><span class="token number">10000</span><span class="token punctuation">,</span> Rate<span class="token operator">:</span> <span class="token number">5</span><span class="token punctuation">,</span> Time<span class="token operator">:</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
</div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>

Output

Simple Interest is - 2500.0
Compound Interest is - 2762.815625000003

In the above c ode, we create two functions named as simpleInterest() and compoundInterest(). simpleInterest() function returns the simple interest of the given data(that is principal, rate, time) using the mathematical formula whereas compoundInterest() function returns the compound interest of the given data(that is principal, rate, time) using the mathematical formula. Now display the simple interest and compound interest by calling the simpleInterest() and compoundInterest() functions along with the values of the thre e

parameters named Principal:10000, Rate: 5, and Time:5

Example 2

The following program shows how to calculate simple interest and compound interest by taking user inputs.

<div class="code-mirror  language-javascript" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">import</span> Foundation
<span class="token keyword">import</span> Glibc

<span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Please enter principal-"</span><span class="token punctuation">)</span>
<span class="token keyword">var</span> Principal <span class="token operator">=</span> <span class="token function">Double</span><span class="token punctuation">(</span><span class="token function">readLine</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">!</span><span class="token punctuation">)</span><span class="token operator">!</span>
<span class="token function">print</span><span class="token punctuation">(</span>Principal<span class="token punctuation">)</span>
<span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Please enter rate-"</span><span class="token punctuation">)</span>
<span class="token keyword">var</span> Rate <span class="token operator">=</span> <span class="token function">Double</span><span class="token punctuation">(</span><span class="token function">readLine</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">!</span><span class="token punctuation">)</span><span class="token operator">!</span>
<span class="token function">print</span><span class="token punctuation">(</span>Rate<span class="token punctuation">)</span>
<span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Please enter time duration-"</span><span class="token punctuation">)</span>
<span class="token keyword">var</span> Duration <span class="token operator">=</span> <span class="token function">Double</span><span class="token punctuation">(</span><span class="token function">readLine</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">!</span><span class="token punctuation">)</span><span class="token operator">!</span>
<span class="token function">print</span><span class="token punctuation">(</span>Duration<span class="token punctuation">)</span>
func <span class="token function">simpleInterest</span><span class="token punctuation">(</span><span class="token constant">P</span><span class="token operator">:</span> Double<span class="token punctuation">,</span> <span class="token constant">R</span><span class="token operator">:</span> Double<span class="token punctuation">,</span> <span class="token constant">T</span><span class="token operator">:</span> Double<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> Double<span class="token punctuation">{</span>
   <span class="token keyword">let</span> Result1 <span class="token operator">=</span> <span class="token constant">P</span> <span class="token operator">*</span> <span class="token constant">T</span> <span class="token operator">*</span> <span class="token constant">R</span> <span class="token operator">/</span> <span class="token number">100</span>
   <span class="token keyword">return</span> Result1
<span class="token punctuation">}</span>

func <span class="token function">compoundInterest</span><span class="token punctuation">(</span><span class="token constant">P</span><span class="token operator">:</span> Double<span class="token punctuation">,</span> <span class="token constant">R</span><span class="token operator">:</span> Double<span class="token punctuation">,</span> <span class="token constant">T</span><span class="token operator">:</span> Double<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> Double<span class="token punctuation">{</span>
   <span class="token keyword">let</span> <span class="token constant">A</span> <span class="token operator">=</span> <span class="token constant">P</span> <span class="token operator">*</span> <span class="token function">pow</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token number">1</span> <span class="token operator">+</span> <span class="token constant">R</span><span class="token operator">/</span><span class="token number">100</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token constant">T</span><span class="token punctuation">)</span>
   <span class="token keyword">let</span> Result2 <span class="token operator">=</span> <span class="token constant">A</span> <span class="token operator">-</span> <span class="token constant">P</span>
   <span class="token keyword">return</span> Result2
<span class="token punctuation">}</span>

<span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Press 1 for simple interest\n Press 2 for Compound Interest"</span><span class="token punctuation">)</span>
<span class="token keyword">var</span> choice <span class="token operator">=</span> <span class="token function">Int</span><span class="token punctuation">(</span><span class="token function">readLine</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">!</span><span class="token punctuation">)</span><span class="token operator">!</span>

<span class="token keyword">switch</span> choice<span class="token punctuation">{</span>
   <span class="token keyword">case</span> <span class="token number">1</span><span class="token operator">:</span>
   <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Simple Interest is - "</span><span class="token punctuation">,</span> <span class="token function">simpleInterest</span><span class="token punctuation">(</span><span class="token constant">P</span><span class="token operator">:</span> Principal<span class="token punctuation">,</span> <span class="token constant">R</span><span class="token operator">:</span> Rate<span class="token punctuation">,</span> <span class="token constant">T</span><span class="token operator">:</span> Duration<span class="token punctuation">)</span><span class="token punctuation">)</span>

   <span class="token keyword">case</span> <span class="token number">2</span><span class="token operator">:</span>
   <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Compound Interest is - "</span><span class="token punctuation">,</span> <span class="token function">compoundInterest</span><span class="token punctuation">(</span><span class="token constant">P</span><span class="token operator">:</span> Principal<span class="token punctuation">,</span> <span class="token constant">R</span><span class="token operator">:</span> Rate<span class="token punctuation">,</span> <span class="token constant">T</span><span class="token operator">:</span> Duration<span class="token punctuation">)</span><span class="token punctuation">)</span>

   <span class="token keyword">default</span><span class="token operator">:</span>
   <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Not a valid choice"</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span>
</div>

STDIN Input

Please enter principal-
10000
Please enter rate-
3
Please enter time duration-
6
Press 1 for simple interest
Press 2 for Compound Interest
2

Output

Compound Interest is - 1940.5229652900016

In the above code, we first take the value of principal , rate, and time from the user. After that we create two functions named as simpleInterest() and compoundInterest(). As the name suggest the simpleInterest() function returns the simple interest and compoundInterest() function returns the compound interest of the input values. Now we ask the user if they want compound interest then press 1 or if they want simple interest then press 2. Here the user press 2 so the control of the program goes into the switch case statement and display the compound interest that is 1940.5229652900016.

Updated on: 2022-08-02T14:43:45+05:30

755 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements