#include <iostream> // For input and output stream
using namespace std;
/*
* Function: getLength
* --------------------
* Prompts the user to enter the rectangle's length.
* Returns the entered value as a double.
*/
double getLength( ) {
double length;
cout << "Enter the length of the rectangle: " ;
cin >> length;
return length;
}
/*
* Function: getWidth
* --------------------
* Prompts the user to enter the rectangle's width.
* Returns the entered value as a double.
*/
double getWidth( ) {
double width;
cout << "Enter the width of the rectangle: " ;
cin >> width;
return width;
}
/*
* Function: getArea
* --------------------
* Accepts length and width as parameters and calculates the area.
* Returns the calculated area.
*/
double getArea( double length, double width) {
return length * width;
}
/*
* Function: displayData
* --------------------
* Accepts length, width, and area as parameters.
* Displays the length, width, and area in a formatted message.
*/
void displayData( double length, double width, double area) {
cout << "\n --- Rectangle Data ---" << endl;
cout << "Length: " << length << endl;
cout << "Width: " << width << endl;
cout << "Area: " << area << " square units" << endl;
}
/*
* Function: main
* --------------------
* The main driver function.
* Calls the other functions to get input, compute area, and display the result.
*/
int main( ) {
// Get rectangle dimensions from the user
double length = getLength( ) ; // Ask for length
double width = getWidth( ) ; // Ask for width
// Calculate the area of the rectangle
double area = getArea( length, width) ;
// Display the results
displayData( length, width, area) ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPiAgLy8gRm9yIGlucHV0IGFuZCBvdXRwdXQgc3RyZWFtCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovKgogKiBGdW5jdGlvbjogZ2V0TGVuZ3RoCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFByb21wdHMgdGhlIHVzZXIgdG8gZW50ZXIgdGhlIHJlY3RhbmdsZSdzIGxlbmd0aC4KICogUmV0dXJucyB0aGUgZW50ZXJlZCB2YWx1ZSBhcyBhIGRvdWJsZS4KICovCmRvdWJsZSBnZXRMZW5ndGgoKSB7CiAgICBkb3VibGUgbGVuZ3RoOwogICAgY291dCA8PCAiRW50ZXIgdGhlIGxlbmd0aCBvZiB0aGUgcmVjdGFuZ2xlOiAiOwogICAgY2luID4+IGxlbmd0aDsKICAgIHJldHVybiBsZW5ndGg7Cn0KCi8qCiAqIEZ1bmN0aW9uOiBnZXRXaWR0aAogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLQogKiBQcm9tcHRzIHRoZSB1c2VyIHRvIGVudGVyIHRoZSByZWN0YW5nbGUncyB3aWR0aC4KICogUmV0dXJucyB0aGUgZW50ZXJlZCB2YWx1ZSBhcyBhIGRvdWJsZS4KICovCmRvdWJsZSBnZXRXaWR0aCgpIHsKICAgIGRvdWJsZSB3aWR0aDsKICAgIGNvdXQgPDwgIkVudGVyIHRoZSB3aWR0aCBvZiB0aGUgcmVjdGFuZ2xlOiAiOwogICAgY2luID4+IHdpZHRoOwogICAgcmV0dXJuIHdpZHRoOwp9CgovKgogKiBGdW5jdGlvbjogZ2V0QXJlYQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLQogKiBBY2NlcHRzIGxlbmd0aCBhbmQgd2lkdGggYXMgcGFyYW1ldGVycyBhbmQgY2FsY3VsYXRlcyB0aGUgYXJlYS4KICogUmV0dXJucyB0aGUgY2FsY3VsYXRlZCBhcmVhLgogKi8KZG91YmxlIGdldEFyZWEoZG91YmxlIGxlbmd0aCwgZG91YmxlIHdpZHRoKSB7CiAgICByZXR1cm4gbGVuZ3RoICogd2lkdGg7Cn0KCi8qCiAqIEZ1bmN0aW9uOiBkaXNwbGF5RGF0YQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLQogKiBBY2NlcHRzIGxlbmd0aCwgd2lkdGgsIGFuZCBhcmVhIGFzIHBhcmFtZXRlcnMuCiAqIERpc3BsYXlzIHRoZSBsZW5ndGgsIHdpZHRoLCBhbmQgYXJlYSBpbiBhIGZvcm1hdHRlZCBtZXNzYWdlLgogKi8Kdm9pZCBkaXNwbGF5RGF0YShkb3VibGUgbGVuZ3RoLCBkb3VibGUgd2lkdGgsIGRvdWJsZSBhcmVhKSB7CiAgICBjb3V0IDw8ICJcbi0tLSBSZWN0YW5nbGUgRGF0YSAtLS0iIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJMZW5ndGg6ICIgPDwgbGVuZ3RoIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJXaWR0aDogIiA8PCB3aWR0aCA8PCBlbmRsOwogICAgY291dCA8PCAiQXJlYTogIiA8PCBhcmVhIDw8ICIgc3F1YXJlIHVuaXRzIiA8PCBlbmRsOwp9CgovKgogKiBGdW5jdGlvbjogbWFpbgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLQogKiBUaGUgbWFpbiBkcml2ZXIgZnVuY3Rpb24uCiAqIENhbGxzIHRoZSBvdGhlciBmdW5jdGlvbnMgdG8gZ2V0IGlucHV0LCBjb21wdXRlIGFyZWEsIGFuZCBkaXNwbGF5IHRoZSByZXN1bHQuCiAqLwppbnQgbWFpbigpIHsKICAgIC8vIEdldCByZWN0YW5nbGUgZGltZW5zaW9ucyBmcm9tIHRoZSB1c2VyCiAgICBkb3VibGUgbGVuZ3RoID0gZ2V0TGVuZ3RoKCk7ICAvLyBBc2sgZm9yIGxlbmd0aAogICAgZG91YmxlIHdpZHRoID0gZ2V0V2lkdGgoKTsgICAgLy8gQXNrIGZvciB3aWR0aAoKICAgIC8vIENhbGN1bGF0ZSB0aGUgYXJlYSBvZiB0aGUgcmVjdGFuZ2xlCiAgICBkb3VibGUgYXJlYSA9IGdldEFyZWEobGVuZ3RoLCB3aWR0aCk7CgogICAgLy8gRGlzcGxheSB0aGUgcmVzdWx0cwogICAgZGlzcGxheURhdGEobGVuZ3RoLCB3aWR0aCwgYXJlYSk7CgogICAgcmV0dXJuIDA7Cn0K