1. Soluzione esercizio XYZ SpA



Documenti analoghi
ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++


BOZZA. cin per la comunicazione dal dispositivo di input standard, la tastiera, al programma (stream di input standard)

Base Dati Introduzione

Laboratorio di Programmazione Gruppo III, Ml-ZZ. Alberto Finzi

Introduzione al Linguaggio C

I file di dati. Unità didattica D1 1

Laboratorio di Algoritmi e Strutture Dati

Gestione dei File in C

Corso di Programmazione ad oggetti

MANUALE UTENTE Fiscali Free

Fondamenti di Informatica 2008 corso prof. A. Picariello. Operazioni sui FILE in C++

Input / Output attraverso stream. I/O in C vs. I/O in C++

Manuale Utente Albo Pretorio GA

Concetto di stream. c i a o \0. c i a o \0. c i a o \0

Breve guida all uso del programma L Edicolante.

Gestione di files Motivazioni

Dna File Converter Software per importazione esportazione dati Unisap-Essepaghe. Manuale utente

Ho raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

GestVetrine 1.1 versione novembre 2014

Visibilità dei Membri di una Classe

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Le query di raggruppamento

Entrare nel sistema. Clicca su Entra per entrare nel sistema. PAGINA 1

Corso di Algoritmi e Strutture Dati Lezione del Esercitatrice: dott.ssa Susanna Cozza. L argomento della lezione

Prova Scritta del 19/07/10

AN ATOCISMO BAN CARIO

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Liberare la memoria allocata dinamicamente.

Uso delle basi di dati. Informazione e dato. Cos è un database. Tabelle. Esempi di database

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

ENTRARE NEL SISTEMA. Clicca su Entra per entrare nel sistema. PAGINA 1

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni

Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

RICHIESTE INTERVENTO

Esercizio 1. Esercizio 2

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO XI.2015

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Le variabili. Olga Scotti

DATABASE RELAZIONALI

Applicativo Integrato Di Autocontrollo

Gestione dei file di dati

Corso sul linguaggio Java

Introduzione alla programmazione in C

disponibili nel pacchetto software.

La struttura dati ad albero binario

File I/O. M. R. Guarracino: File I/O 1

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Concetti preliminari teorici per il corso di Access Avanzato - Sc.Elem Falcone - PON Prof. M. Simone

Dispense Corso Access

Guida all utilizzo a cura di Francesco Lattari. Guida all utilizzo di moodle per studenti

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

MagiCum S.r.l. Progetto Inno-School

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Lab 11 Gestione file di testo"

NAVIGAZIONE DEL SI-ERC: UTENTE PROGETTISTA

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

Uno stream rappresenta un flusso di dati da cui e' possibile

Configuration Management

CONTENUTI 1. INTRODUZIONE CONCETTI BASICI SU EQUINOX CMS XPRESS ACCESSO A EQUINOX CMS XPRESS PAGINA D INIZIO...

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME

Manuale operativo - Procedura per la costruzione, la pubblicazione di questionari

Il compilatore Dev-C++

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Esercitazione n 4. Obiettivi

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

Manuale Utente per la Domanda di Iscrizione nell Elenco Revisori degli Enti Locali

Stima della size- Esercitazioni

Database 1 biblioteca universitaria. Testo del quesito

developed by Emanuele De Carlo

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C

2. LOGIN E RECUPERO DATI DI ACCESSO

MANUALE ESSE3 Gestione Registro delle lezioni

INFORMATICA File di testo in C Roberta Gerboni

Registratori di Cassa

Ministero dell Ambiente e della Tutela del Territorio e del Mare GUIDA ALL ACCESSO DEI WEB SERVICE MEDIANTE QUANTUM GIS

void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

GUIDA UTENTE PRIMA NOTA SEMPLICE

Università degli Studi di Ferrara

Struttura di un programma Java

ingresso/uscita da file

Gestione Turni. Introduzione

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

LA RICLASSIFICAZIONE DEI SALDI CONTABILI CON MICROSOFT ACCESS 2007

Scheda operativa Versione rif c00. Libro Inventari

Università degli Studi di Verona. Laboratorio di Basi di Dati

Facoltà di Farmacia - Corso di Informatica

5.2.1 RELAZIONI TRA TABELLE Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

Dispensa di database Access

Linguaggio C. Fondamenti. Struttura di un programma.

Transcript:

