Sp zadatak 1 polja, Barbara Rogar


/ Published in: C++
Save to your folder(s)



Copy this code and paste it in your HTML
  1. struct tpacijent {
  2. int mb;
  3. char ime[30];
  4. int godine;
  5. }pacijent;
  6.  
  7. typedef int element;
  8.  
  9. struct list {
  10. int mb[100];
  11. char ime[100][30];
  12. int godine[100];
  13. int cursor;
  14. };
  15.  
  16. element EndL (list* L) {
  17. return L->cursor;
  18. };
  19.  
  20. element FirstL (list* L) {
  21. if (L->cursor == 0)
  22. return EndL(L);
  23. else
  24. return 0;
  25. };
  26.  
  27. element NextL (element p, list* L) {
  28. if (p > L->cursor)
  29. return 0;
  30. if (p == EndL(L))
  31. return 0;
  32. else
  33. return p+=1;
  34. };
  35.  
  36. element PreviousL (element p, list* L) {
  37. if (p > L->cursor)
  38. return 0;
  39. if (p == FirstL(L))
  40. return 0;
  41. else
  42. return p-=1;
  43. };
  44.  
  45. element LocateL (tpacijent x, list* L) {
  46. for (int lokacija=0; lokacija < L->cursor; lokacija++)
  47. if(L->mb[lokacija]==x.mb)
  48. return lokacija;
  49. return EndL(L);
  50. };
  51.  
  52. int InsertL (tpacijent x, int p, list* L) {
  53. if (p > L->cursor)
  54. return 0;
  55. L->cursor=L->cursor+1;
  56. for (int lokacija=L->cursor-1; lokacija >= p; lokacija--) {
  57. L->mb[lokacija+1] = L->mb[lokacija];
  58. strcpy(L->ime[lokacija+1], L->ime[lokacija]);
  59. L->godine[lokacija+1] = L->godine[lokacija];
  60. }
  61. L->mb[p] = x.mb;
  62.  
  63. strcpy(L->ime[p], x.ime);
  64. L->godine[p] = x.godine;
  65. return 1;
  66. };
  67.  
  68. element DeleteL (element p, list* L) {
  69. if (p > L->cursor)
  70. return 0;
  71. for (int lokacija = p; lokacija < L->cursor-1; lokacija++) {
  72. L->mb[lokacija] = L->mb[lokacija+1];
  73. strcpy(L->ime[lokacija], L->ime[lokacija+1]);
  74. L->godine[lokacija] = L->godine[lokacija+1];
  75. }
  76. return 1;
  77. };
  78.  
  79. tpacijent RetrieveL (element p, list* L) {
  80. pacijent.mb = L->mb[p];
  81. strcpy(pacijent.ime, L->ime[p]);
  82. pacijent.godine = L->godine[p];
  83. return pacijent;
  84. };
  85.  
  86. void DeleteAllL (list* L) {
  87. L->cursor = 0;
  88. };
  89.  
  90. list* InitL (list* L) {
  91. L = new list;
  92. L -> cursor = 0;
  93. return L;
  94. };

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.