Форум программистов, компьютерный форум CyberForum.ru

Массив строк - список книг определенного автора - C++

Восстановить пароль Регистрация
 
Soup_990
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 34
13.04.2012, 20:37     Массив строк - список книг определенного автора #1
Подскажите как делать. Если есть дайте ссылку на подобные задачи.

Массив строк.
Каждая строка содержит:
-шифр книги
-ФИО автора
-год издания
-год количество страниц
Определить список книг определенного автора, изданных в определенном месте и не ранее указанного года.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2012, 20:37     Массив строк - список книг определенного автора
Посмотрите здесь:

C++ двусвязный список, удаление книг заданного автора
Список книг C++
C++ Бинарные файлы. Вывести названия книг определенного автора, изданных до 2000 года. Определить долю книг
Дан файл , содержащий сведения о книгах. Сведения о каждой из книг – это фамилия автора, название и год издания. а) Найти названия книг данного автор C++
Вывести пользователю список книг, удовлетворяющих критерий поиска C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
13.04.2012, 21:02     Массив строк - список книг определенного автора #2
это все нужно разделять каким-то символом, например |, тогда строка будет выглядеть примерно следующим образом:
1|Пушкин А.С.|1982|100
Затем через strtok разделить и дальше по заданию)
Soup_990
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 34
13.04.2012, 21:31  [ТС]     Массив строк - список книг определенного автора #3
Цитата Сообщение от ZoRT Посмотреть сообщение
это все нужно разделять каким-то символом, например |, тогда строка будет выглядеть примерно следующим образом:
1|Пушкин А.С.|1982|100
Затем через strtok разделить и дальше по заданию)
Лексемы на которые разобьем строку нужно будет сравнивать по символьно, или можно как-то их целиком сравнивать?
GHOST12
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 86
16.04.2012, 11:43     Массив строк - список книг определенного автора #4
Помогите сделать, ни чего не получается.

Добавлено через 48 минут
У меня задача почти такая же
Каждая строка содержит:
-ФИО работника
-Профессию
-Время работы
По запросу определить количество работников данной профессии работающих дольше заданного времени.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
16.04.2012, 12:30     Массив строк - список книг определенного автора #5
Цитата Сообщение от GHOST12 Посмотреть сообщение
Помогите сделать, ни чего не получается.
выкладывайте что смогли сделать, допишем. Если не разбираетесь то совет открыть книжку и разобраться
GHOST12
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 86
16.04.2012, 19:13     Массив строк - список книг определенного автора #6
Цитата Сообщение от panicwassano Посмотреть сообщение
выкладывайте что смогли сделать, допишем. Если не разбираетесь то совет открыть книжку и разобраться
Может кто может дать код подобной задачи?
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
16.04.2012, 20:05     Массив строк - список книг определенного автора #7
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
#include <iostream>
#include <string.h>
#define QUAN 3
using namespace std;
 
      main()
      {
              char string[QUAN][100]   =
              {
                    "I.V.Ivanov,   sportsman, 6 hours",
                    " P.A.Sidorov, writer,   4 hours ",
                    "A.S.Petrov,   student,   0 hours"
             };
 
      char cmp[50];
      int fl = 0,quan = 0;
 
      cout << "\nEnter a timework :  ";
      cin.getline(cmp,50);
 
        for(int i = 0; i< QUAN; i++)
        {
           if(strstr(string[i], cmp))
           {
            cout << " Found at :   " << string[i] << "\n";
            quan ++;
            fl++;
            }
        }
 
     if(!fl) cout << " Not found .\n";
 
      cout << " Quantity  " << quan << endl;
     system("pause");
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2012, 21:55     Массив строк - список книг определенного автора
Еще ссылки по теме:

C++ Вывести колво книг каждого автора и отсортировать по авторам
Подсобите отсортировать список книг C++
Cтруктуры, поиск книг заданного автора C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
16.04.2012, 21:55     Массив строк - список книг определенного автора #8
Создайте файл 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);
Yandex
Объявления
16.04.2012, 21:55     Массив строк - список книг определенного автора
Ответ Создать тему
Опции темы

Текущее время: 02:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru