Advertisement
Guest User

Untitled

a guest
Oct 20th, 2014
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.34 KB | None | 0 0
  1. // test
  2.  
  3. #include <stdio.h>
  4. #include <stdint.h>
  5. #include <string.h>
  6. #include "funkcje.h"
  7. #include "naglowki.h"
  8.  
  9. #define AKCJA_0 1
  10. #define AKCJA_1 2
  11. #define AKCJA_2 3
  12.  
  13. typedef struct element_s {
  14. struct element_s *nast;
  15. struct element_s *poprz;
  16. struct element_s *pierw;
  17. int akcja;
  18. int nastepna_akcja;
  19. uint8_t pakiet[1500];
  20. } element_t;
  21.  
  22. element_t *zakotwiczenie_akcji_1;
  23. element_t *zakotwiczenie_akcji_2;
  24. element_t *zakotwiczenie_akcji_3;
  25.  
  26. element_t *tablica_akcji[3];
  27.  
  28. element_t *zakotwiczenie = NULL;
  29. element_t *aktualny = NULL;
  30. element_t *temp = NULL;
  31.  
  32. uint8_t dane[1500];
  33.  
  34. int main(void) {
  35.  
  36. int i_iteracje = 10;
  37. int i_kolejka;
  38. int i, j;
  39.  
  40. for (i = 0; i < 3; i++) {
  41. tablica_akcji[i] = malloc(sizeof(element_t));
  42. }
  43.  
  44. tablica_akcji[0]->akcja = AKCJA_0;
  45. tablica_akcji[0]->nastepna_akcja = AKCJA_1;
  46. //tablica_akcji[1]->pierw = zakotwiczenie_akcji_2->pierw;
  47. tablica_akcji[1]->akcja = AKCJA_1;
  48. tablica_akcji[1]->nastepna_akcja = AKCJA_2;
  49. //tablica_akcji[2]->pierw = zakotwiczenie_akcji_3->pierw;
  50. tablica_akcji[2]->akcja = AKCJA_2;
  51. tablica_akcji[2]->nastepna_akcja = AKCJA_0;
  52.  
  53. /* zakotwiczenie_akcji_1->poprz = NULL;
  54. zakotwiczenie_akcji_2->poprz = NULL;
  55. zakotwiczenie_akcji_3->poprz = NULL;*/
  56.  
  57. for (i = 0; i < i_iteracje; i++) {
  58. for (j = 0; j < 3; j++) {
  59. if (tablica_akcji[j]->nastepna_akcja == AKCJA_0) {
  60. if (zakotwiczenie_akcji_1 == NULL) {
  61. zakotwiczenie = (element_t*) malloc(sizeof(element_t));
  62. zakotwiczenie->pierw = zakotwiczenie;
  63. zakotwiczenie->nast = NULL;
  64. zakotwiczenie->poprz = NULL;
  65. zakotwiczenie_akcji_1 = zakotwiczenie;
  66. tablica_akcji[j]->nastepna_akcja = AKCJA_1;
  67. printf("Adres: 0x%X ", zakotwiczenie);
  68. puts("Aktualna akcja : AKCJA_0 Następna akcja : AKCJA_1");
  69. break;
  70. } else {
  71. aktualny = (element_t*) malloc(sizeof(element_t));
  72. for (temp = zakotwiczenie; temp->nast != NULL;
  73. temp = temp->nast) {
  74.  
  75. }
  76. aktualny->nast = NULL;
  77. aktualny->poprz = temp;
  78. aktualny->pierw = zakotwiczenie;
  79. memcpy(aktualny->pakiet, dane, 1500);
  80. temp->nast = aktualny;
  81. tablica_akcji[j]->nastepna_akcja = AKCJA_1;
  82. printf("Adres: 0x%X ", aktualny);
  83. puts("Aktualna akcja : AKCJA_0 Następna akcja : AKCJA_1");
  84. break;
  85. }
  86. }
  87.  
  88. if (tablica_akcji[j]->nastepna_akcja == AKCJA_1) {
  89. if (zakotwiczenie_akcji_2 == NULL) {
  90. zakotwiczenie = (element_t*) malloc(sizeof(element_t));
  91. zakotwiczenie->pierw = zakotwiczenie;
  92. zakotwiczenie->nast = NULL;
  93. zakotwiczenie->poprz = NULL;
  94. zakotwiczenie_akcji_2 = zakotwiczenie;
  95. tablica_akcji[j]->nastepna_akcja = AKCJA_2;
  96. printf("Adres: 0x%X ", zakotwiczenie);
  97. puts("Aktualna akcja : AKCJA_1 Następna akcja : AKCJA_2");
  98. break;
  99. } else {
  100. temp = (element_t*) malloc(sizeof(element_t));
  101.  
  102. aktualny = (element_t*) malloc(sizeof(element_t));
  103. for (temp = zakotwiczenie; temp->nast != NULL;
  104. temp = temp->nast) {
  105.  
  106. }
  107. aktualny->nast = NULL;
  108. aktualny->poprz = temp;
  109. aktualny->pierw = zakotwiczenie;
  110.  
  111. tablica_akcji[j]->nastepna_akcja = AKCJA_2;
  112. printf("Adres: 0x%X ", aktualny);
  113. puts("Aktualna akcja : AKCJA_1 Następna akcja : AKCJA_2");
  114. break;
  115. }
  116.  
  117. }
  118. if (tablica_akcji[j]->nastepna_akcja == AKCJA_2) {
  119. if (zakotwiczenie_akcji_3 == NULL) {
  120. zakotwiczenie = (element_t*) malloc(sizeof(element_t));
  121. zakotwiczenie->pierw = zakotwiczenie;
  122. zakotwiczenie->nast = NULL;
  123. zakotwiczenie->poprz = NULL;
  124. zakotwiczenie_akcji_3 = zakotwiczenie;
  125. tablica_akcji[j]->nastepna_akcja = AKCJA_0;
  126. printf("Adres: 0x%X ", zakotwiczenie);
  127. puts("Aktualna akcja : AKCJA_2 Następna akcja : AKCJA_0");
  128. break;
  129. } else {
  130. temp = (element_t*) malloc(sizeof(element_t));
  131.  
  132. aktualny = (element_t*) malloc(sizeof(element_t));
  133. for (temp = zakotwiczenie; temp->nast != NULL;
  134. temp = temp->nast) {
  135.  
  136. }
  137. aktualny->nast = NULL;
  138. aktualny->poprz = temp;
  139. aktualny->pierw = zakotwiczenie;
  140. memcpy(aktualny->pakiet, dane, 1500);
  141. temp->nast = aktualny;
  142.  
  143. tablica_akcji[j]->nastepna_akcja = AKCJA_0;
  144. printf("Adres: 0x%X ", aktualny);
  145. puts("Aktualna akcja : AKCJA_2 Następna akcja : AKCJA_0");
  146. break;
  147. }
  148.  
  149. }
  150. }
  151. }
  152.  
  153. return EXIT_SUCCESS;
  154. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement