Advertisement
Tefcio

Untitled

Jan 27th, 2020
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.03 KB | None | 0 0
  1. void listazwierzatbydp(listazwierzeta *head){
  2. if(head == NULL){
  3. printf("\nERROR 404\nLista zwierzat jest pusta!");
  4. }
  5. else{
  6. listazwierzeta *p2 = head;
  7. listazwierzeta *p3 = kopiuj_z(head);
  8. listazwierzeta *p = p3;
  9. while(p3 != NULL){
  10. int dzien = 0;
  11. int miesiac = 0;
  12. int rok = 0;
  13. int dzien2 = 0;
  14. int miesiac2 = 0;
  15. int rok2 = 0;
  16. int i;
  17. int sort = 0;
  18. for(i=0;i<10;i++){
  19. if(i < 2){
  20. if(i == 0){
  21. int x = (p3->value.data_przyjecia[i]) - '0';
  22. int y = (p3->next->value.data_przyjecia[i]) - '0';
  23. dzien += x*10;
  24. dzien2 += y*10;
  25. }
  26. if(i == 1){
  27. int x = (p3->value.data_przyjecia[i]) - '0';
  28. int y = (p3->next->value.data_przyjecia[i]) - '0';
  29. dzien += x;
  30. dzien2 += y;
  31. }
  32. }
  33. else if(i > 2 && i < 5){
  34. if(i == 3){
  35. int x = (p3->value.data_przyjecia[i]) - '0';
  36. int y = (p3->next->value.data_przyjecia[i]) - '0';
  37. miesiac += x*10;
  38. miesiac2 += y*10;
  39. }
  40. if(i == 4){
  41. int x = (p3->value.data_przyjecia[i]) - '0';
  42. int y = (p3->next->value.data_przyjecia[i]) - '0';
  43. miesiac += x;
  44. miesiac2 += y;
  45. }
  46. }
  47. else if(i > 5 && i < 10){
  48. if(i == 6){
  49. int x = (p3->value.data_przyjecia[i]) - '0';
  50. int y = (p3->next->value.data_przyjecia[i]) - '0';
  51. rok += x*1000;
  52. rok2 += y*1000;
  53. }
  54. if(i == 7){
  55. int x = (p3->value.data_przyjecia[i]) - '0';
  56. int y = (p3->next->value.data_przyjecia[i]) - '0';
  57. rok += x*100;
  58. rok2 += y*100;
  59. }
  60. if(i == 8){
  61. int x = (p3->value.data_przyjecia[i]) - '0';
  62. int y = (p3->next->value.data_przyjecia[i]) - '0';
  63. rok += x*10;
  64. rok2 += y*10;
  65. }
  66. if(i == 9){
  67. int x = (p3->value.data_przyjecia[i]) - '0';
  68. int y = (p3->next->value.data_przyjecia[i]) - '0';
  69. rok += x;
  70. rok2 += y;
  71. }
  72. }
  73. }
  74. if(rok > rok2){
  75. listazwierzeta *tmp = p3->next;
  76. p3->next = p3->next->next;
  77. tmp->next = p3->next->next;
  78. p3->next = tmp;
  79. free(tmp);
  80. tmp = NULL;
  81. sort = 1;
  82. }
  83. else{
  84. if(miesiac > miesiac2){
  85. listazwierzeta *tmp = p3->next;
  86. p3->next = p3->next->next;
  87. tmp->next = p3->next->next;
  88. p3->next = tmp;
  89. free(tmp);
  90. tmp = NULL;
  91. sort = 1;
  92. }
  93. else{
  94. if(dzien > dzien2){
  95. listazwierzeta *tmp = p3->next;
  96. p3->next = p3->next->next;
  97. tmp->next = p3->next->next;
  98. p3->next = tmp;
  99. free(tmp);
  100. tmp = NULL;
  101. sort = 1;
  102. }
  103. else{
  104. sort = 0;
  105. break;
  106. }
  107. }
  108. }
  109. if(sort == 0){
  110. break;
  111. }
  112. else{
  113. p3 = p3->next;
  114. }
  115. }
  116. //Poniżej jest wyświetlanie listy, działa poprawnie
  117. printf("ID Data przyjecia Data ostatniego badania Numer kojca Gatunek Plec Masa Opis Adoptowane\n");
  118. while(p != NULL){
  119. char plect[9] = "Nieznana";
  120. if(p->value.plec == 1){
  121. strcpy(plect, "Samiec");
  122. }
  123. else if(p->value.plec == 2){
  124. strcpy(plect, "Samica");
  125. }
  126. if(p->value.adoptowane == 0){
  127. printf("%d %s %s %d %d %s %d %s %d\n", p->value.id_zwierzecia, p->value.data_przyjecia, p->value.data_ostatniego_badania, p->value.nr_kojca, p->value.gatunek, plect, p->value.masa, p->value.opis, p->value.adoptowane);
  128. }
  129. p = p->next;
  130. }
  131. printf("\n");
  132. }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement