Q:

Mathematics errors in basic C++ program

I am working with a basic C++ program to determine the area and perimeter of a rectangle. My program works fine for whole numbers but falls apart when I use any number with a decimal. I get the impression that I am leaving something out, but since I'm a complete beginner, I have no idea what. 
Below is the source:
#include <iostream>

using namespace std;

int main()
{
    // Declared variables
int length;  // declares variable for length
int width;  // declares variable for width
int area;  // declares variable for area
int perimeter; // declares variable for perimeter

    // Statements
cout << "Enter the length and the width of the rectangle: ";  // states what information to enter
cin >> length >> width;  // user input of length and width
cout << endl;  // closes the input
area = length * width;  // calculates area of rectangle
perimeter = 2 * (length + width);  //calculates perimeter of rectangle
cout << "The area of the rectangle = " << area << " square units." <<endl;  // displays the calculation of the area
cout << "The perimeter of the rectangle = " << perimeter << " units." << endl;  // displays the calculation of the perimeter
system ("pause"); // REMOVE BEFORE RELEASE - testing purposes only

return 0;
}

A:

Change all your int type variables to double or float. I would personally use double because they have more precision than float types.

