Вывести данные о студентах, сдавших сессию на отлично

Дана информация о пяти студентах. Запись имеет вид: фамилия, имя, отчество и 4 оценки за экзамены. Вывести данные о студентах, сдавших сессию на отлично.

code: #cpp
#include<iostream.h>
 
float sr(int q, int ball[])
{
   int i;
   float s; /*Переменная - накопитель*/
 
   for(i=0, s=0; i<q; i++)
      s+=ball[i];
   return s/q; /*Вернуть среднюю оценку*/
}
 
void main()
{
   const int NAMEL = 30;
   struct EXAM {
      char name[30]; /* Имя студента*/
      int ball[7];  /* Оценки по экзаменам */
   };
 
   int i,j; /* Переменные циклов */
   int qs, /* Количество студентов */
       qe; /* Количество экзаменов*/
 
   struct EXAM exam[50]; /* Объявление массива структур*/
 
   cout << "Количество студентов в группе (<50):";
   cin >> qs;
   cout << "Количество экзаменов (<7):";
   cin >> qe;
 
   for (i=0; i < qs; i++) /*Ввод оценок студентов*/
   {
      cout << "Введите фамилию студента: ";
      cin >> exam[i].name;
      for( j=0; j<qe; j++) 
      {
         cout << "Введите оценку по " << j+1 << "экзамену";
         cin >> exam[i].ball[j];
      }
   }
 
/*Вывести на экран список студентов по категориям*/
   float sr1;
   cout << "\nОтличники (ср. балл > 4.5):";
   for (i=0; i<qs; i++)
      if(sr(qe, exam[i].ball) > 4.5)
         cout << endl << exam[i].name;
 
   cout << "\nХорошисты (ср. балл > 3.5 и <= 4.5): ";
   for (i=0; i<qs; i++)
   {
      sr1 = sr(qe, exam[i].ball);
      if(sr1 <= 4.5 && sr1 > 3.5)
         cout << endl << exam[i].name;
   }
 
   cout << "\nТроечники (ср. балл <= 3.5 и > 2.5):";
   for (i=0; i<qs; i++)
   {
      sr1 = sr(qe, exam[i].ball);
      if(sr1 <= 3.5 && sr1 > 2.5)
         cout << endl << exam[i].name;
   }
 
 
   cout << "\nДвоечники (ср. балл <= 2.5):";
   for (i=0; i<qs; i++)
      if(sr(qe, exam[i].ball) <= 2.5)
         cout << endl << exam[i].name;
 
   cout << endl;
} 

автор: AlDelta

Поделиться:

Похожие статьи: