Создайте файл books.txt и заполните его данными в формате 1|Пушкин А.С.|1982|100.
Скомпилируйте код ниже, и проверьте работает ли он. Пишите.
C++ |
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
| static char author[256] = "\0";
static char city[256] = "\0";
static char year[256] = "\0";
printf("Vvedite avtora knig: "); gets(author);
printf("Vvedite gorod: "); gets(city);
printf("Vvedite god izdania: "); gets(year);
FILE* fp = NULL;
static char* filename = "d:\\books.txt";
if ((fp = fopen(filename,"r")) == NULL)
printf("Unable to open file %s\n",filename);
static char psz[256] = "\0";
while (fgets(psz,256,fp) != NULL)
{
char** ppsz = new char*[4];
for (int i = 0, count = 0; (psz[i] != '\0')
&& (i < strlen(psz)); i++)
if (psz[i] == '|')
{
int k = i+1, n = 0;
static char attr[256] = "\0";
while ((psz[k] != '|') && (k < strlen(psz)))
attr[n++] = psz[k++];
attr[n] = '\0';
ppsz[count] = new char[256];
strcpy(ppsz[count++],attr);
}
if (!strcmp(ppsz[0],author) && !strcmp(ppsz[1],city) &&
atoi(ppsz[2]) >= atoi(year)) printf("%s\n",psz);
}
fclose(fp); |
|