Advertisement
rozman50

Untitled

Mar 14th, 2020
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1.  
  2. // Struktura študent
  3. struct Student {
  4. char* ime;
  5. char* priimek;
  6. int id;
  7. int stIzposojenihKnjig;
  8. char** seznam;
  9. char spol;
  10. };
  11.  
  12.  
  13. int n = 0;
  14. // inicializacija arraya za hranjenje studentov
  15. struct Student* arr = (struct Student*)malloc(n * sizeof(struct Student));
  16.  
  17. // inicializacija array of strings za knjige
  18. int numberOfBooks = 10;
  19. char** books = (char**)calloc(numberOfBooks, numberOfBooks * sizeof(char));
  20. books[0] = "Knjiga 1";
  21.  
  22.  
  23. // funkcija za dodajanje studenta v array
  24. // funkcija vrne nazaj array oz pointer na array
  25. // to moraš obvezno pri klicu uporabit
  26. void* addStudentToList(struct Student* arr, int* n, struct Student student) {
  27. *n += 1;
  28. arr = (struct Student*)realloc(arr, *n * sizeof(struct Student));
  29.  
  30. if (arr == NULL)
  31. printf("PRISLO JE DO NAPAKE");
  32.  
  33. // ko dodam studenta, morem allocirat pomnilnik za
  34. // array of string, kamor bom dodajal knjige
  35. arr[*n - 1] = student;
  36. arr[*n - 1].seznam = malloc(sizeof(char));
  37. return arr;
  38. }
  39.  
  40. // klicanje zgornje funkcije, POMEMBNO je arr = addStudent...
  41. // n pošljem prek reference, ker ga v funkciji spremenim in se mora ta sprememba poznat tut zunaj
  42. arr = addStudentToList(arr, &n, s);
  43.  
  44.  
  45. // odstranitev knjige iz arraya
  46. void* removeBookFromBooklist(char** knjige, int* number, int i) {
  47. // remove book from list
  48. for (int c = i; c < *number - 1; c++)
  49. knjige[c] = knjige[c+1];
  50.  
  51. *n -= 1;
  52. knjige= realloc(knjige, sizeof(char*) * *number);
  53. return knjige;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement