#include <stdio.h>
#include <math.h>
/*****************************************************************
** Function: Calculate_Simple_Interest
**
** Description: Simple Interest is the amount of interest
** calculated by using the formula:
**
** interest = (principle * rate * time)
**
** where P is the principle, r is the rate, and t
** is the time of the investment
**
** This function will return the simple interest, calculated based
** Upon it being passed the principle, rate, and time.
**
** Parameters: Principle - The original principal to start with
** Rate - The rate of interest. Example: 9.5% passed as 0.095
** Time - The time in years
**
** Returns: Interest - The amount of simple interest earned
**
********************************************************************/
// functions
float Calculate_Simple_Interest
( float principle
, float rate
, float time ) ; float Calculate_Compound_Interest
( float principle
, float rate
, float time ) ;
// Function to calculate simple interest
float Calculate_Simple_Interest
( float principle
, float rate
, float time ) {
/* You will only need to create three simple statements here ... */
/* No other statements are needed. */
/* TO DO: Step 1) Define a local variable of type float to hold interest */
/* ... Hint: This statement is the same of Step 1 in the challenge template */
/* TO DO: Step 2) Calculate simple interest earned - Determine the */
/* interest using the values in the parameters: principle, rate, and time ... */
/* and assign that value to the local variable you created in step 1 */
/* that holds the interest */
/* .... Hint: This statement is right in the first homework */
/* TO DO: Step 3) Add a return statement to return the interest to main */
/* ... Hint: This statement is the same of Step 3 in the challenge template */
float interest;
interest
= principle
* rate
* time ; return interest;
}
//calculate compound interest
float Calculate_Compound_Interest
( float principle
, float rate
, float time ) {
float interest;
interest
= ( principle
* pow ( 1.0 + rate
, time ) ) - principle
; return interest;
}
int main( void )
{
float interest; /* The interest earned over a period of time */
float principle; /* The amount being invested */
float rate; /* The interest rate earned */
float time ; /* The years of the investment */ float interest_compound;
printf ( "\n Enter your principle value: " ) ;
printf ( "\n Enter the rate (e.g. 0.095 for 9.5 percent): " ) ;
printf ( "\n Enter the time in years: " ) ;
interest
= Calculate_Simple_Interest
( principle
, rate
, time ) ;
printf ( "\n The total simple interest earned is: $%.2f\n " , interest
) ;
/* Challenge: If you decide to do the challenge, you will need to add code */
/* for these two statements ... otherwise, just leave them as is */
/* Challenge TO DO: Step 1) Call Calculate_Compound_Interest */
/* function to calculate compound interest */
/* Challenge TO DO: Step 2) Print the compound interest to the screen */
interest
= Calculate_Simple_Interest
( principle
, rate
, time ) ; interest_compound
= Calculate_Compound_Interest
( principle
, rate
, time ) ;
printf ( "The total compound interest earned is: $%.2f\n " , interest_compound
) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+IAogCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqKiBGdW5jdGlvbjogIENhbGN1bGF0ZV9TaW1wbGVfSW50ZXJlc3QKKioKKiogRGVzY3JpcHRpb246ICBTaW1wbGUgSW50ZXJlc3QgaXMgdGhlIGFtb3VudCBvZiBpbnRlcmVzdAoqKiAgICAgICAgICAgICAgIGNhbGN1bGF0ZWQgYnkgdXNpbmcgdGhlIGZvcm11bGE6CioqCioqICAgICAgICAgICAgICAgaW50ZXJlc3QgPSAocHJpbmNpcGxlICogcmF0ZSAqIHRpbWUpCioqCioqICAgICAgICAgICAgICAgd2hlcmUgUCBpcyB0aGUgcHJpbmNpcGxlLCByIGlzIHRoZSByYXRlLCBhbmQgdAoqKiAgICAgICAgICAgICAgIGlzIHRoZSB0aW1lIG9mIHRoZSBpbnZlc3RtZW50CioqCioqICAgICAgICAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiB0aGUgc2ltcGxlIGludGVyZXN0LCBjYWxjdWxhdGVkIGJhc2VkCioqICAgICAgICAgICAgICAgVXBvbiBpdCBiZWluZyBwYXNzZWQgdGhlIHByaW5jaXBsZSwgcmF0ZSwgYW5kIHRpbWUuCioqCioqIFBhcmFtZXRlcnM6ICAgUHJpbmNpcGxlIC0gVGhlIG9yaWdpbmFsIHByaW5jaXBhbCB0byBzdGFydCB3aXRoCioqICAgICAgICAgICAgICAgUmF0ZSAgICAgIC0gVGhlIHJhdGUgb2YgaW50ZXJlc3QuICBFeGFtcGxlOiAgOS41JSBwYXNzZWQgYXMgMC4wOTUKKiogICAgICAgICAgICAgICBUaW1lICAgICAgLSBUaGUgdGltZSBpbiB5ZWFycwoqKgoqKiBSZXR1cm5zOiAgICAgIEludGVyZXN0ICAtIFRoZSBhbW91bnQgb2Ygc2ltcGxlIGludGVyZXN0IGVhcm5lZAoqKgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8gCgovLyBmdW5jdGlvbnMKZmxvYXQgQ2FsY3VsYXRlX1NpbXBsZV9JbnRlcmVzdChmbG9hdCBwcmluY2lwbGUsIGZsb2F0IHJhdGUsIGZsb2F0IHRpbWUpOwpmbG9hdCBDYWxjdWxhdGVfQ29tcG91bmRfSW50ZXJlc3QoZmxvYXQgcHJpbmNpcGxlLCBmbG9hdCByYXRlLCBmbG9hdCB0aW1lKTsKIAovLyBGdW5jdGlvbiB0byBjYWxjdWxhdGUgc2ltcGxlIGludGVyZXN0CmZsb2F0IENhbGN1bGF0ZV9TaW1wbGVfSW50ZXJlc3QoZmxvYXQgcHJpbmNpcGxlLCBmbG9hdCByYXRlLCBmbG9hdCB0aW1lKQp7CiAKLyogWW91IHdpbGwgb25seSBuZWVkIHRvIGNyZWF0ZSB0aHJlZSBzaW1wbGUgc3RhdGVtZW50cyBoZXJlIC4uLiAqLyAKLyogTm8gb3RoZXIgc3RhdGVtZW50cyBhcmUgbmVlZGVkLiAqLyAgCiAKLyogVE8gRE86ICBTdGVwIDEpIERlZmluZSBhIGxvY2FsIHZhcmlhYmxlIG9mIHR5cGUgZmxvYXQgdG8gaG9sZCBpbnRlcmVzdCAqLwovKiAuLi4gSGludDogIFRoaXMgc3RhdGVtZW50IGlzIHRoZSBzYW1lIG9mIFN0ZXAgMSBpbiB0aGUgY2hhbGxlbmdlIHRlbXBsYXRlICovIAogCi8qIFRPIERPOiBTdGVwIDIpIENhbGN1bGF0ZSBzaW1wbGUgaW50ZXJlc3QgZWFybmVkIC0gRGV0ZXJtaW5lIHRoZSAgKi8gCi8qIGludGVyZXN0IHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHBhcmFtZXRlcnM6IHByaW5jaXBsZSwgcmF0ZSwgYW5kIHRpbWUgLi4uICovCi8qIGFuZCBhc3NpZ24gdGhhdCB2YWx1ZSB0byB0aGUgbG9jYWwgdmFyaWFibGUgeW91IGNyZWF0ZWQgaW4gc3RlcCAxICovCi8qIHRoYXQgaG9sZHMgdGhlIGludGVyZXN0ICAqLyAKLyogLi4uLiBIaW50OiBUaGlzIHN0YXRlbWVudCBpcyByaWdodCBpbiB0aGUgZmlyc3QgaG9tZXdvcmsgKi8gCiAKLyogVE8gRE86IFN0ZXAgMykgQWRkIGEgcmV0dXJuIHN0YXRlbWVudCB0byByZXR1cm4gdGhlIGludGVyZXN0IHRvIG1haW4gKi8KLyogLi4uIEhpbnQ6IFRoaXMgc3RhdGVtZW50IGlzIHRoZSBzYW1lIG9mIFN0ZXAgMyBpbiB0aGUgY2hhbGxlbmdlIHRlbXBsYXRlICovCQogCiAgICBmbG9hdCBpbnRlcmVzdDsKICAgIGludGVyZXN0ID0gcHJpbmNpcGxlICogcmF0ZSAqIHRpbWU7CiAgICByZXR1cm4gaW50ZXJlc3Q7Cn0KIAovL2NhbGN1bGF0ZSBjb21wb3VuZCBpbnRlcmVzdApmbG9hdCBDYWxjdWxhdGVfQ29tcG91bmRfSW50ZXJlc3QoZmxvYXQgcHJpbmNpcGxlLCBmbG9hdCByYXRlLCBmbG9hdCB0aW1lKQp7CiAgICBmbG9hdCBpbnRlcmVzdDsKICAgIGludGVyZXN0ID0gKHByaW5jaXBsZSAqIHBvdygxLjAgKyByYXRlLCB0aW1lKSkgLSBwcmluY2lwbGU7CiAgICByZXR1cm4gaW50ZXJlc3Q7Cn0KIAppbnQgbWFpbih2b2lkKQp7CiAgICBmbG9hdCBpbnRlcmVzdDsgIC8qIFRoZSBpbnRlcmVzdCBlYXJuZWQgb3ZlciBhIHBlcmlvZCBvZiB0aW1lICovCiAgICBmbG9hdCBwcmluY2lwbGU7IC8qIFRoZSBhbW91bnQgYmVpbmcgaW52ZXN0ZWQgKi8gCiAgICBmbG9hdCByYXRlOyAgICAgIC8qIFRoZSBpbnRlcmVzdCByYXRlIGVhcm5lZCAqLyAKICAgIGZsb2F0IHRpbWU7ICAgICAgLyogVGhlIHllYXJzIG9mIHRoZSBpbnZlc3RtZW50ICovCiAgICBmbG9hdCBpbnRlcmVzdF9jb21wb3VuZDsKIAogICAgcHJpbnRmKCJcbkVudGVyIHlvdXIgcHJpbmNpcGxlIHZhbHVlOiAiKTsKICAgIHNjYW5mKCIlZiIsICZwcmluY2lwbGUpOwogCiAgICBwcmludGYoIlxuRW50ZXIgdGhlIHJhdGUgKGUuZy4gMC4wOTUgZm9yIDkuNSBwZXJjZW50KTogIik7CiAgICBzY2FuZigiJWYiLCAmcmF0ZSk7CiAKICAgIHByaW50ZigiXG5FbnRlciB0aGUgdGltZSBpbiB5ZWFyczogIik7CiAgICBzY2FuZigiJWYiLCAmdGltZSk7CiAgICAKICAgIGludGVyZXN0ID0gQ2FsY3VsYXRlX1NpbXBsZV9JbnRlcmVzdChwcmluY2lwbGUsIHJhdGUsIHRpbWUpOwoKICAgIHByaW50ZigiXG5UaGUgdG90YWwgc2ltcGxlIGludGVyZXN0IGVhcm5lZCBpczogJCUuMmZcbiIsIGludGVyZXN0KTsKICAgIAovKiBDaGFsbGVuZ2U6ICBJZiB5b3UgZGVjaWRlIHRvIGRvIHRoZSBjaGFsbGVuZ2UsIHlvdSB3aWxsIG5lZWQgdG8gYWRkIGNvZGUgICovCi8qICAgICAgICAgICAgZm9yIHRoZXNlIHR3byBzdGF0ZW1lbnRzIC4uLiBvdGhlcndpc2UsIGp1c3QgbGVhdmUgdGhlbSBhcyBpcyAgKi8KLyogQ2hhbGxlbmdlIFRPIERPOiBTdGVwIDEpICBDYWxsIENhbGN1bGF0ZV9Db21wb3VuZF9JbnRlcmVzdCAgICAqLwovKiBmdW5jdGlvbiB0byBjYWxjdWxhdGUgY29tcG91bmQgaW50ZXJlc3QgKi8KCi8qIENoYWxsZW5nZSBUTyBETzogU3RlcCAyKSAgUHJpbnQgdGhlIGNvbXBvdW5kIGludGVyZXN0IHRvIHRoZSBzY3JlZW4gKi8KIAogICAgaW50ZXJlc3QgPSBDYWxjdWxhdGVfU2ltcGxlX0ludGVyZXN0KHByaW5jaXBsZSwgcmF0ZSwgdGltZSk7CiAgICBpbnRlcmVzdF9jb21wb3VuZCA9IENhbGN1bGF0ZV9Db21wb3VuZF9JbnRlcmVzdChwcmluY2lwbGUsIHJhdGUsIHRpbWUpOwogCiAgICBwcmludGYoIlRoZSB0b3RhbCBjb21wb3VuZCBpbnRlcmVzdCBlYXJuZWQgaXM6ICQlLjJmXG4iLCBpbnRlcmVzdF9jb21wb3VuZCk7CiAKICAgIHJldHVybiAwOwp9