1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
| #include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <locale.h>
struct element
{
char Famil[30];
char Name[30];
char Patr[30];
char NameB[30];
char Izdat[30];
int god;
int nums;
};
struct Spisok
{
struct element *kniga;
struct Spisok *pNext;
struct Spisok *pPred;
};
struct Spisok *First(struct element *kniga,struct Spisok *ptrnext)
{
ptrnext=new struct Spisok;
if (ptrnext==NULL)
return NULL;
ptrnext->pNext=NULL;
ptrnext->pPred=NULL;
ptrnext->kniga= kniga;
return ptrnext;
delete [] ptrnext;
}
void next(struct element *kniga,struct Spisok *lol)
{
struct Spisok *ptrnext;
for(lol;lol->pNext != NULL;)
{
lol = lol->pNext;
}
ptrnext=new struct Spisok;
if (ptrnext==NULL) return;
ptrnext->pNext=NULL;
lol->pNext = ptrnext;
ptrnext->pPred=lol;
ptrnext->kniga=kniga;
}
void print (struct Spisok *print)
{
int i=1;
do
{
printf("\n%d) Ф.И.О автора: %s %s %s",i, print->kniga->Famil, print->kniga->Name,print->kniga->Patr);
printf("\nНазвание: %s\t Издательство: %s \nКол-во страниц: %d\t год: %d",print->kniga->NameB,print->kniga->Izdat,print->kniga->nums,print->kniga->god);
print=print->pNext;
++i;
}
while(print->pNext);
printf("\n%d) Ф.И.О автора: %s %s %s",i, print->kniga->Famil, print->kniga->Name,print->kniga->Patr);
printf("\nНазвание: %s\t Издательство: %s \nКол-во страниц: %d\t год: %d\n",print->kniga->NameB,print->kniga->Izdat,print->kniga->nums,print->kniga->god);
}
struct Spisok *first = NULL;
void main()
{
setlocale ( LC_ALL, "rus" );
int n,i,k;
char *Famman[8]={"Сидоров","Плюшкин","Комаров","Смирнов","Бурченко","Абдулов","Гончаров","Горбачев"};
char *Imyaman[8]={"Даниил","Аркадий","Николай","Григорий","Анатолий","Евгений","Андрей","Денис"};
char *Patrman[8]={"Владимирович","Петрович","Иванович ","Аркадиевич","Николаевич","Егорович","Андреевич","Максимович"};
char *izdatel[5]={"Москва","Восход","Экватор","Курабейн","Гейзер"};
char *NameBook[5]={"Горбатая Гора","Дирижабль","АБВГДейка","Механика","Дикий Запад"};
struct element *knigastr;
printf ("Введите кол-во книг: ");
scanf("%d",&n);
knigastr=new struct element;
srand ((int)time(NULL));
k=rand() % 8;
strcpy(knigastr->Famil,Famman[k]);
k=rand() % 8;
strcpy(knigastr->Name,Imyaman[k]);
k=rand() % 8;
strcpy(knigastr->Patr,Patrman[k]);
k=rand() % 5;
strcpy(knigastr->Izdat,izdatel[k]);
k=rand() % 5;
strcpy(knigastr->NameB,NameBook[k]);
knigastr->god = rand() %213 + 1700;
knigastr->nums = rand () %600 + 1;
first=First(knigastr,first);
if(first == NULL) exit(1);
for(i=1; i < n; i++)
{
knigastr=new struct element;
k=rand() % 8;
strcpy(knigastr->Famil,Famman[k]);
k=rand() % 8;
strcpy(knigastr->Name,Imyaman[k]);
k=rand() % 8;
strcpy(knigastr->Patr,Patrman[k]);
k=rand() % 5;
strcpy(knigastr->Izdat,izdatel[k]);
k=rand() % 5;
strcpy(knigastr->NameB,NameBook[k]);
knigastr->god = rand() %213 + 1700;
knigastr->nums = rand () %600 + 1;
next(knigastr, first);
}
print(first);
delete [] knigastr;
getch();
} |