Consideriamo una lista in cui ogni elemento contenga due campi informazione: uno di tipo intero e l'altro di tipo stringa. Nel seguito chiamiamo 'identificatore' il campo di tipo numerico e 'messaggio' il campo di tipo stringa. Passo intermedio: estrazione per valore in una lista non ordinata Realizzare un programma che fornisca le seguenti funzionalitā: . creazione della lista: si chiede all'utente quanti elementi deve contenere la lista e, per ciascuno di tali elementi, si chiede all'utente di inserire il valore dell'identificatore e del messaggio. La lista non č ordinata. . stampa del contenuto della lista: per ogni elemento della lista, si stampa il valore dell'identificatore ed il messaggio memorizzato . estrazione di un elemento dalla lista: si chiede all'utente il valore dell'identificatore dell'elemento da estrarre e, se si trova un elemento contenente un identificatore con tale valore, si stampa il messaggio in esso contenuto e si elimina l'elemento. Realizzare questa funzionalitā mediante una funzione 'estrai', che prenda in ingresso (insieme ad altri eventuali parametri) il valore dell'identificatore dell'elemento da estrarre e, se trova un elemento contenente un identificatore con tale valore, ritorna un'indicazione di successo ed il messaggio contenuto nell'elemento; altrimenti ritorna una indicazione di fallimento Il programma deve proporre un menų che permetta di scegliere quale compito svolgere. Svolto il compito selezionato, viene riproposto di nuovo il menų, e cosė via all'infinito. Un esempio di realizzazione del menų č nel file: stesta_solo_main.cc. Inoltre una soluzione intermedia č nel file: stesta_solo_crea.cc. -> attenzione a quello che succede nel caso in cui l'utente scelga pių volte di effettuare la creazione della lista; cosa bisogna fare in questo caso? La soluzione completa č nel file: stesta_estrai.cc ------------------------------ Versione definitiva: "Sposta in testa" Realizzare un programma che fornisca le seguenti funzionalitā: . creazione della lista: si chiede all'utente quanti elementi deve contenere la lista e, per ciascuno di tali elementi, si chiede di inserire il valore dell'identificatore e del messaggio. La lista non č ordinata . stampa del contenuto della lista: per ogni elemento della lista, si stampa il valore dell'identificatore ed il messaggio memorizzato . accesso ad un elemento dalla lista: si chiede all'utente il valore dell'identificatore dell'elemento a cui accedere e, se si trova un elemento contenente un identificatore con tale valore, si stampa il messaggio in esso contenuto. Realizzare questa funzionalita' mediante una funzione 'accedi', che prende in ingresso (insieme ad altri eventuali parametri) il valore dell'identificatore dell'elemento da accedere e, se trova un elemento contenente un identificatore con tale valore, ritorna un indicazione di successo, il messaggio contenuto nell'elemento ed il numero di passi effettuati per accedere all'elemento richiesto; altrimenti la funzione ritorna una indicazione di fallimento. L'elemento appena acceduto va spostato in testa alla lista. Il programma deve proporre un menų che permetta di scegliere quale compito svolgere. Svolto il compito selezionato, viene riproposto di nuovo il menu, e cosė via all'infinito. La soluzione č nel file: stesta.cc ------------------------------- Variazioni/estensioni: . Se si accede un elemento, scambiarlo poi di posizione con la testa della lista La soluzione č nel file: stesta_scambia.cc