Estratto del documento

Esame di programmazione I 12 CFU

Prof. Paolo Maresca

Esercizio 1

Scrivere un programma che soddisfi i seguenti requisiti:

  1. Creare una classe Complex che contenga come dati privati parte reale e immaginaria, rappresentati col tipo intero. La classe Complex dichiari due funzioni operatore sovrapposte: una di inserimento nello stream e l’altra di estrazione dallo stream. La funzione operatore di estrazione dallo stream dovrebbe stabilire se il dato immesso è valido e, se non lo è, dovrebbe settare ios::failbit per determinare se è stato immesso un input improprio. Un input valido dovrebbe essere espresso nella forma: 3 + 8i
  2. Il valore può essere negativo o positivo ed è possibile che uno dei valori possa non essere fornito. Se non è fornito viene settato a zero. Qualsiasi altra situazione eccezionale venga gestita mediante l’utilizzo di appropriate eccezioni, ossia progettando un’apposita classe di eccezioni per Complex. L’operatore di inserimento non dovrebbe essere capace di mostrare il numero complesso se immettete un dato erroneo da tastiera. Il formato dell’output dovrebbe essere identico al formato di input prima illustrato, considerando che per valori immaginari negativi deve essere stampato un segno “ – “, mentre per i positivi un segno “ + “.
  3. Scrivere un opportuno main di test della classe Complex.

Esercizio 2

  1. Scrivere una funzione template per una funzione predicato isEqualTo, che compara i suoi due argomenti utilizzando l’operatore di uguaglianza “ == “ e restituisce true se questi sono uguali e false se sono diversi. Usare una funzione template in un programma che chiami isEqualTo e la provi su una varietà di tipi built in del linguaggio.
  2. Successivamente si scriva una versione diversa del programma che chiami isEqualTo e la provi su un tipo di classi definite dall’utente, ma senza sovrapporre l’operatore di eguaglianza. Cosa succede quando si tenta di eseguire questo programma??? (commentare in un file di testo allegato al progetto)
Anteprima
Vedrai una selezione di 1 pagina su 1
Programmazione 1 - Esercitazione Pag. 1
1 su 1
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Fra.M di informazioni apprese con la frequenza delle lezioni di Programmazione 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Maresca Paolo.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community