Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Oleg_17
1 / 1 / 0
Регистрация: 21.06.2011
Сообщений: 15
#1

Найти названия книг заданного пользователем автора - C++

21.06.2011, 20:53. Просмотров 645. Ответов 6
Метки нет (Все метки)

Пожалуйста помогите написать программу на С++ в четверг нужно сдать, а тему не проходили эту и я не могу сделать вот задание.

Дан файл, содержащий следующие сведения о книгах: фамилия автора, название, год издания.
а) Найти названия книг заданного пользователем автора, изданных с указанного пользователем года или сообщить, что таких книг нет.
б) Определить, имеется ли книга с заданным пользователем названием. Если да, то сообщить фамилию автора и год издания. Если таких книг несколько, то сообщить имеющиеся сведения обо всех этих книгах.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2011, 20:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти названия книг заданного пользователем автора (C++):

Найти названия книг заданного автора, которые были изданы начиная с 1960 г - C++
Есть информационный массив f, в котором находятся данные о книгах(ФИО автора, название и год издания). а) найти названия книг заданного...

Найти названия книг заданного автора и вывести их на экран в порядке убывания года издания - C++
Дан массив записей, содержащий сведения о книгах: фамилия автора, название книги, год издания книги. Найти названия книг заданного автора и...

Дан файл , содержащий сведения о книгах. Сведения о каждой из книг – это фамилия автора, название и год издания. а) Найти названия книг данного автор - C++
Здравствуйте,я тот несчастный студент,который учился в школе где не было программирования.Поэтому нуждаюсь в вашей помощи.Теорию удалось...

Бинарные файлы. Вывести названия книг определенного автора, изданных до 2000 года. Определить долю книг - C++
помогите пожалуйста: В файле хранятся сведения о личной библиотеке: фамилия автора, название, издательство, год издания, тематика книги....

Cтруктуры, поиск книг заданного автора - C++
Добрый вечер. Была поставлена задача следующим образом: "Для книг, хранящихся в библиотеке, задаются: -автор; -название; ...

В файле найти сведения о книгах данного автора изданных начиная с заданного года - C++
Помогите, пожалуйста, решить задачу Дан файл, содержащий сведения о книгах. Сведения о каждой из книг – это фамилия автора, название...

6
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
21.06.2011, 21:06 #2
А какой компилятор?
0
Oleg_17
1 / 1 / 0
Регистрация: 21.06.2011
Сообщений: 15
21.06.2011, 21:33  [ТС] #3
кампилятор - Microsoft
0
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
21.06.2011, 21:39 #4
Microsoft - не компилятор
0
Oleg_17
1 / 1 / 0
Регистрация: 21.06.2011
Сообщений: 15
21.06.2011, 22:10  [ТС] #5
Ой извеняюсь не то написал компилятор - vizhoal studio

Добавлено через 25 минут
Нет я просто в програмировании полный чайник некак не могу понять но из-за этого мне здачу програмы некто не отменит я спросил у человека он ответил что в vizhoal studio использовается кампилятор и посоветовал его
0
denver
1610 / 279 / 3
Регистрация: 19.09.2009
Сообщений: 701
21.06.2011, 22:13 #6
Oleg_17, правильно писать Visual studio
0
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
21.06.2011, 22:13 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Посмотри на это, Oleg_17

Формат файла:

Аравинд,Белый тигр,2009
Дженет,На свете есть не только апельсин,2003
Дженет,Страсть,2003
Леопольдо,Счастливые беглецы,2004
Леопольдо,Кларин дэ новела,2004
Леопольдо,Конекс Диплома аль Мерито,2004
Анджей,Фабрика мухоловок,2010


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
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
#include <locale.h>
#include <list>
#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;
 
 
 
typedef struct book {
    char  author[18];
    char  name[32];
    int      year;
} *pbook;
 
 
 
bool   is_author(const char* str, const char* _author, int _num, int _year = 0) {
    if(! stricmp(str, _author) && ! _year && ! _num ||
       ! stricmp(str, _author) && _year == _num)
            return true;
    return  false;
}
 
 
void  main(void){
 
    setlocale(LC_ALL, "Russia"); 
 
 
    fstream file;
    file.open("X:\\book.txt", ios_base::in); 
 
    list<book>  list_book;
 
     // считывание с файла
    while(!  file.eof() ) {
        char buf[1024];
        file.getline(buf, sizeof(buf), '\n');
        if(strlen(buf) > 10) {
            book  b;
            memset(&b, 0, sizeof(book));
            char* tok = strtok(buf, ",");
            strcpy(b.author, tok);
            tok = strtok(NULL, ",");
            strcpy(b.name, tok);
            tok = strtok(NULL, ",");
            b.year = atoi(tok);
            list_book.push_back(b);
        }
    }
    file.close();
    file.clear();
 
 
    // поиск по автору и году выпуска, можно просто по-автору укажите в параметрах числа=0
    char* author = "Леопольдо";
    int  year        = 2004;
    short isb = 0;
    for( list<book>::iterator  iter = list_book.begin(); iter != list_book.end(); ++iter) {
        pbook p=  &(*iter);
        if(is_author(p->author, author, p->year, year)) {
            cout << "Название книги: " << p->name  << endl;
            isb = 1;
        }
    }
    if(! isb)
        cout << "Такого автора нет !!!" << endl;
 
     cout.put('\n');
 
           // поиск по-названию книги
    char*  name_book       = "Страсть";
    isb = 0;
    while(! list_book.empty()  ) {
        pbook  p = &list_book.front();
        if(! stricmp(p->name, name_book))  {
            cout << "Автор: " << p->author << ", год издания -" << p->year << endl;
            isb = 0;
        }
        list_book.pop_front();
    }
    if(! isb)
        cout << "Таких книг нет !!!" << endl;
 
 
 
      cin.get();
}
:cofee2:
1
21.06.2011, 22:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2011, 22:13
Привет! Вот еще темы с ответами:

Массив строк - список книг определенного автора - C++
Подскажите как делать. Если есть дайте ссылку на подобные задачи. Массив строк. Каждая строка содержит: -шифр книги -ФИО автора ...

Вывести колво книг каждого автора и отсортировать по авторам - C++
фамилия автора, название, издательство, год. Вывести колво книг каждого автора и отсортировать по авторам, вывести список

Реализовать ввод строки с консоли пользователем и найти количество заданного символа в введённой строке - C++
Ввести предложение и подсчитать сколько букв 'н' в нем.

Удалить книги заданного автора - C++
Необходимо разработать программу для создания и работы с двусвязным списком, состоящим из структур. Структура содержит название книги,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru