carpayment.cpp

来自「C++大学简明教程,解压就行没有密码。希望对大家有用」· C++ 代码 · 共 91 行

CPP
91
字号
// Tutorial 6: CarPayment.cpp
// Calculate monthly payments for various car loans.
#include <iostream> // required to perform C++ stream I/O
#include <iomanip>  // required for parameterized stream manipulators
#include <cmath>    // required to use the C++ math library functions

using namespace std; // for accessing C++ Standard Library members

// calculate monthlyPayment
double calculateMonthlyPayment( double monthlyInterestRate,
   int months, int loanAmount )
{
   double base = pow( 1 + monthlyInterestRate, months );

   return loanAmount * monthlyInterestRate / ( 1 - ( 1 / base ) );

} // end function calculateMonthlyPayment

// function main begins program execution
int main()
{
   // define variables
   int years = 2;          // length of the loan in years
   int months;             // payment period
   double monthlyPayment;  // monthly payment
   int price;              // price of the car
   int downPayment;        // down payment
   double interestRate;    // annual interest rate

   // prompt user for and input car price, 
   // down payment and annual interest rate
   cout << "\nEnter car price: ";
   cin >> price; // get price

   cout << "Enter down payment: ";
   cin >> downPayment; // get down payment

   cout << "Enter annual interest rate: ";
   cin >> interestRate; // get annual interest rate

   // add a header to the output
   cout << "\n" << left << setw( 10 ) << "Months"
        << "Monthly Payments" << endl;

   // calculate the loan amount and monthly interest rate
   int loanAmount = price - downPayment;
   double monthlyInterestRate = interestRate / 1200;

   // set precision for output values
   cout << fixed << setprecision( 2 );

   // process loans of 2, 3, 4 and 5 years
   do
   {
      // calculate payment period in months
      months = 12 * years;

      // calculate monthlyPayment
      monthlyPayment = calculateMonthlyPayment(
         monthlyInterestRate, months, loanAmount );

      // insert result into output stream
      cout << left << setw( 10 ) << months
           << "$" << monthlyPayment << endl;

      years++; // increment the counter

   } 
   while ( years <= 5 ); // end do...while

   cout << "\n"; // insert newline for readability

   return 0; // indicate that program ended successfully

} // end function main


 /**************************************************************************
  * (C) Copyright 1992-2005 by Deitel & Associates, Inc. and               *
  * Pearson Education, Inc. All Rights Reserved.                           *
  * DISCLAIMER: The authors and publisher of this book have used their     *
  * best efforts in preparing the book. These efforts include the          *
  * development, research, and testing of the theories and programs        *
  * to determine their effectiveness. The authors and publisher make       *
  * no warranty of any kind, expressed or implied, with regard to these    *
  * programs or to the documentation contained in these books. The authors *
  * and publisher shall not be liable in any event for incidental or       *
  * consequential damages in connection with, or arising out of, the       *
  * furnishing, performance, or use of these programs.                     *
  **************************************************************************/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?