Esempio: Array di struct



Documenti analoghi
RICERCA DI UN ELEMENTO

Gestione delle stringhe in C

Esercizio 1. Esercizi 5. Esercizio 3. Esercizio 2 CICLI

Quotazione compareto( ) Quotazione piurecente( ) Quotazione Quotazione Quotazione non trovato count( )

Le stringhe. Le stringhe

Laboratorio di Fondamenti di Informatica anno accademico Esercizi proposti il

Esercizio 1. Esercizio 1

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Fondamenti di Informatica 2

Record in C: il costruttore struct.

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Funzioni in C. Violetta Lonati

File di testo e file binari Directory

Algoritmi di Ricerca. Esempi di programmi Java

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

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

Lab 11 Gestione file di testo"

Esame del 3 febbraio 2010

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 13 File Binari

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2011

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

Esercizio 1. Esercizio 2

TOP DOWN. Compiti in classe proposti Modulo 1 JUVENILIA SCUOLA. Iacobelli Ajme Marrone

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Appello di Informatica B

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura

Programmazione I / Informatica generale Prova scritta 11 Giugno 2008

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO V Indice

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 21 Dicembre 2006

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Breve riepilogo della puntata precedente:

Corso di Fondamenti di Informatica

Corso di Informatica Medica Esercitazione 1I ! Alessandro A. Nacci - alessandronacci.com

LAVORO ESTIVO DI INFORMATICA CLASSE 2O

Problem solving elementare su dati vettoriali

10 - Programmare con gli Array

Gestione dei File in C

Basi di dati 9 febbraio 2010 Compito A

Caratteri e stringhe Esercizi risolti

SOLUZIONE ESERCIZIO 1

Algoritmi di ordinamento

Concetti chiave. Struct. Variabili strutturate: il tipo struct Elementi di una struttura typedef e struct Array di strutture

Compito di Fondamenti di Informatica

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

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Primo scritto 11 Gennaio 2008

Informatica B

Prova Finale di Livello Base Compito n.21

Liberare la memoria allocata dinamicamente.

Fondamenti di Informatica T-1, 2010/2011 Modulo 2. Prova d Esame 4A di Martedì 21 Giugno 2011 tempo a disposizione 2h

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it

La struttura dati ad albero binario

Linguaggio C - Stringhe

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a luglio 2013

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Gestione dei File. dischi nastri cd

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Prova Scritta del 19/07/10

puntatori Lab. Calc. AA 2007/08 1

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a giugno 2013

esercizi Esercizi / problemi

Prova di recupero di Informatica B Corsi di Laurea in Ingegneria Meccanica prof. Francesco Amigoni 20 febbraio 2004

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore.

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.

SCUOLANET UTENTE FAMIGLIA

Introduzione alla programmazione in C

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 9 Settembre 2015

Politecnico di Torino

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Introduzione al Linguaggio C

FORMULE: Operatori matematici

Alcune regole di base per scrivere un programma in linguaggio C

Esempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante

Fondamenti di Informatica (CdL in Ing. Industriale F-O) Prova al calcolatore del 014/06/ A.A. 2012/2013 Prof. Giuseppe Ascia

Laboratorio di programmazione

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza

Inizializzazione, Assegnamento e Distruzione di Classi

Ricerche, ordinamenti e fusioni. 5.1 Introduzione. 5.2 Ricerca completa

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

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

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

LABORATORIO DI PROGRAMMAZIONE EDIZIONE 1, TURNO B

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

MANUALE EDICOLA 04.05

INFORMATICA - I puntatori Roberta Gerboni

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp KP Cap. 6 pp

Matlab: Strutture di Controllo. Informatica B

EXCEL FUNZIONI PRINCIPALI

GAS FLUORURATI, OBBLIGO DI DICHIARAZIONE ENTRO IL 31 MAGGIO

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

Express Import system

GUIDA BREVE PER STUDENTI

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Fondamenti di Informatica 1 - Compito A

Transcript:

Esempio: Array di struct Scrivere un programma C che definisca la struttura esame, composta dal nome dell esame (stringa) e dal voto (intero). Si leggano poi da terminale n esami, con n definito dall utente (max 30), e si inseriscano in un array. L utente inserisca poi il nome di un esame da cercare e si stampi il relativo voto, se l'esame è presente. Suggerimento 1: Non usate spazi nel nome dell esame (nella lettura di una stringa, gli spazi sono considerati separatori). Suggerimento 2: Utilizzare la funzione strcmp contenuta nella libreria string.h per confrontare due stringhe.

Array di struct Prima soluzione (1/3) Ver. 1: Gli esami vengono letti da tastiera uno a uno. #include <stdio.h> #include <string.h> #define NMAX 30 typedef struct char nome[20]; int voto; esame; main() esame esamimarco[nmax]; char cerca[20]; int n, i, pos, trovato; printf("inserisci il numero di esami:"); scanf("%d", &n); Continua...

