首页 > 解决方案 > '* listeNote' 中对成员 'suivant' 的错误请求,它的指针类型为 'listenote {aka notes*}'(也许您打算使用 '->' ?)

问题描述

我有以下练习要做:

我们要管理学生的成绩。学生由他们的学号识别。他们有名字和姓氏。该信息存储在一个链表中,其中的每个元素还包括一个用于学生平均成绩的 avg 字段和一个 eval 字段,该字段是指向他的笔记列表的指针。每个学生的笔记列表也是一个链表,其头部是学生单元格的 eval 字段

这是我的代码,但我得到了错误:

-Users\lenovo\Desktop\exercice final.cpp [Error] request for member 'suivant' in '* listeNote',它是指针类型'listenote {aka notes*}'(也许你打算使用'->'? )

-Users\lenovo\Desktop\exercice final.cpp [Error] request for member 'suivant' in '* listeNote',它是指针类型'listenote {aka notes*}'(也许你打算使用'->'? )

-Users\lenovo\Desktop\exercice final.cpp [Error] request for member 'val' in '* student',指针类型为 'liste_et {aka etudiants*}'(也许你打算使用 '->' ? )

-Users\lenovo\Desktop\exercice final.cpp [Error] request for member 'suivant' in '* listeEtudiant',指针类型为 'liste_et {aka etudiants*}'(也许你打算使用'->'? )

-Users\lenovo\Desktop\exercice final.cpp [Error] request for member 'suivant' in '* listeEtudiant',指针类型为 'liste_et {aka etudiants*}'(也许你打算使用'->'? )

你能帮我弄清楚这个问题吗?

谢谢你

#include <stdlib.h>
#include <string.h>

typedef struct{
 int coef; 
 float nt;  
 }note_matiere;

//Definition de Note :
struct notes{
note_matiere nm;
struct notes* suivant;
};
typedef struct notes* listenote;

typedef struct {
 int ne; 
 char nom[20];
 char prenom[20];
 float moy;
}etudiant;

//Definition de Etudiant :
struct etudiants
{etudiant etd;
listenote eval;
struct etudiants *suivant;
};
typedef struct etudiants* liste_et;

int main ()
{ int i,j; 
liste_et etuds[30];
listenote* listeNote=NULL;
liste_et* listeEtudiant=NULL;
for(i==0;i<5;i++){
liste_et* student=(liste_et*)malloc(sizeof(liste_et)); 
printf("donner le nom de l'etudiant \n");
scanf("%u",etuds[i]->etd.nom); getchar();
printf("donner le prenom de l'etudiant \n");
scanf("%u",etuds[i]->etd.prenom);
printf("donner le numero de l'etudiant \n");
scanf("%d",&etuds[i]->etd.ne);  
listenote notes[10];
 for(j==0;j<3;j++){
 listenote* lsnotes=(listenote*)malloc(sizeof(listenote));
printf("donner la note \n");
scanf("%f",&notes[i]->nm.nt);
printf("donner le coeff \n");
scanf("%d",&notes[i]->nm.coef);
if(i==0) listeNote=lsnotes ;
else if(i==4) listeNote->suivant=NULL;
else listeNote->suivant=lsnotes;    
 }
 student->val=listeNote;
if(i==0) listeEtudiant=student ;
else if(i==4) listeEtudiant->suivant=NULL;
else listeEtudiant>suivant=student;
}
return 0;
        } ```

标签: cpointersstruct

解决方案


推荐阅读