Aiuto c++ dato astratto

Assistenza ed informazioni sul linguaggio C/C++ compreso lo sviluppo visuale
Rispondi
Avatar utente
Pascolo
Messaggi: 1
Iscritto il: 19 mag 2020, 11:26

Aiuto c++ dato astratto

Messaggio da Pascolo » 19 mag 2020, 11:28

Buongiorno vorrei un auto in questo esercizio:
Realizzare il tipo di dato astratto “intero opzionale” che codifica il significato di successo o
fallimento durante una computazione. In particolare, se la computazione ha successo il tipo di
dato astratto rappresenta internamento un intero, se invece la computazione non ha successo
viene memorizzato internamente un valore stringa con un breve messaggio dell’errore.
Questo tipo di dato può essere utilizzato ad esempio durante la ricerca di un numero in un
array di interi data una certa condizione: se la ricerca ha successo ed il numero viene trovato,
allora si restituisce l’oggetto opzionale con il valore intero ed un indicatore di successo, se
il numero non viene trovato invece si restituisce l’oggetto opzionale con un indicatore di
fallimento e la descrizione dell’errore.
Il tipo di dato astratto optional_int deve fornire le seguenti operazioni:
• make_optional(int), che costruisce e restituisce un intero opzionale popolando la
componente di successo;
• make_optional(string), che costruisce e restituisce un intero opzionale popolando la
componente di errore;
• use(optional_int), che stampa a video l’intero memorizzato nell’optional oppure
l’errore in base allo stato interno.
Scrivere nel main qualche semplice test per provare l’effettività delle funzioni elencate
sopra, indicando risultato atteso e risultato ottenuto.
Successivamente, anche in un altro file, scrivere un programma che dato un array A
effettua la ricerca di un numero multiplo di 3.
La ricerca deve essere codificata tramite una funzione che ha come tipo di ritorno proprio optional_int. Se la ricerca del multiplo
di 3 ha successo la suddetta funzione restituisce un optional_int con valore 3 e flag di
successo, altrimenti un messaggio di errore elemento non trovato e il flag di errore. Al main
non rimane che “utilizzare” con la funzione use(optional_int) l’intero opzionale ritornato.
Invocare poi nel main questa funzione, testando diversi array in input.

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite