Работа со структурами: сортировка массива студентов - C (СИ)
Формулировка задачи:
10.1.
Вводится массив структур Student. У каждого студента есть, как минимум, имя и массив из 5 оценок.
Необходимо сгруппировать массив по 4 группам: отличники (все 5), хорошисты (хотя бы одна 4),троечники(хотя бы одна 3) и двоечники(хотя бы одна 2).
В каждой группе - отсортировать студентов по алфавиту.
10.2.
Удалить всех, у кого больше двух 2-к.
Для каждого студента вывести его средний балл.
У меня есть кое-какие наработки , но если честно кажется, что всё неправильно. помогите дописать , пожалуйста
#include <string.h> #include <stdlib.h> #include <stdio.h> struct Student { char* FIO[255]; int ocenka[5]; char* group[255]; }; int main() { int n,p; printf("Vvedite kolichestvo studentov"); scanf ("%d",n); struct Student = (struct Student*)malloc(sizeof(struct Student) * n); struct Student tmp; Zapolnenie (FIO,ocenka,n); SortirovkaOcenok (ocenka,group, n) } void Zapolnenie (char* FIO, int ocenka, int n) { for(int i=0; i<=n; i++) { puts("Vvedite FIO\n"); gets("%s", Student[i].FIO); for (int j=0; j<=5; j++) { printf("Vvedite ocenki (5)\n"); scanf("%d", &Student[i].ocenka[j]); } } } void SortirovkaOcenok (int ocenka, char* group, int n) { int temp5=0, temp4=0, temp3=0, temp2=0; for (int i=0;i<=n;i++) { for (int j=0; j<=5; j++) { if (student[i].ocenka[j]=5) temp5++; else if (student[i].ocenka[j]=4) temp4++; else if (student[i].ocenka[j]=3) temp3++; else if (student[i].ocenka[j]=2) temp2++; } if (temp5=5) student[i].group="Otlichnik"; else if (temp4=>1) student[i].group="Horoshist"; else if (temp3=>1) student[i].group="Troechnik"; else if (temp2=>1) student[i].group="Dvoechnik"; } } void SortirovkaNames (char* FIO, char* group, int n) for (int k=0;k<=4;k++) for(int i=0; i<=n ; i++) for(j=0; j<i ; j++) if(strcmp( box[ j ].name, box[ j+1 ].name ) > 0) { tmp = box[ j ]; box[ j ]= box[ j+1 ]; box[ j+1 ]= tmp; }
Решение задачи: «Работа со структурами: сортировка массива студентов»
textual
Листинг программы
struct Student { char* FIO[255]; int ocenka[5]; double* avg; };
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д