La presentazione ĆØ in caricamento. Aspetta per favore

La presentazione ĆØ in caricamento. Aspetta per favore

I DATI I PRINCIPALI TIPI DI DATO UTILIZZATI IN PROGRAMMAZIONE

Presentazioni simili


Presentazione sul tema: "I DATI I PRINCIPALI TIPI DI DATO UTILIZZATI IN PROGRAMMAZIONE"ā€” Transcript della presentazione:

1 I DATI I PRINCIPALI TIPI DI DATO UTILIZZATI IN PROGRAMMAZIONE
Con particolare riferimenti al linguaggio C++ FINE

2 Indice Cosa sono i dati Dati strutturati I tipi di dato Dati semplici
Interi Reali Caratteri Booleani Le stringhe Dati strutturati Array Matrice Record Tabella Soluzioni degli esercizi Dati principali

3 COSA SONO I DATI? PROGRAMMA = DATI + ISTRUZIONI
I dati sono gli oggetti su cui vengono eseguite le istruzioni. INPUT (dati) OUTPUT(dati) PROCESSO (istruzioni) Nel processo possono essere utilizzati altre variabili di lavoro come totalizzatori,contatori,... Tutti i linguaggi di programmazione prevedono un insieme di dati predefiniti che lā€™utente puĆ² utilizzare nella realizzazione dei propri programmi. Dati principali

4 Strutturati o composti Semplici o predefiniti
I TIPI DI DATO DATI Strutturati o composti Semplici o predefiniti Dati principali

5 short int int long float char bool
Dati semplici Numerici Alfanumerici intero reale carattere booleani In C++ short int int long float char bool Dati principali

6 ParticolaritĆ  degli interi
Gli interi in C++ si definiscono int il loro intervallo di definizione (ossia il valore minimo e il valore massimo che puĆ² assumere una variabile di tipo int) dipende dal numero di byte che occupano in memoria e questo dipende dal particolare linguaggio di programmazione Eā€™ possibile definire dati di tipo intero piĆ¹ grandi (long in C++) con ampiezza di 4 byte Sia ai dati int che ai long puĆ² essere applicato il modificatore unsigned che permette di definire valori solo positivi, raddoppiando lā€™ampiezza del dato. Dati principali

7 Riepilogo dei dati di tipo intero
Numero di byte Valore minimo Valore massimo short int 2 byte long int 4 byte int Coincide con short nella rappresentazione in 2 byte e con long in quella a 4 byte unsigned int unsigned long Dati principali

8 ParticolaritĆ  dei reali
I tipi decimali del C++ sono: float occupa 32 bits (4 byte) e rappresenta valori positivi e negativi con 7 cifre significative. double occupa 64 bits (8 byte) e rappresenta valori positivi e negativi con 15 cifre significative. Dati principali

9 Riepilogo dei dati di tipo reale
ESERCIZIO : LETTURA E SCRITTURA DI NUMERI Codifica un programma in cui definisci diversi tipi di variabili numeriche; acquisisci le variabili in input e le riscrivi in output soluzione Dati principali

10 ParticolaritĆ  dei caratteri
I dati definiti char possono contenere un solo carattere Un char occupa 1 byte. Una costante carattere va racchiusa tra apice singolo; es: char c; c=ā€˜Aā€™; // alla variabile c viene assegnata la lettera A. In C++ i dati di tipo carattere sono assimilati a interi (ne viene considerata la codifica interna in codice ASCII) Es: char c; c=ā€˜aā€™; // assegna alla variabile c il valore numerico c=ā€˜Aā€™; // assegna alla variabile c il valore numerico 65 Dati principali

11 ParticolaritĆ  dei booleani
I dati definiti bool possono assumere valore true (vero) oppure false (falso) Un bool occupa 1 byte. Esempio : bool piove; //definizione variabile booleana piove = true; //assegnazione valore VERO piove = false; //assegnazione valore FALSO Si osservi che il valore true corrisponde a 1 il valore false corrisponde a 0 Dati principali

