#include <stdio.h>
#include <math.h>
/*------------------------------------------------------------
Function: Calculate_Simple_Interest
Description: Returns simple interest using the formula
I = P * r * t
Parameters:
principle – original amount invested (P)
rate – annual interest rate as a decimal (r)
time – investment period in years (t)
Returns:
Interest earned over the period
------------------------------------------------------------*/
float Calculate_Simple_Interest
( float principle
, float rate
, float time ) {
/* Step 1 – local variable to hold the result */
float interest = 0.0f ;
/* Step 2 – compute simple interest */
interest
= principle
* rate
* time ;
/* Step 3 – return the value to the caller */
return interest;
}
/*------------------------------------------------------------
Function: Calculate_Compound_Interest
Description: Returns compound interest using the formula
I = P*(1 + r)^t – P
Parameters:
principle – original amount invested (P)
rate – annual interest rate as a decimal (r)
time – investment period in years (t)
Returns:
Compound interest earned over the period
------------------------------------------------------------*/
float Calculate_Compound_Interest
( float principle
, float rate
, float time ) {
/* Challenge Step 1 – local variable */
float interest = 0.0f ;
/* Challenge Step 2 – compute compound interest */
interest
= ( float ) ( principle
* powf
( 1.0f + rate
, time ) - principle
) ;
/* Challenge Step 3 – return the value */
return interest;
}
int main( void )
{
float principle = 0.0f ;
float rate = 0.0f ;
float simple_interest = 0.0f ;
float compound_interest = 0.0f ;
/* Prompt for user input */
printf ( "Enter your principle value: " ) ;
printf ( "Enter the rate (e.g., 9.5%% as 0.095): " ) ;
printf ( "Enter the period of time of your investment (years): " ) ;
/* Calculate and display simple interest */
simple_interest
= Calculate_Simple_Interest
( principle
, rate
, time ) ; printf ( "\n The total simple interest earned is: $%8.2f\n " , simple_interest
) ;
/* Calculate and display compound interest */
compound_interest
= Calculate_Compound_Interest
( principle
, rate
, time ) ; printf ( "\n The total compound interest earned is: $%8.2f\n " , compound_interest
) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIEZ1bmN0aW9uOiBDYWxjdWxhdGVfU2ltcGxlX0ludGVyZXN0CiAgRGVzY3JpcHRpb246IFJldHVybnMgc2ltcGxlIGludGVyZXN0IHVzaW5nIHRoZSBmb3JtdWxhCiAgICAgICAgICAgICAgIEkgPSBQICogciAqIHQKICBQYXJhbWV0ZXJzOgogICAgICBwcmluY2lwbGUg4oCTIG9yaWdpbmFsIGFtb3VudCBpbnZlc3RlZCAoUCkKICAgICAgcmF0ZSAgICAgIOKAkyBhbm51YWwgaW50ZXJlc3QgcmF0ZSBhcyBhIGRlY2ltYWwgKHIpCiAgICAgIHRpbWUgICAgICDigJMgaW52ZXN0bWVudCBwZXJpb2QgaW4geWVhcnMgKHQpCiAgUmV0dXJuczoKICAgICAgSW50ZXJlc3QgZWFybmVkIG92ZXIgdGhlIHBlcmlvZAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpmbG9hdCBDYWxjdWxhdGVfU2ltcGxlX0ludGVyZXN0KGZsb2F0IHByaW5jaXBsZSwgZmxvYXQgcmF0ZSwgZmxvYXQgdGltZSkKewogICAgLyogU3RlcMKgMSDigJMgbG9jYWwgdmFyaWFibGUgdG8gaG9sZCB0aGUgcmVzdWx0ICovCiAgICBmbG9hdCBpbnRlcmVzdCA9IDAuMGY7CgogICAgLyogU3RlcMKgMiDigJMgY29tcHV0ZSBzaW1wbGUgaW50ZXJlc3QgKi8KICAgIGludGVyZXN0ID0gcHJpbmNpcGxlICogcmF0ZSAqIHRpbWU7CgogICAgLyogU3RlcMKgMyDigJMgcmV0dXJuIHRoZSB2YWx1ZSB0byB0aGUgY2FsbGVyICovCiAgICByZXR1cm4gaW50ZXJlc3Q7Cn0KCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgRnVuY3Rpb246IENhbGN1bGF0ZV9Db21wb3VuZF9JbnRlcmVzdAogIERlc2NyaXB0aW9uOiBSZXR1cm5zIGNvbXBvdW5kIGludGVyZXN0IHVzaW5nIHRoZSBmb3JtdWxhCiAgICAgICAgICAgICAgIEkgPSBQKigxICsgciledCDigJMgUAogIFBhcmFtZXRlcnM6CiAgICAgIHByaW5jaXBsZSDigJMgb3JpZ2luYWwgYW1vdW50IGludmVzdGVkIChQKQogICAgICByYXRlICAgICAg4oCTIGFubnVhbCBpbnRlcmVzdCByYXRlIGFzIGEgZGVjaW1hbCAocikKICAgICAgdGltZSAgICAgIOKAkyBpbnZlc3RtZW50IHBlcmlvZCBpbiB5ZWFycyAodCkKICBSZXR1cm5zOgogICAgICBDb21wb3VuZCBpbnRlcmVzdCBlYXJuZWQgb3ZlciB0aGUgcGVyaW9kCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmZsb2F0IENhbGN1bGF0ZV9Db21wb3VuZF9JbnRlcmVzdChmbG9hdCBwcmluY2lwbGUsIGZsb2F0IHJhdGUsIGZsb2F0IHRpbWUpCnsKICAgIC8qIENoYWxsZW5nZcKgU3RlcMKgMSDigJMgbG9jYWwgdmFyaWFibGUgKi8KICAgIGZsb2F0IGludGVyZXN0ID0gMC4wZjsKCiAgICAvKiBDaGFsbGVuZ2XCoFN0ZXDCoDIg4oCTIGNvbXB1dGUgY29tcG91bmQgaW50ZXJlc3QgKi8KICAgIGludGVyZXN0ID0gKGZsb2F0KShwcmluY2lwbGUgKiBwb3dmKDEuMGYgKyByYXRlLCB0aW1lKSAtIHByaW5jaXBsZSk7CgogICAgLyogQ2hhbGxlbmdlwqBTdGVwwqAzIOKAkyByZXR1cm4gdGhlIHZhbHVlICovCiAgICByZXR1cm4gaW50ZXJlc3Q7Cn0KCmludCBtYWluKHZvaWQpCnsKICAgIGZsb2F0IHByaW5jaXBsZSA9IDAuMGY7CiAgICBmbG9hdCByYXRlICAgICAgPSAwLjBmOwogICAgZmxvYXQgdGltZSAgICAgID0gMC4wZjsKICAgIGZsb2F0IHNpbXBsZV9pbnRlcmVzdCAgID0gMC4wZjsKICAgIGZsb2F0IGNvbXBvdW5kX2ludGVyZXN0ID0gMC4wZjsKCiAgICAvKiBQcm9tcHQgZm9yIHVzZXIgaW5wdXQgKi8KICAgIHByaW50ZigiRW50ZXIgeW91ciBwcmluY2lwbGUgdmFsdWU6ICIpOwogICAgc2NhbmYoIiVmIiwgJnByaW5jaXBsZSk7CgogICAgcHJpbnRmKCJFbnRlciB0aGUgcmF0ZSAoZS5nLiwgOS41JSUgYXMgMC4wOTUpOiAiKTsKICAgIHNjYW5mKCIlZiIsICZyYXRlKTsKCiAgICBwcmludGYoIkVudGVyIHRoZSBwZXJpb2Qgb2YgdGltZSBvZiB5b3VyIGludmVzdG1lbnQgKHllYXJzKTogIik7CiAgICBzY2FuZigiJWYiLCAmdGltZSk7CgogICAgLyogQ2FsY3VsYXRlIGFuZCBkaXNwbGF5IHNpbXBsZSBpbnRlcmVzdCAqLwogICAgc2ltcGxlX2ludGVyZXN0ID0gQ2FsY3VsYXRlX1NpbXBsZV9JbnRlcmVzdChwcmluY2lwbGUsIHJhdGUsIHRpbWUpOwogICAgcHJpbnRmKCJcblRoZSB0b3RhbCBzaW1wbGUgaW50ZXJlc3QgZWFybmVkIGlzOiAkJTguMmZcbiIsIHNpbXBsZV9pbnRlcmVzdCk7CgogICAgLyogQ2FsY3VsYXRlIGFuZCBkaXNwbGF5IGNvbXBvdW5kIGludGVyZXN0ICovCiAgICBjb21wb3VuZF9pbnRlcmVzdCA9IENhbGN1bGF0ZV9Db21wb3VuZF9JbnRlcmVzdChwcmluY2lwbGUsIHJhdGUsIHRpbWUpOwogICAgcHJpbnRmKCJcblRoZSB0b3RhbCBjb21wb3VuZCBpbnRlcmVzdCBlYXJuZWQgaXM6ICQlOC4yZlxuIiwgY29tcG91bmRfaW50ZXJlc3QpOwoKICAgIHJldHVybiAwOwp9Cg==