Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_lab_GII.doc
Скачиваний:
10
Добавлен:
13.04.2015
Размер:
698.37 Кб
Скачать

Void main(void)

{

const k = 5;

int n = 1, i;

float sm, sf, sp;

stud ved[k];

sm = sf = sp = 0;

cout << "Введіть прізвище й оцінки mat, fiz, prg \n " ;

for ( i = 0; i < k; i++)

{

gets ( ved[i]. fam );

cin >> ved[i]. mat >> ved[i]. fiz >> ved[i]. prg ;

ved[i]. sb = ( ved[i]. mat + ved[i]. fiz + ved[i]. prg) / 3;

sm += ved[i]. mat;

sf += ved[i]. fiz;

sp += ved[і]. prg;

}

cout << "\t Відомість успішності групи \n\n";

cout << "\t";

for ( i = 0; i < 47; i++) cout << "-"; // Верхня риса

cout << "\n";

cout << "\t \t прізвище\t мат фіз прогр порівн.бал \n";

for ( i = 0; i < 47; i++) cout << "-"; // Верхня риса

for ( i = 0; i < k; i++)

{

cout << "\t" << i + 1 << " " << setw(17)

<< setiosflags ( ios :: left ) << ved[i]. fam;

cout << ved[i]. mat << " " << ved[i]. fiz <<

" " << ved[i]. prg << " " << ved[i]. sb << "\n";

}

cout << "\t";

for ( i = 0; i < 47; i++) cout << "-"; // Нижня риса

cout << "\n\t" << setw(16) << setiosflags ( ios :: right )

<< "Порівн. бал";

cout << " " << sm / k << " " << sf / k << " " << sp / k << "\n\n";

cout << "\t Відмінники по програмуванню: \n\n";

for ( i = 0; i < k; i++)

if ( ved[i]. prg == 5)

{

cout << "\t" << n << " " << ved[i]. fam << "\n";

n++;

}

}

Результат роботи програми буде мати вигляд:

Відомість успішності студентів

_______________________________________________

прізвище мат фіз прогр порівн.бал

_______________________________________________

Авдєєв И.М. 3 4 4 3.7

Биків Т.Б. 5 5 4 4.6

Волков А.П. 4 5 5 4.6

_______________________________________________

Порівн. бал 3.8 4.6 4.8

Відмінники по програмуванню:

Волков А.П.

Поля структури можуть також бути масивами, наприклад, у раніше розглянутій структурі stud можна оцінки по різних предметах об'єднати в масив. Тоді таку структуру можна описати у вигляді:

struct stud1

{ char fam [25];

int pr [3];

float sb

} st1 [10], *pst = &st1 [0]; ,

тепер до полів можна звертатися одним з наступних способів:

((*pst). fam) // gets (( *pst) .fam);

( pst -> pr [0] ) // cin >> pst -> pr[0] >> pst -> pr[1];

// або cin >> pst -> * (pr +1).

У бібліотеці <stdlib.h> для пошуку і сортування структурних змінних маються спеціальні функції. Так , функція швидкого сортування структурних елементів масиву по заданому полю має вигляд :

#include < stdlib.h >

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]