PUCRS
Faculdade de Informática
Programação para Engenharia II
Trabalho II - 2007/II


Referência Cruzada

Descrição

O objetivo deste trabalho é criar uma referência cruzada das palavras existentes em um texto. O programa deve contar quantas vezes cada palavra, com mais de 3 letras ocorre em uma seqüencia de palavras. 

Devem ser informados os números das linhas onde ocorrem as palavras.

Ao final do processamento o programa deverá gerar um relatório com as palavras em ordem alfabética.

PAra fazer a entrada do texto o usuário deve digitar uma palavra de cada vez. Entre as palvras, o usuário deve teclar ENTER.

Para sinalizar o final de uma linha, o usuário deve digitar "++". Para sinalizar o final do texto o usuário deve digitar "--".


Requisitos da Implementação

A implementação, deverá respeitar os seguintes aspectos:

Programa Exemplo

// ************************************************************
//
// Aquivo exemplo para o trabalho de REFERÊNCIA CRUZADA
//   ATENÇÃO: Para compilar este arquivo é necessário
//  criar a classe ListaPalavras que manterá uma lista
//  de palavras em ordem alfabética.
//  
// ************************************************************
#include <iostream>

using namespace std;
 

int main()
{
    int nLinha =0;
    string Palavra;
   
    ListaPalavras Lista(); // objeto que gerencia a lista
    do  // laço que passa em cada palavra
    {
        cin << Palavra; // Lê uma palavra
        if (Palavra == "--") // identifica o final do texto
           break; // encerra o laço de leitura das palavras
        if (Palavra == "++") // identifica final de uma linha
        {
            nLinha++; // conta mais uma linha 
            continue; // recomeça o laço
        }   
        Lista.Insere(Palavra, nLinha); // coloca a palavra na lista
    } while (1);

    Lista.ImprimeRelatorio():
}


Ferramenta de Conversão de Arquivos

O programa ConverteTexto.cpp  converte um texto editado em linhas para uma seqüência de palavras separadas em linhas. 
Para sinalizar o final de cada linha, o programa gera
uma linha com o texto "++". Para sinalizar o final do texto o programa gera uma linha com o texto "--".

Para utilizar a saida deste programa como entrada para o seu trabalho faça:

./Conversor > TextoEmLinhas.txt

Isto gera um arquivo texto chamado
TextoEmLinhas.txt
A partir deste aquivo, rode o seu programa utilizando o arquivo como entrada de dados, da seguinte forma:


./RefCruzada < 
TextoEmLinhas.txt


Data de Entrega

O trabalho, que poderá ser desenvolvido em duplas, deverá ser entregue no dia 29/11/2007, durante o horário da aula.