#ifndef LOAN_H
2 #define LOAN_H
3
4 class Loan
5 {
6 public:
7 Loan();
8 Loan(double rate, int years, double amount);
9 double getAnnualInterestRate();
10 int getNumberOfYears();
11 double getLoanAmount();
12 void setAnnualInterestRate(double rate);
13 void setNumberOfYears(int years);
14 void setLoanAmount(double amount);
15 double getMonthlyPayment();
16 double getTotalPayment();
17
18 private:
19 double annualInterestRate;
20 int numberOfYears;
21 double loanAmount;
22 };
23
24 #endif
Листинг 2.3.2 TestLoanClass.cpp
1 #include
2 #include
3 #include "Loan.h"
4 using namespace std;
5
6 int main()
7 {
8 // Enter annual interest rate
9 cout << "Enter yearly interest rate, for example 8.25: ";
10 double annualInterestRate;
11 cin >> annualInterestRate;
12
13 // Enter number of years
14 cout << "Enter number of years as an integer, for example 5: ";
15 int numberOfYears;
16 cin >> numberOfYears;
17
18 // Enter loan amount
19 cout << "Enter loan amount, for example 120000.95: ";
20 double loanAmount;
21 cin >> loanAmount;
22
23 // Create Loan object
24 Loan loan(annualInterestRate, numberOfYears, loanAmount);
25
26 // Display results
27 cout << fixed << setprecision(2);
28 cout << "The monthly payment is "
29 << loan.getMonthlyPayment() << endl;
30 cout << "The total payment is " << loan.getTotalPayment() << endl;
31
32 return 0;
33 }
34
Асосий функция фоиз ставкасини, тўлов муддатини (йилларда) ва кредит суммасини ўқийди (8-21 сатрларда), қарз объектини яратади (24-сатр), ундан кейин ойлик тўловни олади (29-сатр) ва умумий тўловни (30-сатр) Loan синфи функцияларидан фойдаланган ҳолда.
Листинг 2.3.3 Loan.cpp
1 #include "Loan.h"
2 #include
3 using namespace std;
4
5 Loan::Loan()
6 {
7 annualInterestRate = 9.5;
8 numberOfYears = 30;
9 loanAmount = 100000;
10 }
11
12 Loan::Loan(double rate, int years, double amount)
13 {
14 annualInterestRate = rate;
15 numberOfYears = years;
16 loanAmount = amount;
17 }
18
19 double Loan::getAnnualInterestRate()
20 {
21 return annualInterestRate;
22 }
23
24 int Loan::getNumberOfYears()
25 {
26 return numberOfYears;
27 }
28
29 double Loan::getLoanAmount()
30 {
31 return loanAmount;
32 }
33
34 void Loan::setAnnualInterestRate(double rate)
35 {
36 annualInterestRate = rate;
37 }
38
39 void Loan::setNumberOfYears(int years)
40 {
41 numberOfYears = years;
42 }
43
44 void Loan::setLoanAmount(double amount)
45 {
46 loanAmount = amount;
47 }
48
49 double Loan::getMonthlyPayment()
50 {
51 double monthlyInterestRate = annualInterestRate / 1200;
52 return loanAmount * monthlyInterestRate / (1 -
53 (pow(1 / (1 + monthlyInterestRate), numberOfYears * 12)));
54 }
55
56 double Loan::getTotalPayment()
57 {
58 return getMonthlyPayment() * numberOfYears * 12;
59 }
Дастурчи томонидан яратилган синф, мазкур синфни хохлаган ҳолатларда қўлланилиши кўриб чиқилиши керак. Бунинг учун турли хил конструктор ва функциялардан фойдаланилади.
Loan синфи ўзида иккита конструктор, учта get функциядан, учта set функциядан ва ойлик тўлови ва умумий тўлов функцияларидан фойдаланилган. Сиз Loan объектини аргументсиз конструктор ёки учта параметрли конструкторлардан фойдаланиб ишлатасиз (йиллик фоиз ставкаси, йиллар сони ва кредит суммаси) Учта функция get, getAnnualInterest, getNumberOfYears ва getLoanAmount, булар ўз навбатида йиллик фоиз ставкаси, йиллар тўлови ва кредит суммаси киритилади.
ДАСТУРЛАШ (С++) фанидан 2.2-лаборатория машғулотлари
Do'stlaringiz bilan baham: |