Вывести данные о студентах, сдавших сессию на отлично
Категория: C/C++
2011-10-01 16:02:27
Дана информация о пяти студентах. Запись имеет вид: фамилия, имя, отчество и 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
Поделиться: