Guest User

Untitled

a guest
May 24th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1.  
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <stdio.h>
  5. #include <ctype.h>
  6.  
  7. /*
  8.  
  9. Ñäåëàåì ëèíåéíûé ñïèñîê,
  10. è áóäåì ðàáîòàòü ñ íèì êàê ñ î÷åðåäüþ,
  11. òî åñòü çàïèñûâàòü íîâûé åëåìåíò â êîíåö, à ñ÷èòûâàòü ñ íà÷àëà.
  12.  
  13. Äëÿ ðàáîòû ñ î÷åðåäüþ áóäóò 2 îñíîâíûå ôóíêöèè
  14. ADD() äîáàâèòü â î÷åðåäü
  15. RETRIEVE() ïîëó÷èòü èç î÷åðåäè
  16.  
  17. Ðàáîòàòü îíè áóäóò òàê:
  18. Ïóñòü åñòü ñïèñîê
  19. 3 4 2 8
  20. òîãäà ïîñëå
  21. ADD(7);
  22. ADD(9);
  23. ñïèñîê áóäåò òàêîé
  24. 3 4 2 8 7 9
  25. à ïîñëå
  26. RETRIEVE(); // ïîëó÷èòü "3"
  27. RETRIEVE(); // ïîëó÷èòü "4"
  28. RETRIEVE(); // ïîëó÷èòü "2"
  29. ñïèñîê áóäåò òàêîé:
  30. 8 7 9
  31.  
  32. */
  33.  
  34. /*
  35.  
  36. Äåëàåì ñòðóêòóðó ÝÂÌ-êîìïüþòåð, â íå¸ âõîäèò
  37. Ìàðêà (òèï ñòðîêà),
  38. Öåíà (òèï öåëîå ÷èñëî),
  39. Ïðîèçâîäèòåëü (òèï ñòðîêà),
  40. Êîíôèãóðàöèÿ (òèï ñòðóêòóðà), ò.å. â Ñòðóêòóðå ÝÂÌ
  41. áóäåò âëîæåííàÿ ñòðóêòóðà Êîíôèãóðàöèÿ
  42.  
  43. Ñòðóêòóðà Êîíôèãóðàöèÿ:
  44. Ïðîöåññîð (òèï ñòðîêà)
  45. Îïåðåàòèâíàÿ ïàìÿòü (òèï ñòðîêà)
  46. Ðàçìåð äèñêà (òèï öåëîå ÷èñëî)
  47. Òàêòîâàÿ ÷àñòîòà (òèï ÷åëîå ÷èñëî)
  48. Òèï ìîíèòîðà (òèï ñòðîêà)
  49.  
  50. */
  51.  
  52. /*
  53. Îïèñûâàåì ñíà÷àëî âëîæåííóþ ñòðóêòóðó
  54. */
  55.  
  56. struct Configuration
  57. {
  58. char processor[100];
  59. char memory[100];
  60. int diskSize;
  61. int CPUclock;
  62. char monitorModel[100];
  63. };
  64.  
  65. struct Computer // ß ÝÂÌ íàçâàë Computer
  66. {
  67. char brand[100];
  68. int price;
  69. char manufacturer[100];
  70. struct Configuration CFG;
  71. /*
  72. Îäèí èç ýëåìåòîâ ñòðóêòóðû Computer
  73. ýòî ýëåìåíò CFG, òèï ýòîãî ýëåìåíòà - ñòðóêòóðà Configuration
  74. */
  75. struct Computer *next;
  76. };
  77.  
  78. struct Computer *head = NULL;
  79. struct Computer *tail = NULL;
  80.  
  81. void ADD (struct Computer *current, char brand[100], int price, char manufacturer[], char processor[100], char memory[100], int diskSize, int CPUclock, char monitorModel[100]) {
  82. struct Computer *tmp;
  83. tmp = (struct Computer*)malloc(sizeof(struct Computer));
  84. tmp->brand[100] = brand;
  85. tmp->price = price;
  86. tmp->manufacturer[] = manufacturer[];
  87. tmp->CFG.processor[] = processor[100];
  88. tmp->CFG.memory[] = memory;
  89. tmp->CFG.diskSize = diskSize;
  90. tmp->CFG.CPUclock = CPUclock;
  91. tmp->CFG.monitorModel = monitorModel;
  92. tmp->next = NULL;
  93.  
  94. if (head == NULL)
  95. head = tmp;
  96. else
  97. tail->next = tmp;
  98.  
  99. tail = tmp;
  100. }
  101.  
  102. char RETRIEVE () {
  103. char OutString = head->CFG.monitorModel;
  104. if (head != NULL)
  105. head = head->next;
  106. else tail = NULL;
  107.  
  108. return OutString;
  109. }
  110.  
  111. int main(void) {
  112.  
  113. }
Add Comment
Please, Sign In to add comment