Quelle erreur dans ce programme en langage C

Résolu
salmimoro Messages postés 9 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
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××××××××
#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";)
 
 }

2 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
    1
    1. Utilisateur anonyme
       
      + inex -> index
      0
    2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > Utilisateur anonyme
       
      Yep bien vu !
      Et j'en rajoute une :
      index=fopen(nomfichier,"W");
      Ce n'est pas "W" mais "w".
      0
    3. salmimoro Messages postés 9 Statut Membre
       
      Merci beaucoup .. Le programme fonctionne correctement maintenant ... Mais pourquoi ces chiffres apparaissent dans les résultats
      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
      0
    4. Utilisateur anonyme
       
      parce que

      int salair[50];


      donc salaire est un tableau de 50 entiers

      du coup :

      scanf("%d",&E.salair); 


      te rempli la premiere case

      et

       fprintf(...%d"...,&E.salair);


      te renvoie l'adresse de ton tableau sous forme de int
      0
    5. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Pour corriger ce problème, tu peux utiliser :
      int salair;
      au lieu de int salair[50]; (sauf si tu as besoin d'un tableau, mais au vu de ton code, ce n'est pas le cas).
      Corrige ce point, et reposte ton code pour qu'on voie où tu en es.
      0
  2. Utilisateur anonyme
     
    Le compilateur te donne les erreurs
    0
    1. salmimoro Messages postés 9 Statut Membre
       
      oui
      0
    2. salmimoro Messages postés 9 Statut Membre
       
      Je ne sais pas comment corriger cette erreur
      0
    3. Utilisateur anonyme
       
      Moi non plus tant que tu ne la posteras pas
      0
    4. salmimoro Messages postés 9 Statut Membre
       
      Pouvez-vous écrire ce programme d'une autre manière
      """""""" program C qui enregistre les information des employée dans un fichier... utilse structure
      0
    5. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > salmimoro Messages postés 9 Statut Membre
       
      Ce que veut dire Rocailleux, c'est de poster les erreurs fournis par ton compilateur...
      0