12 ATTENZIONE Nel linguaggio C++ esistono altri tipi di dato predefiniti; in questi appunti sono stati presi in considerazione solo i dati piĆ¹ frequentemente usati nelle esercitazioni; il C++ consente al programmatore la definizione di tipi utente attraverso il comando typedef; le dimensioni dei dati possono differire a seconda del compilatore e dellā€™elaboratore utilizzato; Eā€™ possibile conoscere il numero di byte di memoria occupati da qualsiasi tipo di variabile mediante la funzione del linguaggio sizeof( ). Esempio: cout<<ā€œ\nDimensione di una variabile double ā€œ<<sizeof(double); ESERCIZIO : OCCUPAZIONE DI MEMORIA Codifica un programma in cui verifichi lā€™occupazione in byte dei diversi tipi di variabili utilizzando lā€™istruzione sizeof soluzione Dati principali

13 Un particolare tipo di dato: le stringhe
Una stringa ĆØ una sequenza finita di caratteri Esempio : il nome di una persona, il codice fiscale, la targa di unā€™automobile Es: char nome [11] ĆØ una stringa che consente di memorizzare parole formate al massimo da 10 caratteri (lā€™undicesimo carattere ĆØ riservato a ā€˜\0ā€™ inserito dal sistema come terminatore di stringa) IMPORTANTE : In C++ la stringa ĆØ chiusa da un carattere di controllo (ā€˜\0ā€™) che determina la fine della stringa. 1 2 3 4 5 6 7 8 9 10 Posizione ļƒ  A L D O \0 carattere ļƒ  Dati principali

14 Le stringhe definite con il tipo string
Potremmo utilizzare la typedef (per la definizione di un nuovo tipo di dato): typedef char stringa[11]; // nuovo tipo ļƒ vettore di caratteri chiamato stringa stringa nome; // variabile nome di tipo stringa Nelle versioni piĆ¹ recenti di C++ , includendo la libreria <string> si puĆ² definire una variabile di tipo string #include <string> ā€¦. string nome; cin>>nome //input di una stringa cout<<ā€œciao signor ā€œ<<nome<<endl; //output di una stringa .. ESERCIZIO : SALUTO Codifica un programma che mette a video un messaggio di saluto indirizzato ad una persona il cui nome ĆØ chiesto in input; il nome deve essere definito di tipo string soluzione Dati principali

15 Anomalie nellā€™input di stringhe
PerĆ² cā€™ĆØ da notare che lā€™input con le stringhe presenta due inconvenienti: non ĆØ possibile fare alcun controllo sulle dimensioni della stringa; se nella stringa ĆØ presente uno spazio lā€™acquisizione si interrompe. Esempio: char nome[11]; cin>>nome se lā€™utente digita ā€œmaria piaā€ il programma acquisisce solo ā€œmariaā€ lā€™utente puĆ² digitare ā€œmariangelamariaā€ (piĆ¹ di caratteri) e il programma li acquisisce cout<<ā€œ\nil nome ĆØ : ā€œ<<nome<<endl; Esempio: string cognome; cin>>cognome se lā€™utente digita ā€œde carolisā€ il programma acquisisce solo ā€œdeā€ cout<<ā€œ\nil cognome ĆØ : ā€œ<<cognome<<endl; PROVA A CODIFICARE QUESTI DUE ESEMPI PER VERFIFICARE TALI ANOMALIE Dati principali

16 Soluzione delle anomalie nellā€™input di stringhe
Adottando lā€™uso della libreria <string> e definendo una variabile di tipo string #include <string> .. string nome; getline(cin,nome,'\n'); si puĆ² utilizzare la seguente istruzione per lā€™input Questa istruzione consente di acquisire anche le stringhe che presentano spazi al loro interno ESERCIZIO : PROVA GETLINE Codifica un programma in cui definisci una stringa di tipo string , la acquisisci con getline e la mostri in output; nel test scrivi ā€œcarlo albertoā€ soluzione Dati principali

17 Altre anomalie nellā€™input di stringhe
Cā€™ĆØ da notare che quando si termina lā€™input e si preme il pulsante ā€œinvioā€, tale pulsante invia un carattere di terminazione dellā€™input che rimane in memoria e che potrebbe essere male interpretato nei casi in cui si debbano acquisire ulteriori caratteri int main( ) { string nome; int altezza; cout<<"\nindica l'altezza"<<endl; cin>>altezza; cout<<"\nl'altezza ĆØ -->"<<altezza<<endl; cout<<"\nindica un nome"<<endl; getline(cin,nome,'\n'); cout<<"\nil nome ĆØ -->"<<nome<<endl; system("PAUSE"); return EXIT_SUCCESS; } Se provi ad eseguire questo programma, cosa accade? Non ti ĆØ permesso digitare il nome!!! PERCHEā€™? Dati principali

18 Il buffer dellā€™input Si tratta di unā€™area di memoria RAM in cui vengono memorizzati i dati in input. Esempio: - da tastiera vengono digitati i seguenti caratteri : abcdefg - poi viene dato un ā€œinvioā€ , - il programma in esecuzione acquisisce la stringa , - mette il terminatore \0 e poi il carattere \n per la fine dellā€™input PerciĆ² nel buffer troviamo: a b c d e\ \n Alcune istruzione per lā€™input non ā€œpulisconoā€ il buffer, cioĆØ non eliminano il carattere ā€˜\nā€™, e lā€™istruzione cin ĆØ una di queste E allora come si deve fare se in un programma si devono acquisire numeri (utilizzando lā€™istruzione cin) e poi stringhe (utilizzando lā€™istruzione getline) senza incorrere in questi inconvenienti? Dati principali

19 Pulizia del buffer dellā€™input
Per eliminare ulteriori caratteri immessi si utilizza la funzione cin.ignore (1); che consente di eliminare un carattere in eccedenza int main( ) { string nome; int altezza; cout<<"\nindica l'altezza"<<endl; cin>>altezza; cin.ignore(1); cout<<"\nl'altezza ĆØ -->"<<altezza<<endl; cout<<"\nindica un nome"<<endl; getline(cin,nome,'\n'); cout<<"\nil nome ĆØ -->"<<nome<<endl; system("PAUSE"); return EXIT_SUCCESS; } Dati principali

20 Dati strutturati In molti problemi si ha la necessitĆ  di aggregare molti dati di tipo semplice (int, float, char, ecc.) perchĆ© sono logicamente correlati Esempio: il prezzo di 100 articoli di magazzino, I tempi di una classifica di una competizione Un elenco di persone Ma non ĆØ conveniente definire singolarmente ciascuna variabile, sia perchĆ© potrebbero essere in numero molto elevato, sia perchĆ© tutte le variabile fanno capo logicamente ad unā€™unica struttura Dati principali

21 bidimensionale (matrice) monodimensionale (vettore)
Struttura di dati Si parla di struttura di dati quando si raggruppano piĆ¹ oggetti dello stesso tipo o di tipo diverso , assegnando un nome unico alla struttura. Tipi di dati strutturati Array bidimensionale (matrice) Record monodimensionale (vettore) Dati principali

22 Esempio 1: il mese Si consideri una struttura composta da 12 elementi di tipo intero chiamata ā€œgiorniā€ nella quale vengono memorizzati il numero di giorni di cui ĆØ composto ciascun mese; ĆØ possibile conoscere i giorni di aprile facendo riferimento al 4Ā° elemento della struttura. giorni 1Ā° 2Ā° 3Ā° 4Ā° 5Ā° 6Ā° 7Ā° 8Ā° 9Ā° 10Ā° 11Ā° 12Ā° Dati principali

23 array monodimensionale - vettore
La struttura giorni ĆØ un array monodimensionale o vettore e in C++ viene definito: int giorni [12] ; Tipo base dimensione del vettore Nome del vettore valore di ciascuna componente indice di posizione i Dati principali

24 Caratteristiche di un vettore
int giorni[12]; lā€™elaborazione del vettore avviene elemento per elemento; lā€™individuazione del singolo elemento ĆØ possibile attraverso lā€™uso di una variabile intera denominataā€œindiceā€; la posizione occupata dal primo elemento in C++ ĆØ zero; lā€™indice i varia quindi da 0 a 11 (da zero ad ampiezza del vettore diminuita di uno). i Dati principali

25 Elaborazione di array monodimensionale
Lā€™acquisizione e la visualizzazione del vettore giorni prevede lā€™elaborazione di tutti i suoi elementi uno alla volta. Il ciclo for (iterazione enumerativa) ĆØ, in questi casi, la piĆ¹ adatta: int giorni[12]; // dichiarazione del vettore int i; // dichiarazione dellā€™indice for (i = 0; i<12; i++) // ciclo di acquisizione cin>>giorni[i]; for (i = 0; i<12; i++) // ciclo di visualizzazione cout<<giorni[i]; ESERCIZIO : ELEBORAZIONE VETTORE DI NUMERI Codifica un programma in cui definisci un vettore di 10 numeri , lo acquisisci e lo mostri in output, utilizzando un ciclo enumerativo soluzione Dati principali

26 Esempio 2 : temperature 12 11 13 16 15 10 14 18 17 20 temperature
Si memorizzano le temperature rilevate per una settimana, ad unā€™ora stabilita, in tre cittĆ  italiane (Milano, Roma, Palermo). Si ottiene una tabella formata da 3 righe (le cittĆ ) e 7 colonne (i giorni). A tale tabella si assegna il nome ā€œtemperatureā€ e per riferirsi alla temperatura rilevata a Roma di venerdƬ, bisognerĆ  considerare il valore contenuto nella 2a riga, 5a colonna. temperature giorni -> Ā° Ā° Ā° Ā° Ā° Ā° Ā° Milano 1Ā° Roma Ā° Palermo 3Ā° 12 11 13 16 15 10 14 18 17 20 Dati principali

27 Array bidimensionale - matrice
La tabella ā€œtemperatureā€ ĆØ un array bidimensionale o matrice e in C++ viene definito: int temperature[3][7]; // 3 righe 7 colonne lā€™elaborazione della matrice avviene elemento per elemento; lā€™individuazione del singolo elemento ĆØ possibile attraverso lā€™uso di due variabili indice (uno di riga e uno di colonna); la posizione occupata dal primo elemento in C++ ĆØ [0][0]; lā€™indice i (di riga) varia quindi da 0 a 2 , lā€™indice j (di colonna) varia da 0 a 6. Se il numero di righe ĆØ uguale al numero di colonne si ha una matrice quadrata. Dati principali

28 Le stringhe come vettori di caratteri
Una stringa cosƬ definita char nome [11] ĆØ un vettore di caratteri ma ricordiamo che consente di memorizzare parole formate al massimo da 10 caratteri (lā€™undicesimo carattere ĆØ riservato a ā€˜\0ā€™ inserito dal sistema come terminatore di stringa) 1 2 3 4 5 6 7 8 9 10 Posizione ļƒ  M A R I O L N \0 carattere ļƒ  Dati principali

