User Tools

Site Tools


it:informatica:linguaggio_c:struct-typedef_1
Return to Home page

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

it:informatica:linguaggio_c:struct-typedef_1 [2019/02/26 14:35] (current)
Line 1: Line 1:
 +====== Struct e Typedef (Esempio 1) ======
 +**Concetti:​**\\
 +Costrutti ''​struct''​ e ''​typedef''​ (esempio illustrativo di utilizzo)
  
 +**Testo:​**\\
 +Realizzare un programma che:
 +  * Definisca un nuovo tipo ''​stud_t''​ basato su una struttura per la memorizzazione dei dati relativi ad uno studente.
 +  * La struttura dovrà contenere:
 +    * Un campo ''​matricola''​ per memorizzare la matricola dello studente
 +    * Un campo ''​nome''​ per la memorizzazione del nome dello studente (lungo al massimo 20 caratteri)
 +    * Un campo ''​media''​ per la memorizzazione della media dei voti dello studente
 +    * Un vettore di ''​voti''​ per la memorizzazione dei voti relativi agli esami sostenuti dallo studente
 +  * Il programma, dopo aver dichiarato un vettore di tipo ''​stud_t''​ finalizzato a memorizzare i dati relativi a ''​N_STUD''​ studenti
 +  * Dovrà popolare tutti i campi relativi allo studente con indice ''​0''​ nel vettore di tipo ''​stud_t''​
 +  * Dovrà infine stampare tutti i campi relativi a tale studente
 +
 +**Soluzione:​**\\
 +<file C struct_typedef_1.c>​
 +/*
 +  Esempio illustrativo del costrutti struct e typedef. ​
 +  ​
 +  Il programma dovra':​
 +   - Definire un nuovo tipo stud_t basato su una struttura per la memorizzazione dei dati relativi ad uno studente.
 +   - La struttura dovra' contenere:
 +     - Un campo matricola per memorizzare la matricola dello studente
 +     - Un campo nome per la memorizzazione del nome dello studente (lungo al massimo 20 caratteri)
 +     - Un campo media per la memorizzazione della media dei voti dello studente
 +     - Un vettore di voti per la memorizzazione dei voti relativi agli esami sostenuti dallo studente
 +   - Il programma, dopo aver dichiarato un vettore di stud_t atto a memorizzare i dati di N_STUD studenti
 +   - Dovra' popolare tutti i campi relativi allo studente con indice 0 del vettore di tipo stud_t
 +   - Dovra' infine stampare tutti i campi relativi a tale studente
 +*/
 +
 +#include <​stdio.h>​
 +#include <​string.h>​
 +
 +#define DIM_NOME 20
 +#define N_VOTI 3
 +#define N_STUD 10
 +
 +/* Definizione del nuovo tipo stud_t */
 +typedef struct {
 +  int matricola;
 +  char nome[DIM_NOME+1];​
 +  float media;
 +  int voti[N_VOTI];​
 +} stud_t;
 +
 +
 +int main(){
 +  /* Dichiarazione del vettore di stud_t */
 +  stud_t studente[N_STUD];​
 +  int i;
 +  ​
 +  /* Riempimento dei campi della struttura riferiti allo studente con indice 0 */
 +  strcpy(studente[0].nome,​ "​stefano"​);​
 +  studente[0].matricola = 13123;
 +  studente[0].media = 23.0;
 +
 +  studente[0].voti[0] = 18;
 +  studente[0].voti[1] = 27;
 +  studente[0].voti[2] = 24;
 +
 +  /* Stampa dei valori precedentemente inseriti */
 +  printf("​%d %s %f\n", studente[0].matricola,​ studente[0].nome,​ studente[0].media);​
 +  for(i=0; i<​N_VOTI-1;​ i++)
 +    printf("​%d ", studente[0].voti[i]);​
 +  printf("​%d\n",​ studente[0].voti[N_VOTI-1]);​
 +
 +  return 0;
 +}
 +</​file>​

If you found any error, or if you want to partecipate to the editing of this wiki, please contact: admin [at] skenz.it

You can reuse, distribute or modify the content of this page, but you must cite in any document (or webpage) this url: https://www.skenz.it/it/informatica/linguaggio_c/struct-typedef_1?rev=1551188125&do=diff
/web/htdocs/www.skenz.it/home/data/pages/it/informatica/linguaggio_c/struct-typedef_1.txt · Last modified: 2019/02/26 14:35 (external edit)

Privacy Policy