Déclaration de type struct en entrée ( C )
Cameron31
-
Cameron31 Messages postés 5 Statut Membre -
Cameron31 Messages postés 5 Statut Membre -
Bonjour à tous,
Voila, je voudrait me faire un sous programme de saisie d'étudiants et je voulais savoir si il était possible d'inclure en entrée de sous programme un type défini dans un main
Je vous montre mon entête :
void SaisirEtu (const char pFichier[] , const char pTypeStruct[] , int pnbEtuAsaisir)
pFichier est le nom de mon fichier : en l'occurence etudiant.test
pTypeStruct est le type de ma structure déclarée dans mon fichier main.c
pnbEtuAsaisir est le nombre d'étudiant que le user veut saisir dans le fichier
voici la structure déclarée :
typedef struct
{
char Numero[7] ;
char Nom[26] ;
char Annee ;
}
TInscrits ;
et voici le corps de mon sspg :
void SaisirEtu (const char pFichier[] , const char pTypeStruct[] , int pnbEtuAsaisir)
{
FILE * stream ;
int i ;
TInscrits Etud ;
stream = fopen(pFichier,"w");
if (stream != NULL)
{
printf(">SAISIE DES ETUDIANTS>>>>>>\n");
for(i=0 ; i<pnbEtuAsaisir ; i++)
{
printf("\t -[Etudiant n°%i ]-\n",i+1);
printf("-Saisissez le numero de l'etudiant : ");
gets(Etud.Numero);
fflush(stdin);
printf("\n");
printf("-Saisissez son nom : ");
gets(Etud.Nom);
fflush(stdin);
printf("\n");
printf("-Saisissez son annee : ");
scanf("%c",&Etud.Annee);
fflush(stdin);
printf("\n\n");
fwrite(& Etud, sizeof(pTypeStruct), 1, stream);
}
fclose(stream);
}
}
J'espère que je suis pas trop brouillons dans mes explications...
Merci de vos réponses !
Cordialement, Cameron
Voila, je voudrait me faire un sous programme de saisie d'étudiants et je voulais savoir si il était possible d'inclure en entrée de sous programme un type défini dans un main
Je vous montre mon entête :
void SaisirEtu (const char pFichier[] , const char pTypeStruct[] , int pnbEtuAsaisir)
pFichier est le nom de mon fichier : en l'occurence etudiant.test
pTypeStruct est le type de ma structure déclarée dans mon fichier main.c
pnbEtuAsaisir est le nombre d'étudiant que le user veut saisir dans le fichier
voici la structure déclarée :
typedef struct
{
char Numero[7] ;
char Nom[26] ;
char Annee ;
}
TInscrits ;
et voici le corps de mon sspg :
void SaisirEtu (const char pFichier[] , const char pTypeStruct[] , int pnbEtuAsaisir)
{
FILE * stream ;
int i ;
TInscrits Etud ;
stream = fopen(pFichier,"w");
if (stream != NULL)
{
printf(">SAISIE DES ETUDIANTS>>>>>>\n");
for(i=0 ; i<pnbEtuAsaisir ; i++)
{
printf("\t -[Etudiant n°%i ]-\n",i+1);
printf("-Saisissez le numero de l'etudiant : ");
gets(Etud.Numero);
fflush(stdin);
printf("\n");
printf("-Saisissez son nom : ");
gets(Etud.Nom);
fflush(stdin);
printf("\n");
printf("-Saisissez son annee : ");
scanf("%c",&Etud.Annee);
fflush(stdin);
printf("\n\n");
fwrite(& Etud, sizeof(pTypeStruct), 1, stream);
}
fclose(stream);
}
}
J'espère que je suis pas trop brouillons dans mes explications...
Merci de vos réponses !
Cordialement, Cameron
A voir également:
- Déclaration de type struct en entrée ( C )
- Déclaration - Guide
- En plus des revenus, il ne faut surtout pas oublier de faire cette déclaration en ligne aux impôts - Guide
- Clear type - Guide
- Type de ram - Guide
- Entrée dans le réseau des pic ✓ - Forum Consommation & Internet
1 réponse
voici le vrai corps du sous programme
void SaisirEtu (const char pFichier[] , const char pTypeStruct[] , int pnbEtuAsaisir)
{
FILE * stream ;
int i ;
pTypeStruct Etud ;
stream = fopen(pFichier,"w");
if (stream != NULL)
{
printf(">SAISIE DES ETUDIANTS>>>>>>\n");
for(i=0 ; i<pnbEtuAsaisir ; i++)
{
printf("\t -[Etudiant n°%i ]-\n",i+1);
printf("-Saisissez le numero de l'etudiant : ");
gets(Etud.Numero);
fflush(stdin);
printf("\n");
printf("-Saisissez son nom : ");
gets(Etud.Nom);
fflush(stdin);
printf("\n");
printf("-Saisissez son annee : ");
scanf("%c",&Etud.Annee);
fflush(stdin);
printf("\n\n");
fwrite(& Etud, sizeof(pTypeStruct), 1, stream);
}
fclose(stream);
}
}
une erreur s'est glissée tout à l'heure dans mon sspg donc voici la bonne version
mais qui forcément.. ne fonctionne pas
void SaisirEtu (const char pFichier[] , const char pTypeStruct[] , int pnbEtuAsaisir)
{
FILE * stream ;
int i ;
pTypeStruct Etud ;
stream = fopen(pFichier,"w");
if (stream != NULL)
{
printf(">SAISIE DES ETUDIANTS>>>>>>\n");
for(i=0 ; i<pnbEtuAsaisir ; i++)
{
printf("\t -[Etudiant n°%i ]-\n",i+1);
printf("-Saisissez le numero de l'etudiant : ");
gets(Etud.Numero);
fflush(stdin);
printf("\n");
printf("-Saisissez son nom : ");
gets(Etud.Nom);
fflush(stdin);
printf("\n");
printf("-Saisissez son annee : ");
scanf("%c",&Etud.Annee);
fflush(stdin);
printf("\n\n");
fwrite(& Etud, sizeof(pTypeStruct), 1, stream);
}
fclose(stream);
}
}
une erreur s'est glissée tout à l'heure dans mon sspg donc voici la bonne version
mais qui forcément.. ne fonctionne pas