29 Input e output di stringhe
Pur essendo vettori monodimensionali, lā€™input e lā€™output delle stringhe non ha bisogno di elaborare ogni singolo carattere output: cout<<nome; // visualizzazione di una stringa input: cin>> nome; // lettura di una stringa ? Comunque la stringa puĆ² essere trattata come vettore di caratteri nei casi in cui ĆØ necessario controllare il singolo carattere Esempio: indicare la lettera iniziale di un nome char nome[11]; ā€¦ā€¦ā€¦ā€¦ā€¦ cout<<"\ndigita un nome : "; cin>>nome; char iniziale=' ' ; cout<<"\nil nome inizia con la lettera --> "<<nome[0]<<endl; Risultato dellā€™esecuzione digita un nome: paola Il nome inizia con la lettera ļƒ  p Dati principali

30 I record Si definisce record quel dato che, pur rappresentando un unico oggetto di elaborazione, ĆØ formato da piĆ¹ elementi (campi) , anche di diverso tipo. Esempio: uno studente puĆ² essere caratterizzato dallā€™insieme dei dati: cognome, nome, classe, anno di nascita... Studente1ļƒ {Marcoldi, Antonio, 3A, 1995} Studente2ļƒ {Angelini, Paolo, 5A, 1993} Dati principali

31 Definizione dei record
Un record ĆØ costruito in base ad un tracciato record ben definito. Il tracciato record ĆØ lā€™elenco del campi che formano il record struct stud { string cognome; string nome; int annoNascita; }; definizone di un nuovo tipo di variabile record stud definizione dei campi del record presenza obbligatoria del ā€˜;ā€™ La definzione della struct definisce solo il tracciato record, ma non contiene dati. Occorre definire una variabile di tipo stud stud studente; definizione di una variabile del tipo record ā€œstudā€ Il programma elabora i singoli campi della variabile studente Dati principali

32 Trattamento dei campi di un record
Dato un record stud e una variabile studente di tipo stud Lā€™input e lā€™output dei record avviene un campo alla volta struct stud { string cognome; string nome; int annoNascita; }; stud studente; Esempio: cout<<ā€œ\ncognome = ā€œ<<studente.cognome; cout<<ā€œ\nnome = ā€œ<<studente.nome; cout<<ā€œ\nanno di nascita = ā€œ<<studente.annoNascita; La visualizzazione del record prevede lā€™output dei singoli campi ESERCIZIO:RECORD LIBRO Codifica un programma in cui definisci un tipo record con tracciato : titolo del libro, costo, numero di pagine; acquisisci poi due libri e comunica tutti i dati di quello che costa di piĆ¹ soluzione Dati principali

33 Tabelle - vettori di record
In particolare parliamo di vettori di record di solito detti tabella perchĆ© formati da tante colonne quanti sono i campi del record e da tante righe quanti sono gli elementi dellā€™array struct stud { string cognome; string nome; int annoNascita; }; stud classe [20]; Facendo sempre riferimento al record stud, vogliamo definire 20 studenti di una stessa classe. PerciĆ² scriveremo dimensione della tabella Tipo base Nome della tabella Dati principali

34 Esempio di una tabella Come nei vettori le righe sono individuate da un indice di posizione (che parte da 0) mentre ogni riga essendo un record, avrĆ  tutti i campi della struttura indice cognome nome annoNascita 1 2 3 4 5 6 7 8 9 6Ā° record Campo nome del 7Ā° record Dati principali

35 Elaborazione di una tabella
Nellā€™elaborazione di una tabella si usano le tecniche giĆ  viste per i vettori e per i record. In quanto vettore, lā€™elaborazione di ciascuna riga della tabella avviene una alla volta. PoichĆ© ogni riga ĆØ un record, ogni campo deve essere elaborato singolarmente Il ciclo for (iterazione enumerativa) ĆØ, in questi casi, il piĆ¹ adatto Dati principali

36 Elaborazione di una tabella
struct stud { string cognome; string nome; int annoNascita; }; stud classe [20]; Acquisizione e visualizzazione della tabella classe int i; // dichiarazione dellā€™indice for (i = 0; i<20; i++) // ciclo di acquisizione {getline(cin,classe[i].cognome,ā€™\nā€™); getline(cin,classe[i].nome,ā€™\nā€™); cin>>classe[i].annoNascita; cin.ignore(1); } for (i = 0; i<20; i++) // ciclo di visualizzazione {cout<<classe[i].cognome<<endl; cout<<classe[i].nome<<endl; cout<<classe[i]. annoNascita <<endl; ESERCIZIO: TABELLA BIBLIOTECA Definisci un tipo record con tracciato : titolo del libro, costo, numero di pagine; definisci poi una tabella di 10 libri; acquisisci i libri della tabella e comunica poi tutti i dati ; calcola il prezzo medio dei libri soluzione Dati principali

37 Soluzione esercizi Lettura e scrittura di numeri
Occupazione di memoria Saluto Prova Getline Elaborazione vettore di numeri Record libro Tabella biblioteca Dati principali

38 Esercizio : lettura e scrittura di numeri
#include <cstdlib> #include <iostream> using namespace std; int main() { int intero; long interoGrande; float decimale; double decimaleGrande; cout<<"\nindica un intero"<<endl; cin>>intero; cout<<"\nl'intero indicato vale : "<<intero<<endl; cout<<"\nindica un intero grande"<<endl; cin>>interoGrande; cout<<"\nl'intero grande indicato vale : "<<interoGrande<<endl; cout<<"\nindica un decimale"<<endl; cin>>decimale; cout<<"\nil decimale indicato vale : "<<decimale<<endl; cout<<"\nindica un decimale grande"<<endl; cin>>decimaleGrande; cout<<"\nil decimale grande indicato vale : "<<decimaleGrande<<endl; system("PAUSE"); return EXIT_SUCCESS; } Codifica un programma in cui definisci diversi tipi di variabili numeriche; acquisisci le variabili in input e le riscrivi in output Teoria Elenco esercizi Dati principali

39 Esercizio : occupazione di memoria
Codifica un programma in cui verifichi lā€™occupazione in byte dei diversi tipi di variabili utilizzando lā€™istruzione sizeof #include <cstdlib> #include <iostream> #include <string> using namespace std; int main() { cout<<"\nDimensione di una variabile int :"<<sizeof(int)<<endl; cout<<"\nDimensione di una variabile short int :"<<sizeof(short int)<<endl; cout<<"\nDimensione di una variabile long int :"<<sizeof(long int)<<endl; cout<<"\nDimensione di una variabile float :"<<sizeof(float)<<endl; cout<<"\nDimensione di una variabile double :"<<sizeof(double)<<endl; cout<<"\nDimensione di una variabile char :"<<sizeof(char)<<endl; cout<<"\nDimensione di una variabile bool :"<<sizeof(bool)<<endl; system("PAUSE"); return EXIT_SUCCESS; } Teoria Elenco esercizi Dati principali

40 Esercizio : saluto Codifica un programma che mette a video un messaggio di saluto indirizzato ad una persona il cui nome ĆØ chiesto in input; il nome deve essere definito di tipo string #include <cstdlib> #include <iostream> #include <string> using namespace std; int main() { string nome; cout<<"\ncome ti chiami?"<<endl; cin>>nome; cout<<"\nCaio "<<nome<<", io sono il computer !"<<endl; system("PAUSE"); return EXIT_SUCCESS; } Teoria Elenco esercizi Dati principali

41 Esercizio : prova getline
#include <cstdlib> #include <iostream> #include <string> using namespace std; int main() { string nome; cout<<"\nindica un nome"<<endl; getline(cin,nome,'\n'); cout<<"\nil nome ĆØ -->"<<nome<<endl; system("PAUSE"); return EXIT_SUCCESS; } Codifica un programma in cui definisci una stringa di tipo string , la acquisisci con getline e la mostri in output; nel test scrivi ā€œcarlo albertoā€ Teoria Elenco esercizi Dati principali

