request for member moyenne in something not a structure or union in dev c++

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • SoRa020
    New Member
    • Jan 2022
    • 1

    request for member moyenne in something not a structure or union in dev c++

    #include<stdio. h>
    #define max 100
    typedef struct{
    char cne[20];
    char nom[20];
    float moyenne;
    }etudiant;
    void lire_etud(etudi ant T[max], int nb)
    {
    int i;
    printf("saisir les information des etudiants:n");
    for(i=0;i<nb;i+ +)
    {printf("etudia nt n : %d\n",i+1);
    printf(" cne: \n");
    scanf("%s",&T[i].cne);
    printf("nom: \n");
    scanf("%s",&T[i].nom);
    printf("moyenne :\n");
    scanf("%f",&T[i].moyenne);}
    }
    void afficher_etud(e tudiant T[max],int nb)
    {
    int i;
    printf("affiche r les informations des etudiant: \n");
    for(i=0;i<nb;i+ +)
    {
    printf("affiche r les informations d'etudiant n :\n");
    printf("cne: %s",T[i].cne);
    printf("nom: %s",T[i].nom);
    printf("moyenne : %f",T[i].moyenne);
    }
    }
    etudiant* rechEtud(etudia nt T[max],int nb,int *k)
    {
    int i,j=0;
    etudiant A[50];
    for(i=0;i<=nb;i ++)
    {
    if(T[i].moyenne>=12)
    {
    A[j].moyenne=T[i].moyenne;
    j++;}
    }
    return(A.moyenn e);
    }
  • dev7060
    Recognized Expert Contributor
    • Mar 2017
    • 656

    #2
    Code:
    #include<stdio.h>
    
    #define max 100
    typedef struct {
      char cne[20];
      char nom[20];
      float moyenne;
    }
    etudiant;
    void lire_etud(etudiant T[max], int nb) {
      int i;
      printf("saisir les information des etudiants:n");
      for (i = 0; i < nb; i++) {
        printf("etudiant n : %d\n", i + 1);
        printf(" cne: \n");
        scanf("%s", & T[i].cne);
        printf("nom: \n");
        scanf("%s", & T[i].nom);
        printf("moyenne :\n");
        scanf("%f", & T[i].moyenne);
      }
    }
    void afficher_etud(etudiant T[max], int nb) {
      int i;
      printf("afficher les informations des etudiant: \n");
      for (i = 0; i < nb; i++) {
        printf("afficher les informations d'etudiant n :\n");
        printf("cne: %s", T[i].cne);
        printf("nom: %s", T[i].nom);
        printf("moyenne: %f", T[i].moyenne);
      }
    }
    etudiant * rechEtud(etudiant T[max], int nb, int * k) {
      int i, j = 0;
      etudiant A[50];
      for (i = 0; i <= nb; i++) {
        if (T[i].moyenne >= 12) {
          A[j].moyenne = T[i].moyenne;
          j++;
        }
      }
      return (A.moyenne);
    }
    The return type of rechEtud is etudiant * and the value being returned is A.moyenne. What are you referring to by A.moyenne? Arrow or bracket notation needs to be used to access the members. If the aim is to return the address of A, keep in mind it is a local variable.

    Comment

    Working...