Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <ctype.h>
- /*
- Ñäåëàåì ëèíåéíûé ñïèñîê,
- è áóäåì ðàáîòàòü ñ íèì êàê ñ î÷åðåäüþ,
- òî åñòü çàïèñûâàòü íîâûé åëåìåíò â êîíåö, à ñ÷èòûâàòü ñ íà÷àëà.
- Äëÿ ðàáîòû ñ î÷åðåäüþ áóäóò 2 îñíîâíûå ôóíêöèè
- ADD() äîáàâèòü â î÷åðåäü
- RETRIEVE() ïîëó÷èòü èç î÷åðåäè
- Ðàáîòàòü îíè áóäóò òàê:
- Ïóñòü åñòü ñïèñîê
- 3 4 2 8
- òîãäà ïîñëå
- ADD(7);
- ADD(9);
- ñïèñîê áóäåò òàêîé
- 3 4 2 8 7 9
- à ïîñëå
- RETRIEVE(); // ïîëó÷èòü "3"
- RETRIEVE(); // ïîëó÷èòü "4"
- RETRIEVE(); // ïîëó÷èòü "2"
- ñïèñîê áóäåò òàêîé:
- 8 7 9
- */
- /*
- Äåëàåì ñòðóêòóðó ÝÂÌ-êîìïüþòåð, â íå¸ âõîäèò
- Ìàðêà (òèï ñòðîêà),
- Öåíà (òèï öåëîå ÷èñëî),
- Ïðîèçâîäèòåëü (òèï ñòðîêà),
- Êîíôèãóðàöèÿ (òèï ñòðóêòóðà), ò.å. â Ñòðóêòóðå ÝÂÌ
- áóäåò âëîæåííàÿ ñòðóêòóðà Êîíôèãóðàöèÿ
- Ñòðóêòóðà Êîíôèãóðàöèÿ:
- Ïðîöåññîð (òèï ñòðîêà)
- Îïåðåàòèâíàÿ ïàìÿòü (òèï ñòðîêà)
- Ðàçìåð äèñêà (òèï öåëîå ÷èñëî)
- Òàêòîâàÿ ÷àñòîòà (òèï ÷åëîå ÷èñëî)
- Òèï ìîíèòîðà (òèï ñòðîêà)
- */
- /*
- Îïèñûâàåì ñíà÷àëî âëîæåííóþ ñòðóêòóðó
- */
- struct Configuration
- {
- char processor[100];
- char memory[100];
- int diskSize;
- int CPUclock;
- char monitorModel[100];
- };
- struct Computer // ß ÝÂÌ íàçâàë Computer
- {
- char brand[100];
- int price;
- char manufacturer[100];
- struct Configuration CFG;
- /*
- Îäèí èç ýëåìåòîâ ñòðóêòóðû Computer
- ýòî ýëåìåíò CFG, òèï ýòîãî ýëåìåíòà - ñòðóêòóðà Configuration
- */
- struct Computer *next;
- };
- struct Computer *head = NULL;
- struct Computer *tail = NULL;
- 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]) {
- struct Computer *tmp;
- tmp = (struct Computer*)malloc(sizeof(struct Computer));
- tmp->brand[100] = brand;
- tmp->price = price;
- tmp->manufacturer[] = manufacturer[];
- tmp->CFG.processor[] = processor[100];
- tmp->CFG.memory[] = memory;
- tmp->CFG.diskSize = diskSize;
- tmp->CFG.CPUclock = CPUclock;
- tmp->CFG.monitorModel = monitorModel;
- tmp->next = NULL;
- if (head == NULL)
- head = tmp;
- else
- tail->next = tmp;
- tail = tmp;
- }
- char RETRIEVE () {
- char OutString = head->CFG.monitorModel;
- if (head != NULL)
- head = head->next;
- else tail = NULL;
- return OutString;
- }
- int main(void) {
- }
Add Comment
Please, Sign In to add comment