Массив структур содержит информацию о студентах группы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

/*Массив структур содержит информацию о студентах группы: в первом поле стоит фамилия, во втором -возраст, в последующих - экзаменационные оценки и т.д. (i-й элемент массива описывает i-го студента). Написать функции, которые выясняют, кто в группе: а) отличники, б) не сдал сессию.*/ я ввожу данные студента, оценку 5, а оно мне выдаёт не сдал сессию...Подскажите как сделать правильнее??))
/*Массив структур содержит информацию о студентах группы: в первом поле стоит фамилия, во втором -возраст,
 в последующих - экзаменационные оценки и т.д. (i-й элемент массива описывает i-го студента).
Написать функции, которые выясняют, кто в группе:
а) отличники,
б) не сдал сессию.*/
# include <stdio.h>
# include <conio.h>
# include <math.h>
# include <malloc.h>
# include <string.h>
# define N 2
int main()
{
struct student 
{
       char name[40];
       int god;
       char predmet[40];
       int grade;
       } ST[N];
       int i,n;
       printf("Kolichestvo studentov -\n ");
       scanf("%d", &n); 
       getchar();
       puts ("Dannie o studente\n");
       for(i=0; i<n; i++)
       {
                printf("\n%2d.Familia, imia:\n ", i+1);
                gets(ST[i].name);
                printf("God Rojdenia:\n ");
                scanf("%ld", &ST[i].god);
                printf("predmet:\n ");
                gets(ST[i].predmet);
                printf("grade:\n");
                scanf("%d",&ST[i].grade);
       }
       for(i=0;i<n;i++)
       {
       if(ST[i].grade==5)
       {
       puts("Otlichnik");
       }
          else if(ST[i].grade<5)
          puts("ne sdal sessiy");
          i++;
}
getch();
return 0;
}

Решение задачи: «Массив структур содержит информацию о студентах группы»

textual
Листинг программы
# include <stdio.h>
# include <conio.h>
# include <math.h>
# include <malloc.h>
# include <string.h>
# define N 2
int main()
{
struct student 
{
       char name[40];
       int god;
       
       int grade;
       } ST[N];
       int i,n;
       printf("Kolichestvo studentov -\n ");
       scanf("%d", &n); 
       getchar();
       puts ("Dannie o studente\n");
       for(i=0; i<n; i++)
       {
                printf("\n%2d.Familia, imia:\n ", i+1);
                gets(ST[i].name);
                getchar ();
                printf("God Rojdenia:\n ");
                scanf("%ld", &ST[i].god);
                
                
       
                printf("grade:\n");
                scanf("%d",&ST[i].grade);
                getchar ();
                }
       for(i=0;i<n;i++)
       {
       if(ST[i].grade>3)
       
       printf ("\n Sdal sessiy :%s\n", ST[i].name);
          else 
          printf("\n ne sdal sessiy: %s",ST[i].name);
          
}
getch();
return 0;
}

Объяснение кода листинга программы

Код выполняет следующие действия:

  1. Объявляет структуру student с полями name, god и grade.
  2. Определяет переменные i, n и массив ST типа struct student.
  3. Запрашивает у пользователя количество студентов с помощью функции scanf и сохраняет значение в переменной n.
  4. Выводит сообщение Dannie o studente и осуществляет цикл for, который выполняется n раз, где каждый студент представлен одним итерационным циклом.
  5. В каждой итерации цикла выводит сообщение с номером студента и запрашивает его имя с помощью функции gets.
  6. Запрашивает год рождения студента с помощью функции scanf и сохраняет значение в соответствующем поле структуры ST.
  7. Запрашивает оценку студента с помощью функции scanf и сохраняет значение в соответствующем поле структуры ST.
  8. Выполняет второй цикл for, который также выполняется n раз.
  9. В каждой итерации второго цикла проверяет значение поля grade студента и выводит сообщение о том, сдал ли студент сессию или нет.
  10. Завершает программу с помощью функции getch и возвращает 0.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.625 из 5
Похожие ответы