Anteprima
Vedrai una selezione di 1 pagina su 2
Programmazione I - Esercizi Pag. 1
1 su 2
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Università di Napoli Federico II

Corso di Laurea in Ingegneria Informatica – Esame di Programmazione 1

Prova Pratica del 27/02/2006

Cognome……………………………………..Nome…………………....Matr………………………

oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

Lo studente legga attentamente il testo e produca il programma ed i casi di test necessari per dimostrarne il

funzionamento. La mancata compilazione completa dell’elaborato, la compilazione con errori o l’esecuzione

errata dell’algoritmo daranno luogo alla valutazione come prova non superata.

oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

Testo della prova

Implementare in linguaggio C++ la classe Carte_In_Mano. Tale classe è una lista allocata dinamicamente

(si consiglia una implementazione con lista a puntatori). Ogni elemento di Carte_In_Mano è una Carta (si

consiglia di usare una semplice struct per il tipo di dato astratto Carta) e dovrà contenere le seguenti

informazioni:

- Valore, di tipo string (ad esempio “Asso”, “Due”, “Tre”, etc.);

- Seme, di tipo string (ad esempio “Cuori”, etc.)

Si può utilizzare la classe string fornita dalle librerie.

Sulla lista dovranno essere realizzati i seguenti metodi (oltre a costruttore e distruttore):

Pesca(const string valore const string seme)

Stampa() Visualizza a video gli elementi della lista

IL metodo Pesca aggiunge elementi alla lista delle carte in mano seguendo le regole seguenti:

- se la carta pescata forma una coppia con una di quelle già in mano (cioè ha lo stesso valore), la carta

in mano viene eliminata;

- se la carta pescata non forma alcuna coppia con quelle già in mano (cioè nessuna delle carte in mano

ha lo stesso valore), la carta viene aggiunta a quelle in mano (in testa alla lista).

Si test la classe realizzata con il seguente main di prova:

#include <cstdlib>

#include <iostream>

#include <string>

using namespace std;

int main(int argc, char *argv[])

{ Carte_In_Mano *l=new Carte_In_Mano();

l->Pesca("Asso", "Picche"); cout <<"Pesco Asso Picche\n";

l->Pesca("Cinque", "Fiori"); cout <<"Pesco Cinque Fiori\n";

l->Pesca("Tre", "Quadri"); cout <<"Pesco Tre Quadri\n";

l->Pesca("Jack", "Cuori"); cout <<"Pesco Jack Cuori\n";

cout<<"\n\nVisualizzo tutta la lista:\n";

l->stampa();

l->Pesca("Cinque", "Cuori"); cout <<"Pesco Cinque Cuori\n";

l->Pesca("Nove", "Quadri"); cout <<"Pesco Nove Quadri\n";

l->Pesca("Asso", "Cuori"); cout <<"Pesco Asso Cuori\n";

l->Pesca("Jack", "Quadri"); cout <<"Pesco Jack Quadri\n";

Dettagli
Publisher
A.A. 2005-2006
2 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher N. A. 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 Cotroneo Domenico.