Professional Documents
Culture Documents
ПРОГРАМИРАЊЕ
Предавања, 10 час
Структуpирани типови на
податоци
Вредноста на простите (атомски) типови на
податоци (како што се char, int, float, …) не може
да биде разбиена на помали делови. На пример,
секоја int вредност е цел број кој не може да биде
понатаму декомпониран.
Спротивно, структуpиран тип на податок е таков
податок во кој секоја вредност е множество од
компонентни делови. Секоја вредност има
единствено име, а на секоја компонента од
множеството може да и се пристапи индивидуално.
Простите типови на податоци (built-in или вградени
типови) претставуваат компоненти на
структуираните типови на податоци.
Структури
Структура е структуpиран тип на податок со постојан број
на компоненти на кои може да им се пристапи по име.
Индивидуалните компоненти од структурата можат да
бидат од различни типови на податоци.
Член (member) на структурата е една негова компонента.
Секој член на структурата има име.
Синтакса за декларација на структура е:
struct ime_struktura {
tip1 ime_clen1;
tip2 ime_clen2;
…
};
каде ime_struktura е идентификатор кој дава име на
новодефинираниот тип на податок, а ime_clen1,
ime_clen2, …, се имиња на членовите на структурата.
Пример: Структури
Да креираме структура за да опишеме студент по предметот
Програмирање. Во структурата сакаме да ги чуваме: името и
презимето, просекот пред ислушувaњето на предметот, поени
од прв колковиум, поени од втор колковиум, поени од
редовност, поени од семинарска, и оценката за предметот.
struct StudentRec {// Deklaracija na nov tip
char ime[50];
float prosek;
int prv;
int vtor;
int redovnost;
int seminar;
int ocena;
};
struct StudentRec student1; // Deklaracii na promenlivi od tip struktura
struct StudentRec student2;
Пристап до индивидуални
компоненти на структура
Синтакса на декларација на промеливи од тип
структура
struct ime_struktura ime_promenliva;
За да се пристапи до индивидуален член на struct
променлива, прво се наведува името на
променливата проследено со точка и потоа името
на членот. Синтаксата е следната:
ime_promenliva.ime_clen1
Членот на структурата на кој е пристапено се
третира како која било променлива од дадениот
тип. Може да биде користен во изрази на
доделување, како аргумент во функција итн.
Пример: Структури
Користејќи ја нашата променлива student1, следниот
сегмент чита поени од прв и втор колоквиум,
редовност, и семинарски и потоа доделува оцена на
студентот.
scanf(“%d”,&student1.prv);
scanf(“%d”,&student1.vtor);
scanf(“%d”,&student1.redovnost);
scanf(“%d”,&student1.seminar);
int vkupno=student1.prv+student1.vtor+student1.redovnost+student1.seminar;
if (vkupno>90) student1.ocena=10;
else if (vkupno>80) student1.ocena=9;
else if (vkupno>70) student1.ocena=8;
else if (vkupno>60) student1.ocena=7;
else if (vkupno>55) student1.ocena=6;
else student1.ocena=5;
Пример: Структури
Да креираме структура за да опишеме
фудбалски клуб. Во структурата сакаме да
ги чуваме: името на клубот, и број на
освоени поени.
struct klub_podatoci {
char ime[20];
int poeni;
} klub1,klub2;
scanf(“%s”,klub1.ime);
printf(“Prva bukva e %c”,klub1.ime[0]);
Вгнездени структури
Можно е една структура да има како член
друга структура
struct tim { struct klub_podatoci {
char golman[20]; char ime[20];
char bek[20]; int poeni;
char krilo[20]; struct tim igraci;
} } klub1;