Array di struct Prima soluzione (2/3) //inserimento dati for (i=0; i<n; i++) printf("\ninserisci il nome dell'esame:"); scanf("%s", esamimarco[i].nome); Nella lettura di stringhe non si usa & printf("inserisci il voto:"); scanf("%d", &esamimarco[i].voto); Voto non è una stringa, quindi si usa & printf("\ninserisci il nome dell'esame da cercare: "); scanf("%s", cerca); //cerca è una stringa! pos=0; //inizializzo contatore trovato=0; Continua...

//ricerca while(pos <n &&!trovato) if(strcmp(esamimarco[pos].nome, cerca)==0) trovato=1; Array di struct Prima soluzione (3/3) else pos++; strcmp(string1,string2) restituisce 0 se le due stringhe sono uguali if (!trovato) printf("\nesame non trovato.\n"); else printf("\ntrovato in posizione %d.\n%s\t%d\n", pos+1, esamimarco[pos].nome, esamimarco[pos].voto);

Array di struct Seconda soluzione (1/2) Ver. 2: L'array di esami è inizializzato durante la definizione. #include <stdio.h> #include <string.h> #define NMAX 30 typedef struct char nome[20]; int voto; esame; main() esame esamimarco[nmax] = "analisi", 18, "geometria",28, "informatica",30, "fisica",26 char cerca[20]; int i, pos,trovato; Continua...

Array di struct Seconda soluzione (2/2) printf("\ninserisci il nome dell'esame da cercare: "); scanf("%s", cerca); pos=0; //inizializzo contatore trovato=0; //ricerca while(pos<4 &&!trovato) if(strcmp(esamimarco[pos].nome,cerca)==0) trovato=1; else pos++; if (!trovato) printf("\nesame non trovato.\n"); else printf("\ntrovato in posizione %d.\n%s\t%d\n", pos+1, esamimarco[pos].nome, esamimarco[pos].voto);

ESERCIZI PROPOSTI Esercizio 1 - Stringhe Scrivere un programma C che legga da tastiera una stringa e la memorizzi in un'altra stringa, ma invertita. Ad esempio, se si legge ciao, bisogna creare e stampare la stringa oaic. Suggerimento 1: può essere utile usare la funzione strlen(string) definita nella libreria string.h che restituisce la lunghezza di una stringa. Suggerimento 2: Non dimenticare di inserire il terminatore nella stringa creata.

ESERCIZI PROPOSTI Esercizio 2 Struct Scrivere un programma C che definisca la struttura persona composta da nome, cognome, indirizzo, provincia e data di nascita. Si richiedano tutti i dati e si stampino a video. Suggerimento: definire apposite strutture anche per l'indirizzo e la data di nascita.

ESERCIZI PROPOSTI Esercizio 3 - Array di struct Si realizzi un programma C che definisca una struttura che permetta di contenere i dati relativi ad alcuni corsi. In particolare, per ogni corso vengono forniti: denominazione del corso: una stringa di 20 caratteri che riporta il nome del corso; cognome del docente: una stringa di 15 caratteri che rappresenta il cognome del docente del corso; iscritti: un intero che indica il numero di studenti che frequentano il corso. Il programma deve stampare la denominazione del corso e il cognome del docente relativi a tutti i corsi che hanno il numero di iscritti maggiore o uguale alla media aritmetica degli iscritti (calcolata su tutti i corsi).

Inizializzazione dell'array di strutture da usare nel programma dell'esercizio 3 (fare copia e incolla). "analisi1", "foschi", 78, "geometria", "mazzanti", 90, "informatica", "gavanelli", 85, "fisica1", "frontera", 75, "fisica2", "zavattini", 67, "inglese", "rossi", 45, "analisi2", "paoli", 61

ESERCIZI PROPOSTI Esercizio 4 - Array di struct Si scriva un programma C che definisca una struttura che permetta di contenere una serie di dati (struct squadra) del tipo: nome squadra (stringa di lunghezza 20) ; codice squadra (intero); goal fatti (intero) ; goal subiti (intero). Li si memorizzi in un vettore di strutture "squadre"; Stampi a terminale tutti i nomi e codici delle squadre che hanno fatto un numero di goal maggiore del numero dei goal subiti. Letto a terminale un codice di una squadra stampi a video il nome della squadra, i goal fatti e i goal subiti.

Inizializzazione dell'array di strutture da usare nel programma dell'esercizio 4 (fare copia e incolla). "juventus", 1, 10, 12, "milan", 8, 7, 6, "inter", 10, 13, 11, "palermo", 2, 9, 10, "lazio", 5, 8, 4, "udinese", 14, 5, 7

ESERCIZI PROPOSTI Esercizio 5 Array di struct Scrivere un programma C che crei una rubrica telefonica, usando una struct persona (nome, cognome, numero di telefono, e-mail). Il programma chiede il nome da cercare e stampa a video la scheda corrispondente.

Inizializzazione dell'array di strutture da usare nel programma dell'esercizio 5 (fare copia e incolla). "maria","rossi","047541219","m.rossi@yahoo.it", "luca","verdi","057580913","lucav@gmail.com", "andrea","pari","087122907","aapp@libero.it", "lucia","ponti","044109885","lucyp@msn.it", "roberto","conti","099424566","rob_conti@unife.it"

ESERCIZI PROPOSTI Esercizio 6 Array di Struct (Tratto dal compito del 20 dicembre 2006) Un negozio di alimentari ha un archivio in cui vengono memorizzati i prodotti presenti in magazzino. Per ogni prodotto in magazzino, si dispone dei seguenti dati: la descrizione (stringa di al massimo 20 caratteri, incluso il terminatore); la quantità disponibile in magazzino (int); l'anno di scadenza (int). Il programma deve memorizzare in un altro array di strutture tutti i prodotti che sono da cancellare dall'archivio perché scaduti (in cui l'anno di scadenza è prima del 2010).

Inizializzazione dell'array di strutture da usare nel programma dell'esercizio 6 (fare copia e incolla). "pere",150,2006, "arance",210, 2010, "tonno",48, 2007, "melanzane",85, 2009, "olio",60,2015, "aceto",49,2012, "pomodoro",61,2005, "pasta",75, 2011

ESERCIZI PROPOSTI Esercizio 7 Array di Struct (Tratto dal compito del 1 dicembre 2008 E) In un concorso, i partecipanti sono sottoposti a 10 prove. I risultati del concorso sono memorizzati in un array di strutture, che contiene, per ogni concorrente, i seguenti dati: nome: stringa contenente al massimo 20 caratteri, compreso il terminatore; punteggi: una sequenza di 10 interi. Si scriva un programma che stampi, per ciascuna prova, chi è il vincitore e con quale punteggio. Ad esempio: Rossi 1 3 4... Bianchi 2 1 5... Verdi 4 2 6... Il programma dovrà visualizzare: Verdi 4 Rossi 3 Verdi 6

Inizializzazione dell'array di strutture da usare nel programma dell'esercizio 7 (fare copia e incolla). "Rossi", 4,6,1,2,0,4,0,1,2,2, "Bianchi", 12,0,9,4,5,2,1,1,0,5, "Verdi", 2,3,7,9,10,4,5,9,7,2, "Astolfi", 0,2,6,1,8,5,9,10,7,8, "Lorenzi", 6,9,7,1,0,0,4,5,2,1, "Franchi", 1,10,11,19,4,7,2,0,2,7

ESERCIZI PROPOSTI Esercizio 8 Array di Struct (Tratto dal compito del 15 luglio 2008) Un ambulatorio dentistico utilizza un array di strutture per memorizzare tutte le prenotazioni effettuate per il mese di Luglio. Le prenotazioni hanno la seguente struttura: cognome: stringa di 20 caratteri, compreso il terminatore; data: intero da 1 a 30. Si scriva un programma che stampi quali giorni sono liberi.

Inizializzazione dell'array di strutture da usare nel programma dell'esercizio 8 (fare copia e incolla). "Astolfi", 27, "Bianchi", 3, "Carli", 15, "Conti", 26, "Diaz", 2, "Ferro", 22, "Finotti", 21, "Marangoni", 13, "Montale", 18, "Nardo", 1, "Natale", 30, "Papi", 28, "Pasquali", 4, "Ranieri", 10, "Salvi", 20, "Tommasi", 7, "Verdi", 25, "Zanetti", 17, "Zucchi", 14

ESERCIZI PROPOSTI Esercizio 9 Array di Struct (Tratto dal compito del 29 novembre 2006 A) Un array di strutture contiene l'andamento delle quotazioni di alcune azioni in borsa nell'ultima settimana. La struttura è definita in questo modo: nome: stringa al massimo di 20 caratteri, senza spazi; valori: una sequenza di 7 float (uno per ogni giorno della settimana). Il programma deve visualizzare sullo schermo quante azioni hanno avuto un calo superiore al 10% in una sola giornata. Ad esempio: KettImport 100 98 97 96 110 109 105 ACME 100 95 100 88 81 105 107 Il programma dovrà fornire come risultato 1, in quanto la ACME ha avuto un calo superiore al 10% fra il terzo e il quarto giorno.

Inizializzazione dell'array di strutture da usare nel programma dell'esercizio 9 (fare copia e incolla). "KettImport",90,93,99,95,102,93,101, "ACME", 100,95,100,88,60,105,107, "Grassi", 99,92,97,91,102,98,103, "ASDF", 94,103,96,100,90,80,99, "Lanzi", 102,93,102,92,101,94,100