Универзитет Св. Кирил и Методиј“ – Скопје
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ
И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО
Аудиториски вежби 1
Структури
Обjектно ориентирано програмирање
Задачa 1
Да се напише програма коjа ´
ке споредува два датуми (ден,
месец, година) и ´
ке jа пресмета разликата во денови од едниот
до другиот датум. Пресметките да се реализираат во посебни
функции.
За датумот да се дефинира посебна структура datum.
Обjектно ориентирано програмирање | АВ1 2/22
Задача 1
Решение 1/3
#include < s td io . h >
struct da tu m {
int den ;
int me sec ;
int godina;
};
ty pedef s tr uct datum d atu m ;
Обjектно ориентирано програмирање | АВ1 3/22
Задача 1
Решение 2/3
sh or t spore db a ( da tu m d1 , d at um d2) {
if ( d 1 . den == d2 . d en && d1 . m es ec == d2 . m e se c & & d1 . g od in a == d2 . g od in a )
return 0;
if ( d 1 . go di n a > d 2 . g od in a )
return 1;
el se if ( d 1 . g od in a < d 2 . g od in a )
return -1;
else {
if ( d 1 . me se c > d2 . m e se c )
return 1;
el se if ( d 1 . m es ec < d2 . m es ec )
return -1;
else {
if ( d 1 . den > d 2 . de n )
return 1;
else
return -1;
}
}
}
Обjектно ориентирано програмирање | АВ1 4/22
Задача 1
Решение 3/3
long ra zlika ( datum d1 , datum d2) {
long denovi;
d en ov i = d 1 . de n d 2 . de n ;
de no vi += ( d1 . me se c d2. mesec ) * 30 ;
d en ov i + = ( d1 . g od in a d 2 . g od in a ) * 3 60;
return denovi;
}
int main () {
d at um d 1 = { 1 4 , 1 2 , 1 98 9 };
d at um d 2 ;
d2 . den = 16 ;
d2 . m e se c = 1 2;
d2 . g o di na = 1 98 9;
if ( sp oredb a ( d1 , d2) == 0)
printf(” D a tu m it e s e i s ti . \ n);
el se if ( spore db a ( d1 , d2 ) == 1)
printf(” R a zl i ka ta p om eg u d a tu m it e e % d d en a .\ n ” , r az li k a ( d1 , d2 ) ) ;
else
printf(” R a zl i ka ta p om eg u d a tu m it e e % d d en a .\ n ” , r az li k a ( d2 , d1 ) ) ;
return 0;
}
Обjектно ориентирано програмирање | АВ1 5/22
Задачa 2
Да се напише програма коjа ´
ке го пресметува векторскиот и
скаларниот производ на два вектори. Векторите се претставени
со координати во тродимензионален координатен систем.
Скаларниот и векторскиот производ да се пресметуваат со
посебни функции. За вектор да се дефинира посебна структура
вектор.
Обjектно ориентирано програмирање | АВ1 6/22
Задача 2
Решение 1/2
# in clu de < s td io . h >
struct vektor {
fl oa t x;
fl oa t y;
fl oa t z;
};
ty pedef s tr uc t vektor vektor;