---+ Programmazione 1 (P-Z) a.a. 2007-08 ---++ Homework 5 ---+++ Termine di consegna 7 Gennaio 2008, Ore 23:59 *E' molto importante che prima di inviare le soluzioni leggiate le [[nomiFileSoluzioniPZ0708][Indicazioni di consegna]].* *Esercizio 1* <div align="justify"><blockquote>Si consideri un *file di testo semplice* __file_input__ che contiene le informazioni Nome, cognome, data di nascita e numero di matricola di un gruppo di studenti, formattati all'interno del file nel seguente modo: <verbatim> Nome1; Cognome1; gg/mm/aaaa; Matricola1; ..... NomeN; CognomeN; gg/mm/aaaa; MatricolaN; </verbatim> Si consideri inoltre il seguente tipo: <verbatim> typedef struct Studente { char Nome [20]; char Cognome [20]; char data_di_nascita [11]; unsigned int Matricola; } record_studente; </verbatim> Scrivere una funzione con prototipo: <verbatim> int scrivi_dati(char* file_input, char* file_output); </verbatim> che prende in input la stringa __file_input__ che contiene il nome di un *file di testo semplice*, crea, per ogni riga (che corrisponde ad uno studente), una struttura di tipo __record_studente__ e scrive tale *record* in un *file binario* dal nome contenuto nella stringa __file_output__ . La funzione deve ritornare: * -1 In caso di errore. * 0 In caso di scrittura avvenuta con successo. </blockquote></div> *Esercizio 2* <div align="justify"><blockquote> Si consideri il tipo di cui sopra. Scrivere una funzione con prototipo: <verbatim> int cancella_doppioni(char* file_binario); </verbatim> che prende in input la stringa __file binario__ che contiene il nome di un file fatto di __record_studente__, e, per tutti i record che hanno valore uguale nel campo Matricola, pone il campo Matricola uguale a 0. La funzione da' in output: * -1 in caso di errore; * nr di "record cancellati" in caso di avvenuta "cancellazione". </blockquote></div> <br /> *Attenzione:* In entrambi gli esercizi *non dovete* usare file di appoggio, ma *dovete lavorare* sui file i cui nomi vengono presi in input dalle funzioni. *Attenzione 2:* Non dovete assolutamente utilizzare funzioni di librerie estese, ma *solo* funzioni delle *librerie standard del linguaggio C.* <br /> -- Users.JulindaStefa - 11 Dec 2007
This topic: Programmazione1
>
WebHome
>
Prog1PZ
>
HomeworksPZ0708
>
Homework5PZ0708
Topic revision: r2 - 2007-12-21 - JulindaStefa
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback