SOURCE FILE: tile01.pseudo


#include <fstream>
#include <iostream>
#include <string>
#include <assert.h>

using namespace std;

/* ************************************************************ */
/*                       GLOBAL CONSTANTS                       */
/* ************************************************************ */

  /* Define the size of the array in this single location */
const int MAXSIDE = 100 ; 

    /* Declare a special constant for use in a stub */
int REPEATS = 0 ; // 

/* ************************************************************ */
/*                         MAIN PROGRAM                         */
/* ************************************************************ */
int main ()
{
       /* PROTOTYPES - notice how parameters 
          reflect the required data flow */  
  bool askPermission () ;  
  void getParams (string& filename, int& rows, int& columns) ;
  void getImage(char buffer[MAXSIDE][MAXSIDE],
        string filename, int& height, int& width) ; 
  void doTileJob(char buffer[MAXSIDE][MAXSIDE], 
                   int rows, int cols, int imgHeight, int imgWidth) ;

       /* VARIABLES */  
  string filename ;
  int rows, cols ; // dimensions of the tiling
  int imgHeight, imgWidth ; // dimensions of the tile
  char buffer [MAXSIDE][MAXSIDE] ; // big square array
  bool ok ; // indicates whether user wishes to continue
  
    /* FIND OUT IF THE USER WOULD LIKE TO DO A TILING.  DO
       THIS BY CALLING FUNCTION: askPermision. SAVE THE
       RETURN VALUE IN THE VARIABLE: ok */

  while (ok)
  {
        /* GET THE FILE NAME AND THE TILING DIMENSIONS FROM
	   THE FROM USER BY CALLING FUNCTION: getParams. */

        /* LOAD IMAGE FROM FILE INTO THE "UPPER LEFT CORNER"
	   OF buffer BY CALLING FUNCTION: getImage. */

        /* DO THE TILING FOR THE USER BY CALLING FUNCTION:
	   doTileJob. */

        /* ASK THE USER IF HE WOULD LIKE TO TILE ANOTHER
	   FILE AND GET THE ANSWER.*/
  }

  return 0 ;
}

/* ************************************************************ */
/*                         askPermission                        */
/* ************************************************************ */
bool askPermission ()
{
  /* PUT STUB CODE IN HERE */

  /* OUTPUT A MESSAGE (USE A STATEMENT THAT BEGINS WITH cout
     << THE MESSAGE LETS THE USER KNOW THAT THIS FUNCTION
     HAS BEEN CALLED. */

  /* THEN ADD 1 TO THE GLOBAL VARIABLE: REPEATS (WE'RE GOING
     TO DO A LITTLE 'HACK' TO MAKE THE LOOP
      IN main JUST RUN A FEW TIMES AND STOP.) */
  

   /* FINALLY, WRITE SOME CODE THAT CAUSES THE FUNCTION TO
      RETURN true IF REPEATS <=5, AND OTHERWISE RETURN
      false. */
}

/* ************************************************************ */
/*                           getParams                          */
/* ************************************************************ */
void getParams (string& filename, int& rows, int& columns)
{
  /* PUT STUB CODE IN HERE */
  /* JUST WRITE A LINE TO INDICATE THAT 
     THE FUNCTION getParams IS RUNNING. */
}

/* ************************************************************ */
/*                           getImage                           */
/* ************************************************************ */
void getImage(char buffer[MAXSIDE][MAXSIDE], string filename,
                int& imgHeight, int& imgWidth)
{
  /* PUT STUB CODE IN HERE */
  /* JUST WRITE A LINE TO INDICATE THAT 
     THE FUNCTION getImage IS RUNNING. */
}

/* ************************************************************ */
/*                        doTileJob                             */
/* ************************************************************ */
void doTileJob(char buffer[MAXSIDE][MAXSIDE], 
                int rows, int cols, int imgHeight, int imgWidth)
{
  /* PUT STUB CODE IN HERE */
  /* JUST WRITE A LINE TO INDICATE THAT 
     THE FUNCTION doTileJob IS RUNNING. */
}

/* ************************************************************ */
/* ************************************************************ */
/* ************************************************************ */