Rappresentare tramite una o più strutture i dati anagrafici/lavorativi dei docenti di una scuola
Si sviluppino poi delle funzioni per eseguire le seguenti operazioni:
1.
Lettura dei dati anagrafici di un docente (Cognome, Nome, Data di Nascita, Indirizzo (Cap, Comune,
Provincia, Regione, Via, Numero Civico, Matricola, Data_Assunzione, Materialnsegnata, Classe
(Classe, Sezione, AnnoScolastico)) - Per semplicità si suppone che un docente insegni una sola
materia ed in una sola classe
2.
3.
Stampa dei dati anagrafici di un docente
Stampa completa di ogni docente (Anagrafica+ Materia+Classe)
Si crei poi una scuola come array dinamico/statico di un certo numero N di docenti. Il numero di docenti
viene richiesto in input all'operatore
Si sviluppino poi delle funzioni per eseguire le seguenti operazioni:
1.
Lettura dei dati relativi alle anagrafiche dei docenti del reparto
2.
Lettura dei dati completi di un docente (Anagrafica, Classe, Materia)
3.
Stampa dei dati dei docenti della scuola
4.
Ricerca di un docente presente nella scuola tramite la sua matricola
5.
Stampare i dati completi del docente ricercato in base alla matricola, se presente
\#include<stdio.h>
struct anagrafica
{
char cognome [15];
char nome[15];
char data[11];
} anagrafica;
struct indirizzo
{
char cap[5];
char comune[15];
char provincia[15];
char regione[15];
char via[20];
char num_civ[4];
char matricola[10];
char data_ass[11];
char materia[15];
} indirizzo;
struct classe
{
char classe[2];
char sezione[10];
char anno_scolastico[9];
} classe;
struct docente
{
struct anagrafica anag;
struct indirizzo ind;
struct classe cla;
} docente;
struct anagrafica leggi_anagrafica (void)
{
struct anagrafica A;
printf("inserisci cognome");
scanf("%s",&A.cognome);
printf("inserisci nome");
scanf("%s",&A.nome);
printf("inserisci data");
scanf("%s",&A.data);
return A};
struct indirizzo leggi_indirizzo (void)
{
struct indirizzo B;
printf("inserisci cap");
scanf("%s",&B.cap);
printf("inserisci comune");
scanf("%s",&B.comune);
printf("inserisci provincia");
scanf("%s",&B.provincia);
printf("inserisci regione");
scanf("%s",&B.regione);
printf("inserisci via");
scanf("%s",&B.via);
printf("inserisci num_civ");
scanf("%s",&B.num_civ);
printf("inserisci matricola");
scanf("%s",&B.matricola);
printf("inserisci data_ass");
scanf("%s",&B.data_ass);
printf("inserisci materia");
scanf("%s",&B.materia);
return B};
struct classe leggi_classe (void)
{
struct classe C;
printf("inserisci classe");
scanf("%s",&C.classe);
printf("inserisci sezione");
scanf("%s",&C.sezione);
printf("inserisci anno_scolastico");
scanf("%s",&C.anno_scolastico);
return C};
struct docente leggi_docente (void)
{
strduct docente doc;
doc.anag=leggi_anagrafica;
doc.ind=leggi_indirizzo;
doc.cla=leggi_classe;
return doc};
void stampa_anagrafica (struct anagrafica A)
{
printf("cognome= %s",&A.cognome);
printf("nome= %s",&A.nome);
printf("data= %s",&A.data);
};
void stampa_indirizzo (struct indirizzo B)
{
printf("cap= %s",&B.cap);
printf("comune= %s",&B.comune);
printf("provincia= %s",&B.provincia);
printf("regione= %s",&B.regione);
printf("via= %s",&B.via);
printf("numero civico= %s",&B.num_civ);
printf("matricola= %s",&B.matricola);
printf("data assunsione= %s",&B.data_ass);
printf("materia= %s",&A.materia);
};
void stampa_classe (struct classe C)
{
printf("classe= %s",&C.classe);
printf("sezione= %s",&C.sezione);
printf("anno scolastico= %s",&C.anno_scolastico);
};
void docente ricerca_matricola (struct indirizzo B)
{
int i=0,trovato=0,;
char matricola_cerco[n];
printf("inserisci matricola da ricercare");
scanf("%s”,matricola_cerco);
do
{
if (matricola == matricola_cerco)
{
trovato = 1;
}
else
{
i++;
}
} while (trovato == 0 && i < n);
if (trovato)
{
printf("la matricola cercata corrisponde alla persona n'%d",i);
}
};
FINO AD ORA HO SCRITTO QUESTO MA DICONO CHE NON VA BENE, un aiuto?! grazie<3