Заворотная М.Г. Группа ТК 12-1
Лабораторная работа №4
Задание 5
5. Ввести в довільному порядку відомості про студентів групи. Вивести прізвища студентів по групах: встигають ”добре”,” задовільно”,” незадовільно”.
#include <iostream>
#include <string.h>
#include <iomanip>
using namespace std; /подключение библиотек/
void main()
{
const int k=5;
int i;
int good=0;
int passably=0;
int bad=0;
/обьявляем переменные/
struct stud
{
char fam[25];
double sb;
}
gr[k];
/обьявляем структуру/ gr[k] – говорит о том что у нас масив структур /
cout<<"\t Vvod dannyh o gruppe \n\n";
for (i=0; i<k; i++)
{
cout<<"Vvedite FIO studenta: ";
gets(gr[i].fam);
cout<<"Vvedite sredniy ball studenta: ";
cin>>gr[i].sb;
cin.ignore();
}
/в этом цикле мы поочерёдно вводим данные в масив(который состоит из структур)/
cout<<"\t Svedeniya o vseh studentah gruppy \n\n";
for (i=0; i<47; i++) cout<<"-";/цикл рисующий горизонтальную полосу/
cout<<"\n";
cout<<"\t FIO\t Sredniy ball studenta \n";
for (i=0; i<47; i++) cout<<"-";/цикл рисующий горизонтальную полосу/
for (i=0; i<k; i++)
{
cout<<"\n"<<i+1<<" "<<setw(17)<<setiosflags(ios::left)<<gr[i].fam;
cout<<gr[i].sb<<"\n";
} /цикл выводит на екран данные из масива причем «i+1» – пишет порядковый номер «setw(17)<<setiosflags(ios::left» -функция выравнивания полей «gr[i].fam» - фамилию, а «gr[i].sb» /
for (i+0; i<47; i++) cout<<"-";/цикл рисующий горизонтальную полосу/
cout<<"\n";
cout<<"\t Studenty, kotorie uchatsya ''horosho'' \n\n";
for (i=0; i<k; i++)
if (gr[i].sb>=4)
{
good++;
cout<<"\t"<<good<<" "<<gr[i].fam<<"\n";
}/цикл в котором выполняеться условие «gr[i].sb>=4» * выводит на екран фамилии из тех структур в которых выполняется условие, а «good++»- пишет их номера/
cout<<"\t Studenty, kotorie uchatsya ''udovletvoritel'no'' \n\n";
for (i=0; i<k; i++)
if (gr[i].sb>=3 && gr[i].sb<4)
{
passably++;
cout<<"\t"<<passably<<" "<<gr[i].fam<<"\n";
}/работает также как и предидущий но тут стоит двойное условие «gr[i].sb>=3 && gr[i].sb<4», а роль счетчика выполняет «passably++»/
cout<<"\t Studenty, kotorie uchatsya ''neudovletvoritel'no'' \n\n";
for (i=0; i<k; i++)
if(gr[i].sb<3)
{
bad++;
cout<<"\t"<<bad<<" "<<gr[i].fam<<"\n";
}/цикл работает также как и два предыдущих, условие «gr[i].sb<3» , ну а счетчик «bad++;»/
cin.get();
cin.get(); /задержка екрана/
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.