Advertisement
Crackbone

opet v8

Jan 1st, 2020
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.14 KB | None | 0 0
  1. /*8. Napisati program koji pomoću vezanih listi (stabala) predstavlja strukturu direktorija.
  2. Omogućiti unos novih direktorija i pod-direktorija, ispis sadržaja direktorija i
  3. povratak u prethodni direktorij. Točnije program treba preko menija simulirati
  4. korištenje DOS naredbi: 1- "md", 2 - "cd dir", 3 - "cd..", 4 - "dir" i 5 – izlaz.
  5. */
  6.  
  7.  
  8.  
  9.  
  10.  
  11. #define _CRT_SECURE_NO_WARNINGS
  12. #define MAXCHAR 100
  13.  
  14. #include<stdio.h>
  15. #include<string.h>
  16. #include<stdlib.h>
  17. #include<errno.h>
  18.  
  19.  
  20.  
  21.  
  22. typedef struct dir;
  23. typedef struct dir* Pointer_dir;
  24.  
  25. struct dir
  26. {
  27.     char Name[MAXCHAR];
  28.     Pointer_dir Children_list;
  29.     Pointer_dir Parent;
  30. };
  31.  
  32. //ClearScren
  33. void clrscr()
  34. {
  35.     system("@cls||clear");
  36. }
  37.  
  38. //Funkcije
  39.  
  40.  
  41. int main()
  42. {
  43.     char buffer[MAXCHAR];
  44.  
  45.  
  46.  
  47.     getchar();
  48.     getchar();
  49.     return 1;
  50. }
  51. //Stvaranje deteta;  sad za ovo onaj treba bit da dodaje u children list ovaj q, a salje Pointer od roota, i ime direktorija
  52. //dobro kad ovo bolje promislim ovo bi tek trebalo bit u children listi, znaci prima adresu od parenta i ime, a vraca q koji ide u listu childrena
  53. Pointer_dir create_child(Pointer_dir Parent, char *dir_name)
  54. {
  55.     Pointer_dir q = (Pointer_dir)malloc(sizeof(struct dir));
  56.     if (NULL == q)
  57.     {
  58.         printf("Greska prilikom alokacije memorije. Error: %d", errno);
  59.         return;
  60.     }
  61.     q->Children_list = NULL;
  62.     q->Parent = Parent;
  63.     strcpy(q->Name, dir_name);
  64.  
  65.  
  66.     return q;
  67. }
  68.  
  69. //Stvaranje liste childrena, ovo bi trebalo stvarat listu sortiranu po imenima, i onda vracat [pointer na pocetak liste koji se spaja na Children_list od parenta
  70. //Takodjer treba dodavat nove elemente po potrebi..  Znaci prima pointer na roditelja, i ime direktorija, jer pointer za children list moze dobit iz parent pointera
  71.  
  72. int children_list_managing(Pointer_dir Parent, char *dir_name)
  73. {
  74.     //Deklaracije i inicializacije, etc
  75.     Pointer_dir temp = NULL;
  76.     //Funkcija u slucaju da je lista prazna, pa treba samo 1;
  77.     if (Parent->Children_list == NULL)
  78.     {
  79.         Parent->Children_list = (Pointer_dir)malloc(sizeof(Pointer_dir));
  80.         Parent->Children_list = create_child(Parent, *dir_name);
  81.     }
  82.     else
  83.     {
  84.         temp = Parent->Children_list;
  85.         while ()
  86.         {
  87.  
  88.         }
  89.     }
  90.  
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement