Newsgroup: it.comp.lang.c++
Titolo: AIUTO AIUTO giovane in VERA difficolta chiede AIUTO

Mi trovo in grosso pasticcio,
devo consegnare un programma in C++, e non so da dove devo partire.
Chiedo aiuto, aiuto.
Se volete aiutarmi, il tasto del proggetto è questo:
____________________________________________________________________________
______________________________________________
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
°°°°°°°°°°°
Realizzare un programma che riceve in input un file di testo qualsiasi
(standard ASCII) più alcuni parametri e produce in output lo stesso file di
testo formattato secondo le seguenti specifiche.
  a.. Il testo viene allineato sia a destra che a sinistra ("giustificato")
su righe di lunghezza L, con L fornito in input dall'utente. L'allineamento
è ottenuto inserendo un numero di spazi opportuno tra le parole del testo,
in modo il più possibile uniforme.
  b.. L'interlinea e' di default 1; un'interlinea diverso (2, 3, ...) può
essere specificato tramite l'opportuno comando di formattazione (vedi punto
successivo). Interlinea 2 richiede l'inserimento di una riga bianca tra due
righe di testo; interlinea 3 l'inserimento di 2 righe bianche, e così via.
  c.. All'interno del testo possono apparire i seguenti comandi di
formattazione:
    a.. \c TESTO \\c      il TESTO deve essere centrato;
    b.. \n TESTO \\n     al TESTO non si applica nessuna formattazione;
    c.. \l[n] TESTO \\l     dove n è un intero > 0 con o senza segno;
l'interlinea in TESTO viene posto uguale ad n oppure incrementato (+n) o
decrementato (-n) di n rispetto all'interlinea corrente;
    d.. [FACOLTATIVO] \i TESTO \\i     lista indentata: le frasi inizianti
con '-' vengono fatte rientrare di 3 spazi e fatte precedere da '  -  '. Ad
esempio:
        -questo e' un testo di 3 righe, scritto per mostrare un esempio
    diventa (supponendo la lunghezza della riga sia fissata ad esempio a 26
car.)
         - questo  e' un  testo di
           3  righe,  scritto  per
           mostrare un esempio
  n.b. Questi comandi forzano un "a capo" nel testo formattato
(interruzione di riga) sia all'inizio (prima di TESTO) che alla fine (dopo
TESTO). Ad esempio, il testo:
      Questa e' una \cfrase\\c di prova per verificare il comando di
centratura.
  diventa (supponendo la lunghezza della riga sia fissata ad esempio a 26
car.)
      Questa e' una
                frase
      di prova per verificare il
      comando di centratura.
  n.b.: Alla chiusura del comando viene ripristinato il relativo valore di
default (giustificato per i comandi relativi all'allineamento, interlinea 1
per il comando \l)
  d.. Una riga nel testo originale completamente bianca  provoca
l'interruzione della riga corrente e viene riportata inalterata nel testo
formattato. Ad esempio, il testo:
      Questa e' una frase di prova.
      A questa frase si applica la formattazione.
  diventa (supponendo la lunghezza della riga sia fissata ad esempio a 26
car.)
      Questa  e'  una  frase  di
      prova.
      A questa frase si  applica
      la formattazione.
  e.. All'interno del testo possono apparire inoltre i seguenti comandi sui
caratteri:
    a.. \M TESTO \\M     tutti i caratteri di TESTO diventano maiuscoli
    b.. \s TESTO \\s     i caratteri di TESTO vengono separati da un
carattere '_' (underscore); ad es.:
      \sPROVA\\s   ---->   P_R_O_V_A
    c.. [FACOLTATIVO]  \^ TESTO \\^    TESTO viene sottolineato con il
carattere ^; ad es.:
      \^TESTO\\^   ---->   TESTO
                           ^^^^^
    Per la sottolineatura viene inserita una nuova riga o utilizzata la riga
bianca successiva, se presente.
  n.b.: I comandi sui caratteri possono apparire anche all'interno del TESTO
contenuto in un comando di formattazione o nel TESTO di un altro comando sui
caratteri (ad esempio: \M\sProva\\s\\M  ---->   P_R_O_V_A).

 Se volete aiutarmi, il tasto del proggetto è questo:
Vuoi anche una fetta di prosciutto vicina all'osso?
I compiti li fai tu, poi posti qua la tua soluzione e ti verranno
consigliate eventuali modifiche.
Maurus