1. Soluzione esercizio XYZ SpA 2. Oggetti fstream e loro uso Si vuole realizzare un piccolo sistema informativo a supporto dell'attività dell'ufficio dipendenti della società XYZ SpA. Tale società opera nel settore AAA, ha un numero medio di dipendenti pari a 50 ed ha un'unica sede presso la città BBB. L'ufficio dipendenti cura la gestione dei dati anagrafici e stipendiali dei dipendenti della società XYZ SpA. Nell'ufficio opera un responsabile che raccoglie ed aggiorna i dati dei dipendenti. I dati che devono essere mantenuti per ogni dipendente sono i seguenti: nome, cognome, matricola, e stipendio corrente. Lo stipendio si caratterizza solo per l'ammontare lordo mensile. La matricola identifica univocamente ogni dipendente della società; è compito del sistema determinare la matricola di un dipendente neoassunto dalla XYZ SpA. A fronte dell'assunzione di un nuovo dipendente da parte della XYZ SpA, il responsabile dell'ufficio dipendenti utilizza il sistema software per memorizzare i dati del neo assunto; tali dati vengono cancellati dal responsabile a fronte di un eventuale licenziamento o dimissioni. Il responsabile eventualmente modifica i dati relativi ad un dipendente, cerca e visualizza i dati di un dipendente, stampa l'elenco di tutti i dipendenti attualmente in servizio presso la società. 1

classi progettate Cosa fanno il costruttore ed il distruttore di ArchivioUtente? Vedere il codice file Esempi realistici di programmi trattano grandi quantità di dati. E tali dati devono essere, in genere, mantenuti in modo persistente. La gestione dei dati persistenti prevede la creazione di infrastrutture per la memorizzazione ed il reperimento degli oggetti A livello del sistema si ricorre a DBMS (Data Base Management System). L uso di DBMS esula dall ambito del corso In casi particolari, l uso di file può sostituire l uso di database Allora: È necessario dare una veloce introduzione alla manipolazione di file in C++. 2

Se un programma ha bisogno di elaborare dati da/per file, deve dichiarare oggetti di tipo "filestream". Il file fstream.h contiene le definizioni per tali oggetti. Gli oggetti filestream sono di tre tipi: ifstream --- per leggere dati da file ofstream --- per scrivere dati su file fstream --- per leggere e scrivere dati (in differenti momenti) su file 3

#include <iostream.h> #include <fstream.h> // file intestazione da includere per i filestream int main() { ifstream input("theinput.txt", ios::in); // costruttore #include <iostream.h> #include <fstream.h> void main() { ifstream input; // altro costruttore. L oggetto filestream input non // è collegato a nessun file input.open("file1.txt", ios::in); // uso metodo open Una volta creato un oggetto filestream di input, può essere usato come l oggetto cin #include <iostream.h> #include <fstream.h> void main() { ifstream input("theinput.txt", ios::in); long l1, l2; double d3; char ch; input >> d3; // read a double from file input >> ch; // read a character input >> l1 >> l2; // read two long integer } 4

Allo stesso modo, oggetti ofstream possono essere usati come cout: #include <iostream.h> #include <fstream.h> void main() { ofstream out1("results.txt", ios::out); // create an output file int i; double d; out1 << "The results are :" << endl; // send header to file for(i=0;i<100; i++) { out1 << "i : " << i << ", di " << d << endl; // send data to file } out1.close(); // finished, close the file. Supponendo di aver dichiarato ifstream in1("indata.txt", ios::in), si può testare lo stato di in1 con i metodi: in1.good() in1.bad() in1.fail() in1.eof() returna true" se in1 è OK per l uso returna true" se l ultima operazione su in1 è fallita e non c è modo di recuperare dal fallimento returna true" se l ultima operazione su in1 è fallita e c è modo di recuperare dal fallimento returna true" se non ci sono altri dati da leggere 5

ios::in aperto per la lettura ios::out aperto per la scrittura ios::ate posiziona alla fine del file ios::app apre il file in modalità append ios::trunc tronca il file in apertura ios::nocreate se il file non esiste non cerca di crearlo ios::noreplace l apertura fallisce se il file esiste ios::translate converte CR/LF in newline in input; il viceversa in output Combinationi tipiche per l apertura sono: ios::in ios::nocreate apertura se il file esiste, fallimento altrimenti ios::out ios::noreplace apre un nuovo file in input, fallimento se il file già esiste ios::out ios::ate (ri)apre in output un file esistente, aggiunge i dati alla fine, dopo quelli già presenti ios::out ios::noreplace ios::translate apre nuovo file, fallisce se il file già esiste, traduce i caratteri di newline ios::out ios::nocreate ios::trunc apre un nuovo file in input, fallimento se il file non esiste, elimina dati precedentemente contenuti 6

ifstream kids( PesoBambini.dat", ios::in ios::nocreate); if(!kids.good()) { cout << "File non esistente!" << endl; exit(1); } while(! kids.eof()) { double height; char gender_tag; kids >> height >> gender_tag; } Possibilità di loop infinito (confronta con l input nella figura precedente) 7

This document was created with Win2PDF available at http://www.daneprairie.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only.