Esercizi

  • Scrivere un programma C++ che, utilizzando le classi stream, legga un file di testo in HTML e:
    • Definisca una classe template 'lista'
    • Costruisca una classe 'linea' derivata da 'lista' che immagazzinerà una linea di testo del file (le linee non supereranno mai i 300 caratteri)
    • Inserisca in una lista le linee lette
    • Definisca una classe 'colore' che ha tre attributi interi chiamati R, G e B, derivata da lista
    • La classe 'linea' conterrà un puntatore alla classe 'colore', per gestire una lista di 'colori'.
    • Il costruttore della classe 'linea' eseguirà una scansione della linea stessa, alla ricerca di stringhe del tipo '#RRGGBB' che descrivono un colore. Ogni volta che individuerà una tale stringa, la analizzerà, intepretando ogni coppia di lettere (RR, GG e BB) come coppie di cifre esadecimali.
    • Per ogni stringa '#RRGGBB' costuirà una nuova istanza della classe 'colore' che conterrà i valori dei tre colori base estratti dal testo, inserendoli nella propria lista di colori.
    • Per finire verrà stampato il testo HRML, riga per riga, stampando dopo ogni riga l'elenco dei colori utilizzati in quella riga, in decimale, allineati ordinatamente.
    note
    1. I file in c++ hanno estensione .cc in Linux
    2. Il compilatore sotto Linux si chiama cc, anche per il C++
    3. Per utilizzare le classi stream occorre aggiungere alla riga del compilatore -lstdc++ oppure aggiugere al Makefile una lina contente LDFLAGS=-lstdc++
    4. Un semplice editor, alternativo a vi e' joe, oppure l'editor del midnight commander (mc) o avviare X windows (comando startx) es usare gnotepad+ (menù di avvio, applicazioni) e compilare in una finestra terminale (menù di avvio, utilities, Regualr Xterm)

© Ing. Stefano Salvi - All rights reserved