-->

# CS201 Assignment No 2 Due Date 28-06-2016

## CS201 Assignment

Here we have Cs201 Assignment no 2 as it is continuity of assignment 1. You have to do the same task as you did in assignment 1 but this time you have to use structure variables.

### CS201 Assignment No 2

You have to write C++ program in which;
• You are required to define 2 structures named as Rectangle and Trapezoid.
• Rectangle has 3 data members, width, length and area
• Trapezoid has 4 data members named as height, base1, base2 and area.
• Provide 2 options to the user as below:
 Enter 1 to calculate the area of Rectangle
 Enter 2 to calculate the area of a Trapezoid

• If the user enters 1, then
 Object (variable) of Rectangle structure is created
 The program should ask the user to enter the width and length of the rectangle
 Then show the result after calculation. Formula for calculating Area of rectangle is
Area = width x Length.

• If the user enters 2, then
 Object (variable) of Trapezoid structure is created
 The program should ask the user to enter the base1, base2, and height of the trapezoid
 Then shows the result after calculation. Formula for calculating Area of trapezoid is
Area =
• You must implement two different functions for calculating areas of rectangle and trapezoid.
• After taking the choice from the user in form of 1 or 2 and assigning entered values to respective structure data members, the relevant function should be called to calculate area.
• Function for calculating area should return a value that would be stored in data member of structure to store respective area.
• After storing area, it should be displayed on screen.
• After showing the output to the user, you need to ask the user if he/she wants to do another calculation. If the user presses y or Y, then the program should ask the user again to enter the choice of shape otherwise the program should be terminated.

Screenshot of the program execution is given below for both shapes:

### Cs201 Assignment no. 2 Solution:

```/*
BY Zohaib Khan "Virtual Study Solutions"
remove the above type your name and roll no
This program will calculate the area of rectangle and trapezoid using structure data type
*/
#include <iostream>
using namespace std;

struct Rectangle
{
double width;
double length;
double area;
};

struct Trapezoid
{
double base1;
double base2;
double height;
double area;
};

double rectangleArea( Rectangle rectangle );
double trapezoidArea( Trapezoid trapezoid );

main()
{
char c;

do{
int choice;
cout << "\nEnter 1 to calculate area of rectangle\n";
cout << "Enter 2 to calculate area of trapezoid\n";
cout << "\n\nEnter your choice: ";
cin >> choice;

if(choice == 1)
{
Rectangle rectangle;
cout << "Enter the width of rectangle: ";
cin >> rectangle.width;
cout << "Enter the length of rectangle: ";
cin >> rectangle.length;
rectangle.area = rectangleArea( rectangle );
cout << "The area of rectangle is: " << rectangle.area;

}

else if(choice == 2)
{
Trapezoid trapezoid;
cout << "Enter the base1 of trapezoid: ";
cin >> trapezoid.base1;
cout << "Enter the base2 of trapezoid: ";
cin >> trapezoid.base2;
cout << "Enter the height of trapezoid: ";
cin >> trapezoid.height;
trapezoid.area = trapezoidArea( trapezoid );
cout << "\nThe area of trapezoid is: "
<< trapezoid.area;

}
else{
cout << "Error! please enter 1 or 2.";
}
cout << "\n\nDo you want to do another calculation: ";
cin >> c;
} while( c == 'y' || c == 'Y');

return 0;
}

double rectangleArea( Rectangle rectangle)
{
return (rectangle.length) * (rectangle.width);
}

double trapezoidArea(Trapezoid trapezoid )
{
return ( trapezoid.height *( (trapezoid.base1 + trapezoid.base2) / 2) );
}
```

#### You should also Read :

We Offer Virtual University Of Pakistan, Assignments, Mid-Term/Final-Term Papers And Quiz, Solved Questions And Much More For Students Of Virtual University.We are here to facilitate your learning and do not appreciate the idea of copying or replicating solutions.

Our main purpose here discussion not just Solution. We are here with you hands in hands to facilitate your learning and do not appreciate the idea of copying or replicating solutions.