Ragazzi nessuno di voi mi saprebbe dire come faccio a salvare una struttura in un file?
Questo è il mio programma:
Ringrazio chi mi volesse aiutare..ciao scusate il disturbo (ps: ho l'esame mercoledi :P)
#include <stdio.h>
#include <stdlib.h>
#define MAX 60
/*CREAZIONE DI UNA STRUTTURA */
typedef struct {
char nome[20];
char cognome[20];
int laboratorio;
int scritto;
int orale;
int media;
} studente_t;
/*DICHIARAZIONE FUNZIONI*/
studente_t inserisci_dettagli(void);
void stampa_dettagli(studente_t stud);
int
main()
{
/*DICHIARAZIONE VARIABILI*/
studente_t studente[MAX];
int n,i;
printf ("inserire il numero degli studenti (MASSIMO 60) --->");
scanf ("%d",&n);
for (i=0;i<n;i++)
{
printf ("\n\n Inserisci i dati del %d studente ",i+1);
studente[i]=inserisci_dettagli(); /*CHIAMATA FUNZIONE*/
};
for (i=0;i<n;i++)
{
printf("\n\n I voti del %d studente sono", i+1);
stampa_dettagli (studente[i]); /*CHIAMATA FUNZIONE*/
};
system ("pause");
return(0);
}
/*FUNZIONE*/
studente_t inserisci_dettagli()
{
studente_t stud;
printf("\n\n COGNOME ----->");
scanf("%s",stud.cognome);
printf("\n\n NOME ----->");
scanf("%s",stud.nome);
printf("\n\n VOTO DELLA PROVA DI LABORATORIO ----->");
scanf("%d",&stud.laboratorio);
printf("\n\n VOTO DELLA PROVA SCRITTA ----->");
scanf("%d",&stud.scritto);
printf("\n\n VOTO DELLA PROVA ORALE ----->");
scanf("%d",&stud.orale);
stud.media=(stud.laboratorio+stud.orale+stud.scrit to)/3;
return(stud);
}
/*FUNZIONE*/
void stampa_dettagli (studente_t stud)
{
printf("\n\n COGNOME ----> %s", stud.cognome);
printf("\n\n NOME ----> %s", stud.nome);
printf("\n\n PROVA DI LABORATORIO ----> %d", stud.laboratorio);
printf("\n\n PROVA SCRITTA ----> %d", stud.scritto);
printf("\n\n PROVA ORALE ----> %d", stud.orale);
printf("\n\n VOTO FINALE ----> %d\n", stud.media);
}
Grazie#include <stdio.h>
#include <stdlib.h>
#define MAX 60
/*CREAZIONE DI UNA STRUTTURA */
typedef struct {
char nome[20];
char cognome[20];
int laboratorio;
int scritto;
int orale;
int media;
} studente_t;
/*DICHIARAZIONE FUNZIONI*/
studente_t inserisci_dettagli(void);
void stampa_dettagli(studente_t stud);
int
main()
{
/*DICHIARAZIONE VARIABILI*/
studente_t studente[MAX];
int n,i;
printf ("inserire il numero degli studenti (MASSIMO 60) --->");
scanf ("%d",&n);
for (i=0;i<n;i++)
{
printf ("\n\n Inserisci i dati del %d studente ",i+1);
studente[i]=inserisci_dettagli(); /*CHIAMATA FUNZIONE*/
};
for (i=0;i<n;i++)
{
printf("\n\n I voti del %d studente sono", i+1);
stampa_dettagli (studente[i]); /*CHIAMATA FUNZIONE*/
};
system ("pause");
return(0);
}
/*FUNZIONE*/
studente_t inserisci_dettagli()
{
studente_t stud;
printf("\n\n COGNOME ----->");
scanf("%s",stud.cognome);
printf("\n\n NOME ----->");
scanf("%s",stud.nome);
printf("\n\n VOTO DELLA PROVA DI LABORATORIO ----->");
scanf("%d",&stud.laboratorio);
printf("\n\n VOTO DELLA PROVA SCRITTA ----->");
scanf("%d",&stud.scritto);
printf("\n\n VOTO DELLA PROVA ORALE ----->");
scanf("%d",&stud.orale);
stud.media=(stud.laboratorio+stud.orale+stud.scrit to)/3;
return(stud);
}
/*FUNZIONE*/
void stampa_dettagli (studente_t stud)
{
printf("\n\n COGNOME ----> %s", stud.cognome);
printf("\n\n NOME ----> %s", stud.nome);
printf("\n\n PROVA DI LABORATORIO ----> %d", stud.laboratorio);
printf("\n\n PROVA SCRITTA ----> %d", stud.scritto);
printf("\n\n PROVA ORALE ----> %d", stud.orale);
printf("\n\n VOTO FINALE ----> %d\n", stud.media);
}