Esercizi

  • Modificare il programma C++ della volta precedente (html.cc [download]) in modo che:
    • Il programma si fermi se incontra il colore di valore R=255 G=0 B=0.
    • Il costruttore di 'line' non individui direttamente i colori nella linea, ma richiami un metodo creacolore che riceverà come parametro l'istrstream contenente la linea letta e creerà il 'colore' se ne trova uno
    • Il costruttore userà un loop infinito per leggere i colori, la terminazione avverrà tramite un'eccezione.
    • Il metodo creacolore potrà lanciare due eccezioni di tipo diverso:
      1. se l'istrstream va' in errore (se finisce la stringa)
      2. se viene letto il colore R=255 G=0 B=0 (valore 0xff0000)
    • Il costruttore di 'line' lancerà un'eccezione se il file di ingresso và in errore (EOF)
    • La funzione principale esegua un loop infinito per creare le istanze di 'line', ma
      1. Gestirà l'eccezione inviata dal costruttore di 'line' per 'EOF', terminando regolarmente
      2. Gestirà l'eccezione inviata da creacolore stampando un opportuno messaggio e terminando ancora regolarmente
note
  1. Per testare il programma utilizzare il file html.cc.html che contiene il colore dato
  2. I file in c++ hanno estensione .cc in Linux
  3. Il compilatore sotto Linux si chiama cc, anche per il C++
  4. Per utilizzare le classi stream occorre aggiungere alla riga del compilatore -lstdc++ oppure aggiugere al Makefile una linea contente LDFLAGS=-lstdc++
  5. 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