---------------------------↓↓↓
"server=127.0.0.1;uid=root;pwd=12345;database=test"
for (int i = 0; i < Reader_kol; i++)
for (int i = totalReaderCnt; i < totalReaderCnt + Reader_kol; i++)
book[i].AddBook ( a, b, c);
for (int i = 0; i < kol_books; i++) {
system("cls");
cout << "Название книги: ";
cin >> a, cout << endl;
cout << "Имя автора: ";
cin >> b;
cout << endl;
cout << "Количество страниц: ";
cin >> c;
cout << endl;
book[i].AddBook(a, b, c);
}
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <getopt.h>
#include <string.h>
int main()
{
int l, a, b, c;
l = getchar();
char k;
switch(l)
{
case 'a':
printf ("Input task: ");
scanf ("%d%c%d", &a, &k, &b);
if (k == '+') {
c = a + b;
printf ("%d%c%d = %d", a, k, b, c);
}
else if (k == '-') {
c = a - b;
printf ("%d%c%d = %d", a, k, b, c);
}
else if (k == '*') {
c = a * b;
printf ("%d%c%d = %d", a, k, b, c);
}
else if (k == '/') {
if (b == 0) {
printf ("Error.");
exit (1);
}
c = a / b;
printf ("%d%c%d = %d", a, k, b, c);
}
break;
case 'b':
printf ("Input task: ");
scanf ("%d%c%d", &a, &k, &b);
if (k == '+') {
c = a + b;
printf ("%d", c);
}
else if (k == '-') {
c = a - b;
printf ("%d", c);
}
else if (k == '*') {
c = a * b;
printf ("%d", c);
}
else if (k == '/') {
if (b == 0) {
printf ("Error.");
exit (1);
}
c = a / b;
printf ("%d", c);
}
break;
}
return 0;
}
NAME[EL1, EL2, EL3, EL3, EL4, EL5]
NEXT[3, 5, 2, TAIL, 4]
NAME[1] = EL1
и ссылается на NEXT[1]=3
то есть на NAME[3]=EL3
(индексация массивов здесь начинается с 1, а не с нуля потому что так сделано в вашем примере) Такая структура довольно компактна и добавляет к преимуществами связного списка преимущество последовательного массива - прямой доступ к элементам.