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



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

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

Тема: Структури

 

 

 

Мета

Навчитись створювати стуктури в Сі.

Теоретичні відомості

Структура – це спеціальний тип даних, який створює користувач для опрацювання інформації про об’єкти з деякої предметної області. Така інформація може складатись з даних різних типів. Структура складається з набору полів – даних різних типу.

struct <назва типу структури>

{

<тип поля 1> <назва поля 1>:

…….

<тип поля п> <назва поля п>;

};

Опис структури обов’яково закінчується символом «;».

Коли у програмі описана структура, то оголосити змінні або вказівники можна так:

<назва типу структури> <список змінних і вказівників>;

Оголосити змінні типу структура можна ще й так:

struct <назва типу структури>

{

<тип поля 1> <назва поля 1>;

………

<тип поля п> <назва поля п>;

} <список змінних і вказівників>;

Якщо тип структури визначати не обов’язково, а достатньо лише оголосити її змінні, то назву типу структури можна не зазначати.

Структура може містити поля типу структура.

Доступ до конкретного поля змінної типу структура дає складене ім’я вигляду:

<назва змінної>.<назва поля>

Завдання №8

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

- відмінників;

- учнів, у яких немає ні 2, ні 5;

- студентів, які пропускали заняття та к-сть їх пропусків (за пропуск вважати оцінку 0).

Програма

#include<stdio.h>

struct

{

char priz[20],imya[20];

int bzo[3],bzf[3],bzs[3];

} pib[4]={{"Maksymiv ","Nazar",{4,5,5},{4,4,4},{5,4,5}},

{"Ov4ar","Oleg",{5,5,5},{5,5,5},{5,5,5}},

{"Fritc ","Vitya",{4,0,4},{3,4,0},{4,3,0}},

{"Geryla","Ivan",{3,4,2},{2,4,3},{4,2,3}}

};

main()

{

int zb=0,i=0,j=0,bzo[3],bzf[3],bzs[3],k=0;

clrscr();

printf("Prizvuw4e"); printf("\tImya"); printf("\Filosofiya"); printf("\tMatematuka"); printf("\tCAPR\n");

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

printf("%s\t%s\t%s\t%s\t%s\n",pib[i].priz,pib[i].imya,pib[i].bzo,pib[i].bzf,pib[i].bzs);

getch();

/*powyk vidminnukiv*/

printf("Vidminnuku\n");

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

{

zb=0;

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

{ zb+=pib[i].bzo[j]+pib[i].bzf[j]+pib[i].bzo[j];

if(zb==45)

printf("%s\t%s\n",pib[i].priz,pib[i].imya);

}

}

getch();

/*ne 2 i ne 5*/

printf("nemaje ni 2 ni 5\n");

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

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

{

if(bzo[j]==2 || bzo[j]==5,bzf[j]==2 || bzf[j]==5,bzs[j]==2 || bzs==5) break;

else printf("%s\t%s\n",pib[i].priz,pib[i].imya);

} getch();

/*powuk propuskiv*/

printf("ne vidvidyje paru\tkiljkistj hodun\n");

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

{

k=0;

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

if(bzo[j]==0,bzf[j]=0,bzs[j]=0) k++;

printf("%s\t%s\t%i\n",pib[i].priz,pib[i].imya,k);

}

getch();

};

Блок-схема

Результат виконання програми

Prizvuw4e Imya Matematuka Fizyka CAPR

Maksymiv Nazar 455 444 545

Ov4ar Oleg 555 555 555

Fritc Vitya 404 340 430

Geryla Ivan 342 243 423

VIDMINNUKU

Ov4ar Oleg

nemaje ni 2 ni 5

Fritc Vitya

ne vidvidyje paru kiljkistj hodun

Maksymiv Nazar 0

Ov4ar Oleg 0

Fritc Vitya 3

Geryla Ivan 0

Висновок

На цій лабораторній роботі я навчився створювати структури та працювати з ними.