codice:
#include<stdio.h>
#include<string.h>
struct data_nascita{
int giorno;
char mese[10];
int anno;
};
struct indirizzo{
char via[300];
int numero;
int CAP;
char nazione[30];
char citta[30];
char provincia[2];
};
struct studenti{
char nome[20];
char cognome [20];
struct data_nascita d_t;
struct indirizzo ind;
int matricola;
};
struct insegnanti{
char nome[20];
char cognome [20];
struct data_nascita d_t;
struct indirizzo ind;
char materia[30];
};
struct libri{
char titolo[30];
char autore[30];
char editore[30];
char ISBN[30];
int anno_publicazione;
};
struct corso{
struct studenti std;
struct insegnanti ins;
struct libri lib;
};
int ins (int);
void vis (struct corso *);
void vis_cor(void);
struct corso b[10];
int ind =0;
main(){
printf("1. inserisci\n 2.visualizza\n ");
int scelta;
scanf("%d",&scelta);
switch (scelta){
case 1: ind = ins(ind);
break;
case 2: vis_cor();
break;
}
}
int ins(int a){
if(a>10){
printf("non ce piu spazio");
}
printf("inserisci gli studenti\n");
printf("nome\n");
gets((b[a].std).nome);
printf("cognome\n");
gets((b[a].std).cognome);
printf("data di nascita\n");
printf("giorno");
scanf("%d", &((b[a].std).d_t).giorno);
printf("\n mese");
scanf("%d", &((b[a].std).d_t).mese);
printf("\n anno");
scanf("%d", &((b[a].std).d_t).anno);
ptintf("\n indirizzo\n");
printf("via ");
gets(((b[a].std).ind).via);
printf("\n numero");
scanf("%d", &((b[a].std).ind).numero);
printf("\nCAP");
scanf("%d", &((b[a].std).ind).CAP);
printf("\nnazione");
gets(((b[a].std).ind).nazione);
printf("\ncittà");
gets(((b[a].std).ind).citta);
printf("\nprovincia");
gets(((b[a].std).ind).provincia);
printf("\n matricola\n");
scanf("%d", &(b[a].std).matricola);
printf("inserire gli insegnanti");
printf("nome\n");
gets((b[a].ins).nome);
printf("cognome\n");
gets((b[a].ins).cognome);
printf("data di nascita\n");
printf("giorno");
scanf("%d", &((b[a].ins).d_t).giorno);
printf("\n mese");
scanf("%d", &((b[a].ins).d_t).mese);
printf("\n anno");
scanf("%d", &((b[a].ins).d_t).anno);
ptintf("\n indirizzo\n");
printf("via ");
gets(((b[a].ins).ind).via);
printf("\n numero");
scanf("%d", &((b[a].ins).ind).numero);
printf("\nCAP");
scanf("%d", &((b[a].ins).ind).CAP);
printf("\nnazione");
gets(((b[a].ins).ind).nazione);
printf("\ncittà");
gets(((b[a].ins).ind).citta);
printf("\nprovincia");
gets(((b[a].ins).ind).provincia);
printf("materia insegnata");
gets((b[a].ins).materia);
printf("libri\n");
printf("titolo");
gets((b[a].lib).titolo);
printf("\n autore");
gets((b[a].lib).autore);
printf("\n editore");
gets((b[a].lib).editore);
printf("\n ISBN");
gets((b[a].lib).ISBN);
printf("\n anno di publicazione");
scanf("%d", &(b[a].lib).anno_publicazione);
a++;
return(a);
}
void vis(struct corso *p){
printf("studente %s", (p->std).nome);
printf("insegnante %s",(p->ins).nome) ;
printf("libro %s", (p->lib).titolo);
}
void vis_cor(void){
int i;
struct corso *ps = &b[0];
for(i=0; i<ind;i++){
vis(ps++);
}
}
ho fatto cosi pero ancora non lo compila.
mi dice [Linker error] undefined reference to `ptintf'
non so cosa significa.
io uso dev-c++ per compilare.