Quelle erreur dans ce programme en langage C
Résolu
salmimoro
Messages postés
9
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
program C qui enregistre les information des employée ... utilse structure
le progamme que je cérée
mais compiler pas ...
quelle erreur ?
××××××××××Merci d'avance××××××××
le progamme que je cérée
mais compiler pas ...
quelle erreur ?
××××××××××Merci d'avance××××××××
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct employe
{
char nom[50] ;
char prenon[50];
char fanction[50];
int salair[50];
char matricle[50];
} employe ;
main()
{
FILE* index;
int i,n;
char nomfichier[50];
employe E;
do
{
printf("entrez nom fichier\n");
scanf("%s",&nomfichier);
index=fopen(nomfichier,"W");
if(!index)
{
printf("ereeur impossible \n");
}
}whille(!index);
printf("entrez nombre employe \n");
scanf("%d",&n)
for(i=0;i<n;i++)
{
printf("entrez nom employe \n");
scanf("%S",&E.nom);
printf("entrez prenon \n");
scanf("%S",&E.prenon);
printf("entrez nom fanction \n");
scanf("%S",&E.fanction);
printf("entrez salair \n");
scanf("%d",&E.salair);
printf("entrez matricle \n");
scanf("%S",&E.matricle);
fprintf(inex,"%s\n%s\n%s\n%s\n%d\n",&E.nom,&E.prenon,&E.fanction,&E.matricle&E.salair);
}
fclose(index);
system("pause";)
}
A voir également:
- Quelle erreur dans ce programme en langage C
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Message programmé iphone - Guide
- Forcer la fermeture d'un programme - Guide
2 réponses
Il faut lire les erreurs fournies par son compilateur.
Il y a en quelques unes que tu aurais trouvées tout seul.
whille
N'existe pas ! C'est while.
main()
Le bon prototype est : int main(void)
scanf("%s",&nomfichier);
scanf("%S",&E.nom);
scanf("%S",&E.prenon);
scanf("%S",&E.fanction);
scanf("%d",&E.salair);
scanf("%S",&E.matricle);
Pas de &. Ce n'est pas "%S", mais "%s" (S minuscule).
(inex,"%s\n%s\n%s\n%s\n%d\n",&E.nom,&E.prenon,&E.fanction,&E.matricle&E.salair);
Pas de &. Attention, il manque une virgule entre E.matricle et E.salair.
system("pause";)
Le point virgule est mal placé.
Et enfin, il manque le return 0; final.
Google is your friend
Il y a en quelques unes que tu aurais trouvées tout seul.
whille
N'existe pas ! C'est while.
main()
Le bon prototype est : int main(void)
scanf("%s",&nomfichier);
scanf("%S",&E.nom);
scanf("%S",&E.prenon);
scanf("%S",&E.fanction);
scanf("%d",&E.salair);
scanf("%S",&E.matricle);
Pas de &. Ce n'est pas "%S", mais "%s" (S minuscule).
(inex,"%s\n%s\n%s\n%s\n%d\n",&E.nom,&E.prenon,&E.fanction,&E.matricle&E.salair);
Pas de &. Attention, il manque une virgule entre E.matricle et E.salair.
system("pause";)
Le point virgule est mal placé.
Et enfin, il manque le return 0; final.
Google is your friend
Et j'en rajoute une :
index=fopen(nomfichier,"W");
Ce n'est pas "W" mais "w".
info de employe0
h
h
h
j
2293160
info de employe1
fg
f
v
vc
2293160
info de employe2
s
c
cv
fg
2293160
info de employe3
fgf
bv
bv
bvbv
2293160
info de employe4
bv
fb
vb
c
2293160
donc salaire est un tableau de 50 entiers
du coup :
scanf("%d",&E.salair);te rempli la premiere case
et
te renvoie l'adresse de ton tableau sous forme de int
Corrige ce point, et reposte ton code pour qu'on voie où tu en es.