42 Esercizio : elaborazione vettore di numeri
#include <cstdlib> #include <iostream> #include <string> using namespace std; int main() { int v[10]; int i=0; cout<<"\nACQUISIZIONE DI DATI DEL VETTORE "<<endl; for(i=0;i<10;i++) {cout<<"\nindica il numero in posizione "<<i+1<<" : "; cin>>v[i]; } cout<<"\nVISUALIZZAZIONE DEI DATI DEL VETTORE "<<endl; {cout<<"\nil numero in posizione "<<i+1<<" e' "<<v[i]<<endl; system("PAUSE"); return EXIT_SUCCESS; Codifica un programma in cui definisci un vettore di 10 numeri , lo acquisisci e lo mostri in output, utilizzando un ciclo enumerativo Teoria Elenco esercizi Dati principali

43 Esercizio : record libro
#include <cstdlib> #include <iostream> #include <string> using namespace std; struct libro { string titolo; float prezzo; int numeroPagine; }; int main() { libro L1, L2; cout<<"\nindica i dati del primo libro:"<<endl; cout<<"\ntitolo : "; cin>>L1.titolo; cout<<"\nprezzo : "; cin>>L1.prezzo; cout<<"\npagine : "; cin>>L1.numeroPagine; cout<<"\nindica i dati del secondo libro:"<<endl; cout<<"\ntitolo : "; cin>>L2.titolo; cout<<"\nprezzo : "; cin>>L2.prezzo; cout<<"\npagine : "; cin>>L2.numeroPagine; Codifica un programma in cui definisci un tipo record con tracciato : titolo del libro, costo, numero di pagine; acquisisci poi due libri e comunica tutti i dati di quello che costa di piĆ¹ if(L1.prezzo>L2.prezzo) { cout<<"\nIl libro piu' costo e' "<<L1.titolo; cout<<" con prezzo "<<L1.prezzo; cout<<" e pagine "<<L1.numeroPagine<<endl; } else { cout<<"\nIl libro piu' costo e' "<<L2.titolo; cout<<" con prezzo "<<L2.prezzo; cout<<" e pagine "<<L2.numeroPagine<<endl; system("PAUSE"); return EXIT_SUCCESS; Teoria Elenco esercizi Dati principali

44 Esercizio : tabella biblioteca
#include <cstdlib> #include <iostream> #include <string> #define dim 10 using namespace std; struct libro { string titolo; float prezzo; int numeroPagine; }; int main() { libro biblioteca[dim]; int i=0; float s=0, m=0; system("cls"); cout<<"\nACQUISIZIONE DEI LIBRI"; for(i=0;i<dim;i++) { cout<<"\ntitolo : "; cin>>biblioteca[i].titolo; cout<<"\nprezzo : "; cin>>biblioteca[i].prezzo; cout<<"\npagine : "; cin>>biblioteca[i].numeroPagine; } Esercizio : tabella biblioteca Definisci un tipo record con tracciato : titolo del libro, costo, numero di pagine; definisci poi una tabella di 10 libri; acquisisci i libri della tabella e comunica poi tutti i dati ; calcola il prezzo medio dei libri cout<<"\nVISUALIZZAZIONE DEI LIBRI"; for(i=0;i<dim;i++) { cout<<"\ntitolo : "<<biblioteca[i].titolo; cout<<" prezzo : "<<biblioteca[i].prezzo; cout<<" pagine : "<<biblioteca[i].numeroPagine<<endl; } for(i=0;i<dim;i++) { s=s+biblioteca[i].prezzo; } m=s/dim; cout<<"\nla media dei prezzi e' : "<<m<<endl; system("PAUSE"); return EXIT_SUCCESS; }//fine Teoria Elenco esercizi Dati principali

45 FINE Dati principali FINE


Scaricare ppt "I DATI I PRINCIPALI TIPI DI DATO UTILIZZATI IN PROGRAMMAZIONE"

Presentazioni simili


Annunci Google