A point cloud is nothing but a bunch of x,y,z coordinates in 3D space. First figure out what is the representation of the points coming from the scanner. Is it cartesian or do you have to convert it to cartesian etc.?
After than all you have to do is 'read in the file' (using file I/O) in C/C++ and parse the file (which is probably line by line) and call the following code:
//structure or class to store the vertex coordinates
struct {
float x, y, z;
} Vertex;
glBegin(GL_POINTS);
for(int i=0; i<fileLength; i++)
{
Vertex v = getNextVertex(); //custom define a function like this that loads a Vertex
glVertex3f(v.x, v.y, v.z);
}
glEnd();
This is the highlevel workflow. You'll probably be using glOrtho or define your own projection using a perspective view (See this post for details). Once you load the file you should see the point cloud. You could always set a point size using glPointSize - I suggest reading up on OpenGL. What you ask is relatively straightforward IMHO assuming I am understanding your need correctly.
If the file is too large and memory is not a constraint it's okay to read the whole thing in memory but you may want to look at doing a buffered read by only reading in a few lines/bytes at a time if it's a problem.
Hope this helps.