Scrittura formattata - printf
|
|
|
- Riccardo Fortunato
- 9 anni fa
- Просмотров:
Транскрипт
1 Esercizi su Input/Output con formato FormattedIO 1 Scrittura formattata - printf Funzione printf int printf ( <stringa di controllo>, <variabili>) La funzione restituisce un valore intero uguale ai caratteri effettivamente stampati Oppure un valore negativo in caso di errore FormattedIO 2 1
2 Scrittura formattata - printf Formattazione La stringa di controllo descrive il formato di output- contiene delle specifiche di conversione: dimensioni del campo, precisione,.. Ogni specifica inizia con il simbolo di percentuale (%), e termina con l'indicatore di conversione FormattedIO 3 Stampa di interi Conversion Specifier d i o u x or X h or l (letter l) Description Visualizza un intero decimale con segno Visualizza un intero decimale con segno. (Gli indicatori i e d si comportano differentemente con la scanf.) Visualizza un intero ottale senza segno Visualizza un intero decimale senza segno Visualizza un intero esadecimale senza segno. X per visualizzare le cifre 0-9 e le lettere A-F x per visualizzare le cifre 0-9 e le lettere a-f Modificatori di lunghezza. Indicano che il numero da visualizzare è rispettivamente short oppure long FormattedIO 4 2
3 3 #include <stdio.h stdio.h> 4 5 int main() 6 { 7 printf( "%d\n", 455 ); 8 printf( "%i\n", 455 ); /* i same as d in printf */ 9 printf( "%d\n", +455 ); 10 printf( "%d\n", -455 ); 11 printf( "%hd hd\n", ); 12 printf( "%ld\n" n", ); 13 printf( "%o\n", 455 ); 14 printf( "%u\n", 455 ); 15 printf( "%u\n", -455 ); 16 printf( "%x\n", 455 ); 17 printf( "%X\n" n", 455 ); } /* end main */ FormattedIO 5 Program Ouptut c7 1C7 FormattedIO 6 3
4 Stampa di numeri Floating-Point Conversion specifier e or E f g or G L Description Visualizza un valore floating-point value in notazione esponenziale Visualizza un valore floating-point nella notazione con virgola Visualizza un valore floating-point nella forma f o esponenziale in base alla grandezza del numero Modificatore di lunghezza. Specifica che il numero da visualozzare è un valore long double floating-point FormattedIO 7 2 /* Printing floating-point numbers with 3 floating-point conversion specifiers */ 4 5 #include <stdio.h> 6 7 int main() 8 { 9 printf( "%e\n" n", ); 10 printf( "%e\n" n", ); 11 printf( "%e\n" n", ); 12 printf( "%E\n" n", ); 13 printf( "%f\n" n", ); 14 printf( "%g\n" n", ); 15 printf( "%G\n" n", ); return 0; /* indicates successful termination */ } /* end main */ e e e E e E+006 Program Output FormattedIO 8 4
5 Lettura formattata - scanf Funzione scanf int scanf ( <stringa di controllo>, <indirizzo delle variabili>) La funzione restituisce un valore intero uguale ai campi effettivamente letti Oppure un valore negativo in caso di errore (oppure la costante EOF) FormattedIO 9 Lettura formattata - scanf scanf Consente Di leggere tutti i tipi di dati Saltare specifici caratteri Stringa di controllo Descrive il formato di input Indirizzo delle variabili Puntatore alle variabili dove memorizzare l input Può includere dimensioni di campo per leggere uno specifico numero di caratteri dallo stream FormattedIO 10 5
6 Esercizio 1 Risolvere il seguente problema: si vuole creare una rubrica telefonica costituita da componenti aventi ciascuna i seguenti campi cognome, nome, numero di telefono In particolare si vogliono leggere i diversi record dal file standard di input stdin- e memorizzare in un file di testo di nome elenco FormattedIO 11 Struttura dati Ogni utente può essere rappresentato mediante una struttura avente 3 campi: cognome, nome, numero-telefono L insieme degli utenti può essere memorizzato su un file costituito da una sequenza di strutture. Scegliamo di scrivere e leggere il file in modo formattato Dichiarazioni globali typedef char STRING[20]; typedef struct { STRING cognome; STRING nome; int num; } UTENTE; FormattedIO 12 6
7 Main int main() { FILE *out; /* dichiarazione puntatore a FILE */ UTENTE rec; /*dichiarazione della struttura */ /* apri file out in scrittura */ if ( (out = fopen ( "elenco.txt", "w" )) ==NULL) { printf ( "errore nell'apertura del file\n") ; exit (1);} FormattedIO 13 Main /* crea file */ int risposta = 1; while (risposta ) { /* legge un elmento dal file stdin */ printf ("inserisci cognome\n"); scanf ("%s", &rec.cognome); printf ("inserisci nome\n"); scanf ("%s", &rec.nome); printf ("inserisci numero di telefono\n"); scanf ("%d", &rec.num); /* scrive i campi di rec nel file out in modo formattato*//* tra il formato di 2 campi adiacenti vi deve essere almeno uno spazio */ fprintf (out, "%s %s %d\n", rec.cognome, rec.nome, rec.num); printf ("vuoi continuare? (1 oppure 0) \n"); scanf("%d", &risposta); printf ("\n"); } Nel formato di scrittura i dati sono separati da un blank FormattedIO 14 7
8 /* chiude il file out */ fclose (out); Main /* apre file out in lettura */ if ((out = fopen ("elenco.txt", "r")) ==NULL) { printf ("errore nell'apertura del file\n") ; exit (1);} FormattedIO 15 Main /* visualizza il file out */ while (!feof(out) ) { /* leggi i campi dal file out con il formato*/ fscanf (out, "%s%s%d\n", &rec.cognome, &rec.nome, &rec.num); Il formato di lettura è uguale a quello con cui i dati sono stati scritti con fprintf escluso i blank /* visualizza rec */ printf ("%20s%20s%10d", rec.cognome, rec.nome, rec.num); printf ("\n"); } FormattedIO 16 8
9 Modifiche Modificare il programma introducendo 2 procedure: Creafile --- per memorizzare il file void creafile (FILE *out) Visualizzafile ---- per visualizzare il file void visualizzafile (FILE *out); FormattedIO 17 Memorizzazione sul file procedura creafile void creafile (FILE *out) { UTENTE st; int risposta = 1; while (risposta ) { leggi dal file stdin i campi cognome, nome, num della struttura st scrivi sul file out i campi letti in modo formattato */ scanf("%d", &risposta); printf ("\n"); } } COMPLETARE FormattedIO 18 9
10 Visualizzazione del file procedura visualizzafile void visualizzafile (FILE *out) { UTENTE st; while (!feof(out) ) { leggi dal file out i campi COMPLETARE cognome, nome, num con lo stesso formato usato per scriverli visualizza sul file stdout i campi letti */ } FormattedIO 19 Formato per la visualizzazione /* visualizza un elemento su file stdout */ printf ("%20s%20s%10d", st.cognome, st.nome, st.num); Nell esempio il formato di stampa è costituito da 3 campi: - 20 caratteri per la prima stringa 20 caratteri per la stringa successiva caratteri per un intero FormattedIO 20 10
11 Esercizio 2 Risolvere il seguente problema: si vuole visualizzare l elenco degli studenti caratterizzati dal nome, cognome e matricola ordinato secondo il campo matricola. a. Descrivere la struttura dati scelta per memorizzare i dati b. Descrivere l algoritmo di ordinamento mediante diagramma di flusso o pseudocodifica c. Descrivere l algoritmo con cui memorizzare i dati su un file d. Scrivere il programma che risolva il problema, organizzato in funzioni o procedure per Leggere i dati e memorizzarli su un file Caricare i dati in un vettore Ordinare il vettore secondo il campo matricola Visualizzare i dati ordinati FormattedIO 21 11
Gestione dei file in C
Gestione dei file in C Fondamenti di Informatica Che cos è un file e a cosa serve? Memoria di massa vs memoria centrale q La memoria di massa (disco fisso) è un dispositivo di memorizzazione generalmente
Formattazione avanzata. Modificatori di formato in output Modificatori di formato in input Stream predefiniti
I/O Avanzato e File Formattazione avanzata Modificatori di formato in output Modificatori di formato in input Stream predefiniti 2 Formattazione avanzata Formattazione dell output L output (su schermo
LIBRERIE STANDARD in C
LIBRERIE STANDARD in C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria, non occorre inserirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle
LIBRERIE STANDARD in C. LIBRERIE STANDARD in C
LIBRERIE STANDARD in C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria, non occorre inserirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle
File e puntatori a file
File e puntatori a file Vitoantonio Bevilacqua [email protected] La libreria stdio.h mette a disposizione delle funzioni che hanno la peculiarità di trattare con questa nuova tipologia di
I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002
I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi [email protected] Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti
Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori
Formattazione avanzata Modificatori di o in output Modificatori di o in input Stream predefiniti I/O Avanzato e File 2 Formattazione dell output Formattazione avanzata L output (su schermo o su file) viene
Input/Output di numeri
Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include
Gestione dei file. File di testo e binari
Gestione dei file Un file e definito come un oggetto, presente nel file system, costituito da una sequenza continua di bytes Un file, per poter essere utilizzato, deve essere aperto Successivamente e possibile
Variabili e Istruzioni
Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome
La formattazione dell input/output in C
CAPITOLO 9 La formattazione dell input/output in C Obiettivi Comprendere i flussi di input e di output. Essere in grado di usare tutte le capacità di formattazione della stampa. Essere in grado di usare
Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE
Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente
File binari e file di testo
I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file
I files in C. A cura del prof. Ghezzi
I files in C A cura del prof. Ghezzi 1 Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali 2 Files e S.O. I files
Introduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
Esercizio 1 (15 punti)
Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 16 giugno 2017 Il noto gioco MasterMind
Le funzioni, e le istruzioni di input/output
Linguaggio C Le funzioni, e le istruzioni di input/output 1 Funzioni! Sono sottoprogrammi per svolgere un particolare compito! Sequenze di istruzioni (raggruppate tramite le parentesi graffe) alle quali
Esercizio 1 (15 punti)
Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 30 giugno 2017 In un lontano paese da
Input/output in C e in C++
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni
Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132
Gestione dei files Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132 Struttura del disco fisso Un disco fisso è composto da una serie di piatti sovrapposti Ogni piatto è
Esercizio 1 File: ordinamento di un archivio di studenti (file binario)
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 9 Esercitazione: 19 gennaio 2005 Esercizi sui file e sulle liste. Scaletta Esercizio 1 File: ordinamento di un archivio
Esercizi. Filtraggio
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia Filtraggio L utente inserisce un array di numeri reali non negativi (un numero negativo indica la fine della fase di inserimento)
GESTIONE DEI FILE IN C
GESTIONE DEI FILE IN C Il concetto di file.. è una parte logicamente contigua del contenuto di un dispositivo! Deve essere capace di memorizzare grandi quantità di dati! I dati memorizzati devono sopravvivere
Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C
Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che
Esercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
IL PRIMO PROGRAMMA IN C
IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE
Esercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
Linguaggio C: i file
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica A - GES Prof. Plebani A.A. 2006/2007 Linguaggio C: i file La presente dispensa e da utilizzarsi ai soli fini didattici previa
