martedì 26 aprile 2011

Esercitazione 5

Potete scaricare il teso dell'esercitazione 5 che tratta gli ultimi argomenti visti a lezione. Vi consiglio di approfittare della pausa delle lezioni per mettervi al corrente con le esercitazioni passate. Se alla ripresa delle lezioni non avrete grande familiarità con gli argomenti finora trattati avrete difficoltà a seguire quelli nuovi.
Per chiarimenti potete sempre contattarmi sul blog, via email o il 5 maggio al CUPA. Buon lavoro.

4 commenti:

  1. Salve professore,
    non ho capito bene come funziona l'operatore freccetta. Mi può dare una piccola delucidazione a proposito? La ringrazio in anticipo.

    RispondiElimina
  2. P.S. Ho provato a svolgere il primo esercizio senza l'utilizzo dei puntatori, la funzione "leggi" ha funzionato, mentre quella "stampa" dà in output valori inaspettati (http://img59.imageshack.us/img59/7619/esercizio.jpg). Se utilizzo invece l'implementazione con i puntatori e l'operatore freccetta (dopo che ho sbirciato la sua soluzione sul sito di palermo) funziona perfetto. (http://img41.imageshack.us/f/esercizio1.jpg/) Dove sta il problema?

    RispondiElimina
  3. Il problema e' che alla funzione legge passi il parametro per valore quindi la p in cui metti i dati dell'utente e' una variabile locale della funzione. Quando torni da legge la variabile a non e' stata modificata e quando la stampi hai essenzialmente la stampa di variabili non inizializzate. Se passi il parametro a legge per riferimento o per puntatore funziona.
    Il problema dell'operatore -> penso l'avrai gia' risolto. In sostanza lo puoi usare solo per puntatori a struct e dereferenzia e accede al campo in un colpo solo. In pratica invece di scrivere (*p).age puoi scrivere p->age che e' la stessa cosa.

    RispondiElimina
  4. Ho capito :) in effetti avevo risolto un esercizio simile nella penultima esercitazione passando il riferimento, senza però farci troppo caso. Se avessi tentato, come ho fatto questa volta, il passaggio per valore me ne sarei reso conto già allora. Grazie prof. e a presto.

    RispondiElimina