#include <stdio.h>
#include <math.h> // Required for pow()
/*****************************************************************
** 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
**
********************************************************************/
// Function prototypes
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+IC8vIFJlcXVpcmVkIGZvciBwb3coKQogCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoqKiBGdW5jdGlvbjogIENhbGN1bGF0ZV9TaW1wbGVfSW50ZXJlc3QKKioKKiogRGVzY3JpcHRpb246ICBTaW1wbGUgSW50ZXJlc3QgaXMgdGhlIGFtb3VudCBvZiBpbnRlcmVzdAoqKiAgICAgICAgICAgICAgIGNhbGN1bGF0ZWQgYnkgdXNpbmcgdGhlIGZvcm11bGE6CioqCioqICAgICAgICAgICAgICAgaW50ZXJlc3QgPSAocHJpbmNpcGxlICogcmF0ZSAqIHRpbWUpCioqCioqICAgICAgICAgICAgICAgd2hlcmUgUCBpcyB0aGUgcHJpbmNpcGxlLCByIGlzIHRoZSByYXRlLCBhbmQgdAoqKiAgICAgICAgICAgICAgIGlzIHRoZSB0aW1lIG9mIHRoZSBpbnZlc3RtZW50CioqCioqICAgICAgICAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiB0aGUgc2ltcGxlIGludGVyZXN0LCBjYWxjdWxhdGVkIGJhc2VkCioqICAgICAgICAgICAgICAgVXBvbiBpdCBiZWluZyBwYXNzZWQgdGhlIHByaW5jaXBsZSwgcmF0ZSwgYW5kIHRpbWUuCioqCioqIFBhcmFtZXRlcnM6ICAgUHJpbmNpcGxlIC0gVGhlIG9yaWdpbmFsIHByaW5jaXBhbCB0byBzdGFydCB3aXRoCioqICAgICAgICAgICAgICAgUmF0ZSAgICAgIC0gVGhlIHJhdGUgb2YgaW50ZXJlc3QuICBFeGFtcGxlOiAgOS41JSBwYXNzZWQgYXMgMC4wOTUKKiogICAgICAgICAgICAgICBUaW1lICAgICAgLSBUaGUgdGltZSBpbiB5ZWFycwoqKgoqKiBSZXR1cm5zOiAgICAgIEludGVyZXN0ICAtIFRoZSBhbW91bnQgb2Ygc2ltcGxlIGludGVyZXN0IGVhcm5lZAoqKgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8gCgovLyBGdW5jdGlvbiBwcm90b3R5cGVzCmZsb2F0IENhbGN1bGF0ZV9TaW1wbGVfSW50ZXJlc3QoZmxvYXQgcHJpbmNpcGxlLCBmbG9hdCByYXRlLCBmbG9hdCB0aW1lKTsKZmxvYXQgQ2FsY3VsYXRlX0NvbXBvdW5kX0ludGVyZXN0KGZsb2F0IHByaW5jaXBsZSwgZmxvYXQgcmF0ZSwgZmxvYXQgdGltZSk7CiAKLy8gRnVuY3Rpb24gdG8gY2FsY3VsYXRlIHNpbXBsZSBpbnRlcmVzdApmbG9hdCBDYWxjdWxhdGVfU2ltcGxlX0ludGVyZXN0KGZsb2F0IHByaW5jaXBsZSwgZmxvYXQgcmF0ZSwgZmxvYXQgdGltZSkKewogCi8qIFlvdSB3aWxsIG9ubHkgbmVlZCB0byBjcmVhdGUgdGhyZWUgc2ltcGxlIHN0YXRlbWVudHMgaGVyZSAuLi4gKi8gCi8qIE5vIG90aGVyIHN0YXRlbWVudHMgYXJlIG5lZWRlZC4gKi8gIAogCi8qIFRPIERPOiAgU3RlcCAxKSBEZWZpbmUgYSBsb2NhbCB2YXJpYWJsZSBvZiB0eXBlIGZsb2F0IHRvIGhvbGQgaW50ZXJlc3QgKi8KLyogLi4uIEhpbnQ6ICBUaGlzIHN0YXRlbWVudCBpcyB0aGUgc2FtZSBvZiBTdGVwIDEgaW4gdGhlIGNoYWxsZW5nZSB0ZW1wbGF0ZSAqLyAKIAovKiBUTyBETzogU3RlcCAyKSBDYWxjdWxhdGUgc2ltcGxlIGludGVyZXN0IGVhcm5lZCAtIERldGVybWluZSB0aGUgICovIAovKiBpbnRlcmVzdCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBwYXJhbWV0ZXJzOiBwcmluY2lwbGUsIHJhdGUsIGFuZCB0aW1lIC4uLiAqLwovKiBhbmQgYXNzaWduIHRoYXQgdmFsdWUgdG8gdGhlIGxvY2FsIHZhcmlhYmxlIHlvdSBjcmVhdGVkIGluIHN0ZXAgMSAqLwovKiB0aGF0IGhvbGRzIHRoZSBpbnRlcmVzdCAgKi8gCi8qIC4uLi4gSGludDogVGhpcyBzdGF0ZW1lbnQgaXMgcmlnaHQgaW4gdGhlIGZpcnN0IGhvbWV3b3JrICovIAogCi8qIFRPIERPOiBTdGVwIDMpIEFkZCBhIHJldHVybiBzdGF0ZW1lbnQgdG8gcmV0dXJuIHRoZSBpbnRlcmVzdCB0byBtYWluICovCi8qIC4uLiBIaW50OiBUaGlzIHN0YXRlbWVudCBpcyB0aGUgc2FtZSBvZiBTdGVwIDMgaW4gdGhlIGNoYWxsZW5nZSB0ZW1wbGF0ZSAqLwkKIAogICAgZmxvYXQgaW50ZXJlc3Q7CiAgICBpbnRlcmVzdCA9IHByaW5jaXBsZSAqIHJhdGUgKiB0aW1lOwogICAgcmV0dXJuIGludGVyZXN0Owp9CiAKLy9jYWxjdWxhdGUgY29tcG91bmQgaW50ZXJlc3QKZmxvYXQgQ2FsY3VsYXRlX0NvbXBvdW5kX0ludGVyZXN0KGZsb2F0IHByaW5jaXBsZSwgZmxvYXQgcmF0ZSwgZmxvYXQgdGltZSkKewogICAgZmxvYXQgaW50ZXJlc3Q7CiAgICBpbnRlcmVzdCA9IChwcmluY2lwbGUgKiBwb3coMS4wICsgcmF0ZSwgdGltZSkpIC0gcHJpbmNpcGxlOwogICAgcmV0dXJuIGludGVyZXN0Owp9CiAKaW50IG1haW4odm9pZCkKewogICAgZmxvYXQgaW50ZXJlc3Q7ICAvKiBUaGUgaW50ZXJlc3QgZWFybmVkIG92ZXIgYSBwZXJpb2Qgb2YgdGltZSAqLwogICAgZmxvYXQgcHJpbmNpcGxlOyAvKiBUaGUgYW1vdW50IGJlaW5nIGludmVzdGVkICovIAogICAgZmxvYXQgcmF0ZTsgICAgICAvKiBUaGUgaW50ZXJlc3QgcmF0ZSBlYXJuZWQgKi8gCiAgICBmbG9hdCB0aW1lOyAgICAgIC8qIFRoZSB5ZWFycyBvZiB0aGUgaW52ZXN0bWVudCAqLwogICAgZmxvYXQgaW50ZXJlc3RfY29tcG91bmQ7CiAKICAgIHByaW50ZigiXG5FbnRlciB5b3VyIHByaW5jaXBsZSB2YWx1ZTogIik7CiAgICBzY2FuZigiJWYiLCAmcHJpbmNpcGxlKTsKIAogICAgcHJpbnRmKCJcbkVudGVyIHRoZSByYXRlIChlLmcuIDAuMDk1IGZvciA5LjUgcGVyY2VudCk6ICIpOwogICAgc2NhbmYoIiVmIiwgJnJhdGUpOwogCiAgICBwcmludGYoIlxuRW50ZXIgdGhlIHRpbWUgaW4geWVhcnM6ICIpOwogICAgc2NhbmYoIiVmIiwgJnRpbWUpOwogICAgCiAgICBpbnRlcmVzdCA9IENhbGN1bGF0ZV9TaW1wbGVfSW50ZXJlc3QocHJpbmNpcGxlLCByYXRlLCB0aW1lKTsKCiAgICBwcmludGYoIlxuVGhlIHRvdGFsIHNpbXBsZSBpbnRlcmVzdCBlYXJuZWQgaXM6ICQlLjJmXG4iLCBpbnRlcmVzdCk7CiAgICAKLyogQ2hhbGxlbmdlOiAgSWYgeW91IGRlY2lkZSB0byBkbyB0aGUgY2hhbGxlbmdlLCB5b3Ugd2lsbCBuZWVkIHRvIGFkZCBjb2RlICAqLwovKiAgICAgICAgICAgIGZvciB0aGVzZSB0d28gc3RhdGVtZW50cyAuLi4gb3RoZXJ3aXNlLCBqdXN0IGxlYXZlIHRoZW0gYXMgaXMgICovCi8qIENoYWxsZW5nZSBUTyBETzogU3RlcCAxKSAgQ2FsbCBDYWxjdWxhdGVfQ29tcG91bmRfSW50ZXJlc3QgICAgKi8KLyogZnVuY3Rpb24gdG8gY2FsY3VsYXRlIGNvbXBvdW5kIGludGVyZXN0ICovCgovKiBDaGFsbGVuZ2UgVE8gRE86IFN0ZXAgMikgIFByaW50IHRoZSBjb21wb3VuZCBpbnRlcmVzdCB0byB0aGUgc2NyZWVuICovCiAKICAgIGludGVyZXN0ID0gQ2FsY3VsYXRlX1NpbXBsZV9JbnRlcmVzdChwcmluY2lwbGUsIHJhdGUsIHRpbWUpOwogICAgaW50ZXJlc3RfY29tcG91bmQgPSBDYWxjdWxhdGVfQ29tcG91bmRfSW50ZXJlc3QocHJpbmNpcGxlLCByYXRlLCB0aW1lKTsKIAogICAgcHJpbnRmKCJUaGUgdG90YWwgY29tcG91bmQgaW50ZXJlc3QgZWFybmVkIGlzOiAkJS4yZlxuIiwgaW50ZXJlc3RfY29tcG91bmQpOwogCiAgICByZXR1cm4gMDsKfQ==