S.v.b j'ai un programme en langage c faut

Fermé
doghmi Messages postés 26 Date d'inscription mercredi 6 janvier 2010 Statut Membre Dernière intervention 23 avril 2010 - 12 févr. 2010 à 21:01
doghmi Messages postés 26 Date d'inscription mercredi 6 janvier 2010 Statut Membre Dernière intervention 23 avril 2010 - 12 févr. 2010 à 21:50
Bonjour,
s.v.b j'ai un programme en langage c faut
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
struct stagaire
{
char nom[30];
char prenom[30];
char ville[30];
int age;
};
struct stagaire stag[30];

FILE *fichier;
char nfich[30];
int i,nbe;

printf("creation du fichier\n\n");
printf("entrer le nom du fichier a cree\n");
scanf("%s",&nfich);
fichier=fopen(nfich,"w");
printf(" entrer le nombre du personne a enregistrement\n");
scanf("%d",&nbe);
for(i=0;i<=nbe;i++)
{
getchar();
printf(" entrer le nom\n");
scanf("%s\n",&stag.nom);
printf("entrer le prenom\n");
scanf("%s",&stag.prenom);
printf("entrer votre ville\n");
scanf("%s",&stag.ville);
printf("entrer la date de naissance\n");
scanf("%d",&stag.age);
fwrite(&stag,sizeof(stag),1,fichier);

}
return 0;
}
A voir également:

4 réponses

bqst Messages postés 58 Date d'inscription mercredi 6 janvier 2010 Statut Membre Dernière intervention 24 janvier 2012 24
12 févr. 2010 à 21:04
La question est ?
0
doghmi Messages postés 26 Date d'inscription mercredi 6 janvier 2010 Statut Membre Dernière intervention 23 avril 2010 1
12 févr. 2010 à 21:40
s.v.b
corrige
0
Emmanuel Delahaye Messages postés 107 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 17 juillet 2019 7
12 févr. 2010 à 21:41
Tu voulais probablement dire "faux" ... Effectivement :
-------------- Build: Debug in hello ---------------

Compiling: main.c
Linking console executable: bin\Debug\hello.exe
C:\dev\hello\main.c:6: warning: function declaration isn't a prototype
C:\dev\hello\main.c: In function `main':
C:\dev\hello\main.c:22: warning: char format, different type arg (arg 2)
C:\dev\hello\main.c:30: error: request for member `nom' in something not a structure or union
C:\dev\hello\main.c:32: error: request for member `prenom' in something not a structure or union
C:\dev\hello\main.c:34: error: request for member `ville' in something not a structure or union
C:\dev\hello\main.c:36: error: request for member `age' in something not a structure or union
Process terminated with status 1 (0 minutes, 1 seconds)
4 errors, 2 warnings

C'est dû au fait que la variable est un tableau de structure et non une structure simple.

Il faut utiliser un indice (quelle valeur, à toi de voir) :

      scanf ("%s", stag[i].nom);


d'autre part, 'nom' est déjà une adresse (un nom de tableau désigne l'adresse de son premier membre). Il ne faut donc pas mettre '&'. Ne pas non plus mettre de '\n' dans le format du scanf().

Attention :

for (i = 0; i <= nbe; i++)

fait varier i de 0 à nbe+1, ce qui n'est probablement pas ce que tu veux ...

Il faut aussi vérifier que le fichier est correctement ouvert, le fermer après usage, etc. Je suppose que tu sais programmer en C...
0
doghmi Messages postés 26 Date d'inscription mercredi 6 janvier 2010 Statut Membre Dernière intervention 23 avril 2010 1
12 févr. 2010 à 21:50
merci
0