home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C Programming Starter Kit 2.0
/
SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso
/
tybc4
/
struct1.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1993-03-27
|
1KB
|
58 lines
/*
C++ program that demonstrates structured types
*/
#include <iostream.h>
#include <stdio.h>
#include <math.h>
const MAX_RECT = 4;
struct point {
double x;
double y;
};
struct rect {
point ulc; // upper left corner
point lrc; // lower right corner
double area;
int id;
};
typedef rect rectArr[MAX_RECT];
main()
{
rectArr r;
rect temp;
double length, width;
for (int i = 0; i < MAX_RECT; i++) {
cout << "Enter (X,Y) coord. for ULC of rect. # "
<< i << " : ";
cin >> r[i].ulc.x >> r[i].ulc.y;
cout << "Enter (X,Y) coord. for LRC of rect. # "
<< i << " : ";
cin >> r[i].lrc.x >> r[i].lrc.y;
r[i].id = i;
length = fabs(r[i].ulc.x - r[i].lrc.x);
width = fabs(r[i].ulc.y - r[i].lrc.y);
r[i].area = length * width;
}
// sort the rectanges by areas
for (i = 0; i < (MAX_RECT - 1); i++)
for (int j = i + 1; j < MAX_RECT; j++)
if (r[i].area > r[j].area) {
temp = r[i];
r[i] = r[j];
r[j] = temp;
}
// display rectangles sorted by area
for (i = 0; i < MAX_RECT; i++)
printf("Rect # %d has area %5.4lf\n", r[i].id, r[i].area);
return 0;
}