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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Dev1L
0 / 0 / 0
Регистрация: 24.01.2009
Сообщений: 6
#1

Программа - библиотечный каталог - C++

29.05.2009, 08:28. Просмотров 1809. Ответов 3
Метки нет (Все метки)

Всем привет! Рад что здесь есть луди действительно опытные в этотом вопросе... вообщем нуждаюсь в программе, которая бы реализовывала библиотечный каталог. Программа должна запрашивать название книги, автора, год издания, цену и выдавать общее количество книг, общую стоимость, названия книг, которые дороже определённой суммы. В этой программе должен быть создан класс, в котором используются перегруженные конструкторы.
Заранее благодарю всех кто проявил активность )

Добавлено через 18 часов 54 минуты 55 секунд
Кто-нибудь сможет помочь ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2009, 08:28     Программа - библиотечный каталог
Посмотрите здесь:

Каталог шаблонов C++
C++ Как заархивировать каталог ?
C++ Каталог товаров (Dev-C++)
Определить каталог запуска C++
C++ Права на каталог
C++ Описать каталог сотовых телефонов
C++ Создать библиотечный каталог n порядка, ввести данные
C++ Создать собственный библиотечный файл
Смонтирован ли каталог ? C++
C++ Каталог книг
C++ Map и библиотечный тип function
Создать массив объектов пользовательского типа "Car" (каталог машин) и функции чтения/записи из/в каталог(а) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CyBOSSeR
Эксперт C++
2298 / 1668 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
29.05.2009, 08:55     Программа - библиотечный каталог #2
http://www.cyberforum.ru/cpp-beginners/thread17099.html
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
29.05.2009, 09:36     Программа - библиотечный каталог #3
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
90
91
92
93
94
95
96
97
98
99
100
101
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
#include <functional>
#include <numeric>
#include <locale>
 
struct lib_record
{
    lib_record() : year_(0), price_(0) {}
    lib_record(
        const std::string& title, const std::string& author,
        size_t year, size_t price) :        
        title_(title), author_(author),
        year_(year), price_(price)
    {
    }
    std::string title_;
    std::string author_;
    size_t year_;
    size_t price_;
};
 
typedef std::vector<lib_record> library;
 
template <typename T>
void read_db(T& lib)
{
    typename T::value_type lr("Мурзилка", "Вася Пупкин", 1990, 100);
    lib.push_back(lr);
    std::cout << "В библиотеке одна книга стоимостью " << lr.price_ << " руб." << std::endl;
}
 
template <typename T>
struct price_greater : public std::unary_function<typename T::value_type, bool>
{
    price_greater(size_t price) : price_(price) {}
    bool operator()(typename const T::value_type& v) const
    { return v.price_ >= price_; }
    const size_t price_;
    price_greater& operator= (const price_greater&);
};
 
template <typename T, typename _Fn1>
T select(const T& lib, _Fn1 pred)
{
    T found;
    std::remove_copy_if(lib.begin(), lib.end(), std::back_inserter(found), std::not1(pred));
    return found;
}
 
template <typename T>
size_t all_price(const T&)
{
    std::cerr << "(Вывод общей цены книг недоступен в демонстрационной версии программы)" << std::endl;
    return 0;
}
 
template <typename T>
size_t all_count(const T&)
{
    std::cerr << "(Вывод общего количества книг недоступен в демонстрационной версии программы)" << std::endl;
    return 0;
}
 
template <typename Os>
Os& operator<< (Os& os, const library& lib)
{
    if (lib.size() == 0)
        return os << "Список пуст";
    if (lib.size() > 1)
        return os << "Вывод информации о более чем одной книге недоступен в демонстрационной версии программы.";
    library::value_type book = *lib.begin();
    return os << book.title_ << "\t" << book.author_ << "\t" << book.year_ << "\t" << book.price_;
}
 
int main()
{
    setlocale(LC_ALL, ".1251");
    
    library lib;
    read_db(lib);
 
    std::cout << "Введите цену для поиска книг: ";
    size_t price;
    std::cin >> price;
    library found = select(lib, price_greater<library>(price));
    
    std::cout << "Список книг, стоимостью от " << price << " руб." << std::endl;
    std::cout << found << std::endl;
    if (found.size())
    {
        std::cout << "Общая стоимость книг: " << all_price(found) << std::endl;
        std::cout << "Общее количество книг: " << all_count(found) << std::endl;
    }
 
    system("pause");
 
    return 0;
}
Dev1L
0 / 0 / 0
Регистрация: 24.01.2009
Сообщений: 6
29.05.2009, 13:02  [ТС]     Программа - библиотечный каталог #4
Rififi, спасибо большое что не отказал! век помнить буду ! кстати замечательная затейка "Вывод недоступен в демонстрационной версии программы"
Yandex
Объявления
29.05.2009, 13:02     Программа - библиотечный каталог
Ответ Создать тему
Опции темы

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