ajustar.cpp

// $Id:$
//***************************************************************
//
//  PROYECTO: AJUSTAR
//
//  PROGRAMA: Ajustar
//
//  AUTOR/ES: M. Collado
//
//  DESCRIPCION DEL PROGRAMA:
//    Este programa reforma un fichero de texto recomponiendo los parrafos
//    de manera que se agrupen tantas palabras como se pueda en cada linea,
//    y se justifiquen las lineas que no sean final de parrafo.
//
//    Se respetara la separacion de parrafos en el texto de entrada,
//    bien en forma de lineas en blanco, o bien como sangrado de la
//    primera linea del parrafo.
//
//***************************************************************

// Módulos de sistema

// Otros módulos de la aplicación
#include "palabra.h"
#include "parrafo.h"


//---------------------------------------------------------------
// Literales, macros, constantes y tipos:
//---------------------------------------------------------------

//---------------------------------------------------------------
// Variables globales del programa:
//---------------------------------------------------------------

//---------------------------------------------------------------
// Prototipos de las funciones auxiliares:
//---------------------------------------------------------------


//***************************************************************
//  DEFINICION DE LAS FUNCIONES AUXILIARES DEL PROGRAMA
//***************************************************************


//***************************************************************
//  PROGRAMA PRINCIPAL (main)
//***************************************************************
void main (void)
{
    PAL_c pal;
    PAL_Separador_t sep;
    bool fin;
    PAR_c parrafo;

    PAL_Iniciar ();

    pal.PAL_Leer (&sep, &fin);
    while (!fin) {          // Bucle de parrafos
        parrafo.PAR_Iniciar (sep);
        sep = PAL_SEPARADOR_NULO;
        while (PAL_EsSeparadorNulo (sep) && !fin) {  // Bucle de palabras de un mismo parrafo
            parrafo.PAR_PonerPalabra (&pal);
            pal.PAL_Leer (&sep, &fin);
        }
        parrafo.PAR_Terminar ();
    }
} // main