Le problème est de trouver la plus grande moyenne d'un groupe d'étudiants. Comme vous le savez Structure fonctionne ici et à mon point de vue c'est une bonne idée (ou peut-être) que cette structure fait d'abord en utilisant Tableau de Structure parce que j'ai par exemple 30 étudiants. Ensuite, cherchez parmi les membres de cette structure et trouvez la réponse ultime.Trouver la plus grande moyenne parmi une liste d'étudiants en utilisant la structure
Mais j'ai rencontré un problème que je ne peux pas remplir le struct Stdinfo student[stdnum]
et ma boucle for
ne fonctionne pas correctement et je ne sais pas pourquoi!
Comme un chèque, j'ai utilisé printf()
pour imprimer l'un des membres, mais je ne pouvais pas.
Voici mon code:
#include <stdio.h>
struct Stdinfo
{
char name[30];
int score;
};
struct Stdinfo function();
int main(int argc, char **argv)
{
//Number of students ~stdnum
int stdnum, i;
puts("Input numbers of student(s) :");
scanf("%i", &stdnum);
stdnum--;
struct Stdinfo student[stdnum];
//Filling array of structure
for (i = 0; i < stdnum; i++)
{
student[i] = function();
}
return 0;
}
struct Stdinfo function()
{
struct Stdinfo student;
puts("Input the name of the student : ");
fgets(student.name, sizeof(student.name), stdin);
puts("Input his(her) score:");
scanf("%i", &student.score);
return student;
}
Maintenant la recherche n'est pas mon problème principal et je vous remercie de toute aide dont je peux résoudre « membres de structure dépôt » problème.
Pourquoi avez-vous soustrait 1 à 'stdnum'? Votre tableau est maintenant trop petit. – Barmar
@Barmar_ Parce que si vous avez 3 étudiants, vous aurez un tableau de taille 2. 0,1,2 –
Non, c'est la taille 3. Les index vont de 0 à la taille-1. – Barmar