cs_pacolo
Messages postés1Date d'inscriptionlundi 23 octobre 2006StatutMembreDernière intervention 5 juin 2007
-
5 juin 2007 à 11:13
cs_vicenzo
Messages postés178Date d'inscriptionmardi 16 août 2005StatutMembreDernière intervention25 août 2010
-
5 juin 2007 à 11:31
#include<stdio.h>
#include<conio.h>
struct eleve
{ char nom[20];
char prenom[30];
char sexe[2];
int age;
}
feleve;
int main ()
{int Age; FILE * pf;
char nome, prenome, sexee;
printf("Merci de commencer la saisie\n");
pf=fopen("C:\\DEVOIR\\eleve.txt","a+");
if (pf==NULL)
{
printf("Il y'a une erreur a l'ouverture du fichier\n");
}
else
clrscr();
printf("Merci de saisir votre age ou 0 pour Quitter\n");
scanf("%d",&Age);
while (Age!=0)
{
feleve.age=Age;
printf("Merci de saisir votre Nom\n");
scanf("%s",&nome);
sprintf(feleve.nom,"%s",nome);
printf("Merci de saisir votre prenom\n");
scanf("%s",&prenome);
sprintf(feleve.prenom,"%s",prenome);
printf("merci d'indiquer votre sexe\n");
scanf("%s",&sexee);
sprintf(feleve.sexe,"%s",sexee);
fwrite(&feleve,sizeof(feleve),1,pf);
clrscr();
printf("saisissez votre age ou 0 pour quyitter\n");
scanf("%d",&Age);
}
}
fclose(pf);
return 0:
}
J'ai un probléme pour afficher le contenu du fichier j'ai utilisé la fonction fread mais le compilateur m'indique des erreurs Merci de m'aider
cs_vicenzo
Messages postés178Date d'inscriptionmardi 16 août 2005StatutMembreDernière intervention25 août 20101 5 juin 2007 à 11:30
primo, aucune variable n'est initialisée et aucun retour de scanf vérifié et qui veut dire que les valeurs fournies aux printf les feront planter si elle sont invalides...
Et comme tu déclare des variable de type char que tu passe aux scanf et printf comme des char* (%s), cela équivaut à se mitrailler soi même au M16
de plsu pour copier une chaine de caractères, utilise un strpcy ou strncpy au lieu d'unn sprintf...
Ma foi, tout le code est revoir. Commence par déclarer test du bon type, vérifier tes retorus de scanf...