C Program: Calculating compound interest with User input Loop
C Do-While Loop: Exercise-11 with Solution
Write a C program that calculates the compound interest for a given principal amount, interest rate, and time period. Use a do-while loop to allow the user to input values multiple times.
Sample Solution:
C Code:
#include <stdio.h>
#include <math.h>
int main() {
double principal, rate, time, compoundInterest;
int flag;
do {
// Prompt the user to enter principal amount, interest rate, and time period
printf("Input principal amount: ");
scanf("%lf", &principal);
printf("Input annual interest rate (as a percentage): ");
scanf("%lf", &rate);
printf("Input time period (in years): ");
scanf("%lf", &time);
// Check if the entered values are valid
if (principal <= 0 || rate < 0 || time <= 0) {
printf("Please input valid positive values for principal, interest rate, and time.\n");
continue; // Restart the loop for new input
}
// Convert interest rate from percentage to decimal
rate /= 100;
// Calculate compound interest
compoundInterest = principal * pow(1 + rate, time) - principal;
// Print the calculated compound interest
printf("Compound Interest: %.2lf\n", compoundInterest);
// Ask the user if they want to calculate again
printf("Want to calculate compound interest again? (1 for Yes, 0 for No): ");
scanf("%d", &flag);
} while (flag == 1);
return 0; // Indicate successful program execution
}
Sample Output:
Input principal amount: 10000 Input annual interest rate (as a percentage): 4 Input time period (in years): 5 Compound Interest: 2166.53 Want to calculate compound interest again? (1 for Yes, 0 for No): 1 Input principal amount: 5000 Input annual interest rate (as a percentage): 3.9 Input time period (in years): 8 Compound Interest: 1790.38 Want to calculate compound interest again? (1 for Yes, 0 for No): 0
Explanation:
Here are key parts of the above code step by step:
- double principal, rate, time, compoundInterest; int flag: Declares variables to store principal amount, interest rate, time period, and compound interest. Using 'flag' ask the user if they want to calculate again.
- do { ... } while (time == 1);: Uses a do-while loop to allow the user to input values multiple times.
- principal amount: ");, scanf("%lf", &principal);, etc.: Prompts the user to input principal amount, interest rate, and time period.
- if (principal <= 0 || rate < 0 || time <= 0) { ... }: Checks if the input values are valid. If not, prompts the user to enter valid positive values.
- rate /= 100;: Converts the interest rate from percentage to decimal.
- compoundInterest = principal * pow(1 + rate, time) - principal;: Calculates compound interest using the compound interest formula.
- printf("Compound Interest: %.2lf\n", compoundInterest);: Prints the calculated compound interest.
- printf("Do you want to calculate compound interest again? (Enter 1 for Yes, 0 for No): ");, scanf("%d", &time);: Asks the user if they want to calculate again. If the user enters 1, the loop continues; otherwise, it exits.
- return 0;: Indicates successful program execution.
Flowchart:
C Programming Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Counting digits in an integer using Do-While Loop.
Next: Reversing a number using a Do-While loop.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/c-programming-exercises/do-while-loop/c-do-while-loop-exercise-11.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics