Corso di Programmazione - Prova Pratica - 19 giugno 2002


Una rubrica è un array di lunghezza fissata (100) i cui elementi sono record aventi come campi il cognome, il nome, e l'indirizzo di una persona:

#define N 100

typedef struct Persona{

char *cognome;
char *nome;
char *indirizzo;

} Persona;

typedef Persona Rubrica[N];


Esercizio 1: Implementare la seguente funzione:

int conta_selezione(Rubrica r, int dim, char c);

La procedura conta_selezione deve restituire il numero delle persone presenti nella rubrica r passata come primo parametro, che iniziano con il carattere c (passato come terzo parametro). Poiché non è detto che tutti e 100 gli elementi dell'array r siano stati utilizzati, la procedura chiede come secondo parametro la dimensione dim del segmento iniziale dell'array r che deve essere considerato.


Esercizio 2: Implementare la seguente procedura:

void tutto_maiuscolo(Rubrica r, int dim);

La funzione tutto_maiuscolo prende come parametro attuale una rubrica r e la dimensione dim del suo segmento iniziale significativo. La procedura modifica i caratteri del campo cognome di ogni valore dell'array r in modo che siano tutti in maiuscolo (compresi tra 'A' e 'Z').


La modalità di consegna dell'esame è analoga a quella delle esercitazioni durante il corso: è sufficiente inviarlo come esercitazione numero 128. Bisogna inserire esclusivamente la definizione delle procedure, per consentirne la correzione automatica.