Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct stud{
- unsigned int ocena;
- struct stud *sl;
- } STUDENT;
- void inicijalizacija(STUDENT**);
- STUDENT *napravi_cvor(int);
- void dodaj_na_kraj(STUDENT**,STUDENT*);
- double prosek(STUDENT*);
- void free_st(STUDENT**);
- int main(){
- char broj_indeksa[] = "ee300-2020",
- ime_studenta[] = "Jovan Jovanovic";
- STUDENT *glava;
- inicijalizacija(&glava);
- dodaj_na_kraj(&glava, napravi_cvor(8));
- dodaj_na_kraj(&glava, napravi_cvor(7));
- dodaj_na_kraj(&glava, napravi_cvor(9));
- dodaj_na_kraj(&glava, napravi_cvor(10));
- dodaj_na_kraj(&glava, napravi_cvor(6));
- dodaj_na_kraj(&glava, napravi_cvor(8));
- dodaj_na_kraj(&glava, napravi_cvor(9));
- dodaj_na_kraj(&glava, napravi_cvor(8));
- printf("Student %s, sa brojem indeksa %s, ima prosek %.2lf\n",ime_studenta, broj_indeksa, prosek(glava));
- free_st(&glava);
- return 0;
- }
- void inicijalizacija(STUDENT** st){
- *st = NULL;
- }
- void dodaj_na_kraj(STUDENT** glava,STUDENT* st){
- if(*glava == NULL){
- *glava = st;
- }else{
- STUDENT *t = *glava;
- while(t->sl != NULL){
- t = t->sl;
- }
- t->sl = st;
- }
- }
- STUDENT *napravi_cvor(int ocena){
- STUDENT *novi = (STUDENT*)malloc(sizeof(STUDENT));
- if(novi == NULL){
- printf("Nema dovoljno memorije.");
- exit(EXIT_FAILURE);
- }
- novi->ocena = ocena;
- novi->sl = NULL;
- return novi;
- }
- double prosek(STUDENT* glava){
- int sum = 0,
- n = 0;
- STUDENT *t = glava;
- while(t != NULL){
- sum += t->ocena;
- n++;
- t = t->sl;
- }
- return sum/(double)n;
- }
- void free_st(STUDENT** glava){
- STUDENT *tmp;
- while(*glava != NULL){
- tmp = *glava;
- *glava = (*glava)->sl;
- tmp->sl = NULL;
- free(tmp);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment