I'm very new at this but I'm getting some weird error:

unexpected end of file while looking for precompiled header directive

I don't have much yet but here it is:

```
#ifndef RECTANGLE_H
#define RECTANGLE_H
#include <iostream>
using namespace std;
class Rectangle
{
public:
Rectangle(); //constructor
~Rectangle(); //destructor
Rectangle(); //copy constructor
friend void intersect ();
friend void union_function();
friend void diff();
friend void concat();
friend void another();
void print_rectangle();
private:
//need a pointer to dynamically allocated array of points
int size;
};
#endif
#include <iostream>
#include "rectangle.h"
using namespace std;
Rectangle::Rectangle()
{
//Constructor
int x1= y1 = x2 = y2 = 0; //initializes all variables to 0
}
Rectangle::~Rectangle()
{
//Destructor
}
Rectangle::Rectangle()
{
//Need to have a copy constructor
}
void intersect()
{
//Friend Function to construct intersection of two rectangles
//The intersection of two rectangles is the set of points
//that are in both rectangles.
//intersection R1 R2 = {(x,y)|(x,y) in R1 and (x,y) in R2}
}
void union_function()
{
//Friend Function to determine the union of the two rectangles. The
//union of two rectangles is the set of points in both rectangles.
//union R1 R2 = {(x,y)|(x,y) in R1 or (x,y) in R2)}
}
void diff()
{
//Friend Function to determine the difference of two rectangles. A
// difference of two retangles is the set of points that are in the
//first rectangle but not in the second.
//difference R1 R2 = {(x,y)|(x,y) in R1 and (x,y) not in R2)}
}
void concat()
{
//Member Function to concatenate another rectangle on the right.
//So R1.concatright(R2) will form the union of all the points in R1
//and a modification of all the points in R2The x-coordinate of all of
//the points in R2 are increased by one plus the maximum //x-coordinate of all of the points in R1.
//R1.concatright(R2) = {(x,y)|(x,y) in R1 or (x',y)
//in R2 and x'= x+1+maxX(R2)}
//where maxX(R2) is the maximum of all the x values of the points in
//R2. It may not actually be a rectangle as defined, but we still call
//the resule a "rectangle".
}
void another()
{
//Member Function to concatenate another rectagle above. So
//R1.concatabove(R2) will form the union of all the points in R1 and
//modification of all the points in R2. The y-coordinate of all the
//points in R2 are increased by one plus the maximum
// y-coordinate of all of the points in R1. It may not actually be a
//rectangle as defined, but we still call the resule a "rectangle".
//R1.concatabove(R2) = {(x,y)|(x,y) in R1 or (x, y') in R2 and
//y= y'+1+maxY(R2)}
//where maxY(R2) is the maximum of all of the y values of the points i
//n R2.
}
Rectangle::print_rectangle()
{
//Member function to print out the results in pictorial form
}
#include <iostream>
#include "rectangle.h"
using namespace std;
int main()
{
int x1 = y1 = x2 = y2 = 0;
cout << "Please enter two sets of (x,y) coordinates: ";
cin << x1 << y1 << x2 << y2;
return 0;
}
```