У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Лабораторна робота - Структури
3

Лабораторна робота

Тема:

 

Структури

Мета роботи: вивчення засобiв мови Сi для обробки структур,

оволодiння прийомами складання алгоритмiв i

програм з застосуванням структур.

Завдання: Створити структуру, яка являє собою журнал викладача, в структурі є список студентів перелік дисциплін і оцінки з трьох лабораторних робіт для кожного з предметів.

Визначити студентів відмінників і також студентів , які немають жодної п’ятірки, але й немають двійок.

Визначити кількість студентів і кількість пропусків.

Короткі теоретичні відомості:

Оголошення:

struct тег

{список елементів структури; }ім'я;

тег – ім'я типу структури.

struct SS

{char S [20]; int k; }p;

Варіант 1:

struct

{char S [20]; int k; }p;

Варіант 2:

struct SS

{char S [20]; int k; };

struct SS p;

Варіант 3:

struct

{char S [20]; int k; }b[2];

Варіант 4:

struct

{char S [20]; int k; }b[2]={

{“Петренко”, 526},

{“Сіренко ”, 625};

};

Звернення до елемента структури:

b[0].S ім'я структури + ім'я елемента через крапку

b[0].k

Ідентифікація змінних:

Змінна | Номер студента |

Номер предмету | Номер роботи | Порядковий номер | Прізвище, ім'я

Ідентифікатор | і | n | m | pn | Pi

Змінна | Студент |

Оцінки | Середній бал | Про-пуски

Математика | Фізика | ОПАМ

Ідентифікатор | st[i] | pr[1][m] | pr[2][m] | pr[3][m] | sb | prop

Програма:

int i,n,m;

/***************************************************************************

* Структура *

****************************************************************************/

struct ju

{

int pn;

char pi[20];

pr[3][3];

}st[5]={

{1,"Цюпа Роман ",{{3,4,4},{4,4,3},{3,3,4}}},

{2,"Олексин Ярослав ",{{2,3,3},{4,2,4},{2,5,5}}},

{3,"Криховський Iван",{{0,0,0},{4,5,3},{0,3,5}}},

{4,"Черевко Микола ",{{5,5,5},{5,5,5},{5,5,5}}},

{5,"Середюк Андрiана",{{0,5,5},{5,5,0},{5,0,5}}}

};

/***************************************************************************

* Головна програма *

****************************************************************************/

main()

{

clrscr();

printf("Nо\tПрiзвище,iмя\t\tМатематика\t Фiзика\t\t ОПАМ");

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

{

printf("\n%i\t%s\t",st[i].pn,st[i].pi);

for(n=0;n<3;n++)

{

for(m=0;m<3;m++)printf(" %i ",st[i].pr[n][m]);

printf("\t");

}

}

yspi6nist();

getch();

}

/***************************************************************************

* Функцiя (успiшнiсть i пропуски) *

****************************************************************************/

yspi6nist()

{

float sb[5],s=0,k=0,t;

int prop=0;

printf("_________________________________________________________\n");

printf("\n| Прiзвище,iм'я |\tСтатус\t\t | Пропуски |\n");

printf("_________________________________________________________\n");

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

{

t=1;

for(n=0;n<3;n++)

{

for(m=0;m<3;m++)

{

s+=st[i].pr[n][m];k++;

if(st[i].pr[n][m]==5)t=0;

if(st[i].pr[n][m]==2)t=0;

if(st[i].pr[n][m]==0)t=0;

if(st[i].pr[n][m]==0)prop++;

t=2*t;

}

}

sb[i]=s/k;s=0;k=0;

if(sb[i]==5)printf("| %s| - вiдмiнник |\t%i\t|\n",st[i].pi,prop);

if(t>0)printf("| %s| - немає 5, але й немає 2|\t%i\t|\n",st[i].pi,prop);

if(prop>0)printf("| %s| - має пропуски |\t%i\t|\n",st[i].pi,prop);

}

printf("_________________________________________________________\n");

return;

}

Результати:

№ Прiзвище,iмя Математика Фiзика ОПАМ

1 Цюпа Роман 3 4 4 4 4 3 3 3 4

2 Олексин Ярослав 2 3 3 4 2 4 2 5 5

3 Криховський Iван 0 0 0 4 5 3 0 3 5

4 Черевко Микола 5 5 5 5 5 5 5 5 5

5 Середюк Андрiана 0 5 5 5 5 0 5 0 5

_________________________________________________________

| Прiзвище,iм'я | Статус | Пропуски |

_________________________________________________________

| Цюпа Роман | - немає 5, але й немає 2 | 0 |

| Криховський Iван | - має пропуски | 4 |

| Черевко Микола | - вiдмiнник | 0 |

| Середюк Андрiана | - має пропуски | 3 |

_________________________________________________________

Висновок: Я вивчив засоби мови Сi для обробки структур,

оволодiв прийомами складання алгоритмiв i

програм з застосуванням структур.