User Tools

Site Tools


Action disabled: source
it:informatica:linguaggio_c:struct-typedef_1
Return to Home page

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:

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;
}

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?do=edit
/web/htdocs/www.skenz.it/home/data/pages/it/informatica/linguaggio_c/struct-typedef_1.txt · Last modified: 2024/04/08 22:35 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki
Privacy Policy