समस्या
C प्रोग्राम लिखें जो किसी विशेष ऋण राशि (ब्याज सहित) के लिए हर महीने भुगतान की जाने वाली शेष किस्त की गणना करे।
समाधान
जब ऋण राशि दी जाती है तो ब्याज की गणना करने का सूत्र:
मासिक_ब्याज = ऋण_राशि * ((ब्याज_दर/100) / 12);
ब्याज सहित राशि की गणना:
कुल_राशि = ऋण_राशि + मासिक_ब्याज;
पहली_किस्त_बाद = कुल_राशि - मासिक_किस्त;
प्रोग्राम
#include <stdio.h>
int main() {
float loanAmount, interestRate, monthlyPayment;
float interest, firstMonth, secondMonth;
printf("ऋण राशि दर्ज करें: ");
scanf("%f", &loanAmount);
printf("ब्याज दर (%% प्रति वर्ष): ");
scanf("%f", &interestRate);
printf("मासिक किस्त: ");
scanf("%f", &monthlyPayment);
// पहले महीने का ब्याज
interest = loanAmount * ((interestRate / 100) / 12);
// ब्याज सहित कुल राशि
interest = interest + loanAmount;
// पहली किस्त के बाद शेष
firstMonth = interest - monthlyPayment;
// दूसरे महीने का ब्याज (शेष राशि पर)
interest = firstMonth * ((interestRate / 100) / 12);
interest = interest + firstMonth;
// दूसरी किस्त के बाद शेष
secondMonth = interest - monthlyPayment;
printf("पहली किस्त के बाद शेष राशि: %.2f\n", firstMonth);
printf("दूसरी किस्त के बाद शेष राशि: %.2f\n", secondMonth);
return 0;
}
आउटपुट
ऋण राशि दर्ज करें: 45000
ब्याज दर: 7
मासिक किस्त: 1000
पहली किस्त के बाद शेष राशि: 44262.50
दूसरी किस्त के बाद शेष राशि: 43520.70
गणना विवरण (उदाहरण के लिए)
| चरण | सूत्र | मान |
|---|---|---|
| मासिक ब्याज दर | 7% / 12 = 0.5833% | 0.005833 |
| पहले महीने का ब्याज | 45000 × 0.005833 | 262.50 |
| ब्याज सहित कुल | 45000 + 262.50 | 45262.50 |
| पहली किस्त के बाद | 45262.50 - 1000 | 44262.50 |
| दूसरे महीने का ब्याज | 44262.50 × 0.005833 | 258.20 |
| दूसरी किस्त के बाद | 44520.70 - 1000 | 43520.70 |
सुधार: पूर्ण EMI कैलकुलेटर
पूर्ण ऋण अवधि के लिए EMI (समान मासिक किस्त) की गणना:
float calculateEMI(float principal, float annualRate, int months) {
float monthlyRate = (annualRate / 100) / 12;
float emi = (principal * monthlyRate * pow(1 + monthlyRate, months))
/ (pow(1 + monthlyRate, months) - 1);
return emi;
}
एमॉर्टाइजेशन शेड्यूल प्रिंट करना
void printSchedule(float principal, float rate, float emi, int months) {
float balance = principal;
float monthlyRate = (rate / 100) / 12;
printf("%-6s %-12s %-12s %-12s %-12s\n", "माह", "प्रारंभिक", "ब्याज", "मूलधन", "शेष");
for (int m = 1; m <= months; m++) {
float interest = balance * monthlyRate;
float principalPaid = emi - interest;
balance -= principalPaid;
if (balance < 0) balance = 0;
printf("%-6d %-12.2f %-12.2f %-12.2f %-12.2f\n",
m, balance + principalPaid, interest, principalPaid, balance);
}
}