Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 15.09.2010
Сообщений: 74

Библиотека. Должники ООП С++

29.05.2011, 18:49. Показов 1576. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программа для библиотеки. Мне нужно реализовать поиск читателей - должников (т.е тех кто держит книгу больше месяца).
Вот основные фрагменты:
Основной класс прописан в хеадер файле:

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
class Library{
 
public:
    Library(){}
    ~Library(){}
 
    string GetChutach(){return libChutach;}
    string GetDay(){ return libDay;}
    string GetMounth(){ return libMounth;}
    string GetYear(){ return libYear;}
    string GetAuthor(){ return libAuthor;}
    string GetName(){ return libName;}
        
    void SetChutach(string chut){ libChutach=chut;}
    void SetDay(string days) {libDay=days;}
    void SetMounth(string mis) {libMounth=mis;}
    void SetYear(string years) {libYear=years;}
    void SetAuthor(string aut){ libAuthor=aut;}
    void SetName(string name){ libName=name;}
 
            void Print();
 
private:
    string libChutach;
    string libDay;
    string libMounth;
    string libYear;
    string libAuthor;
    string libName;
            
};
Вот как воспроизводится выдача книги:
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
void OutBook(){system("cls");
string sbuf;
Library bufLib;
cout<<endl;
cout<<Rus("___Выдача книги читателю___\n");
cout<<Rus("Автор:");
cin>>sbuf;
        bufLib.SetAuthor(sbuf);
 
        cout<<endl
                <<Rus("Название: ");
        cin>>sbuf;
        bufLib.SetName(sbuf);
 
        cout<<endl
                <<Rus("Дата выдачи книги -День-: ");
        cin>>sbuf;
        bufLib.SetDay(sbuf);
        cout<<endl;
            cout<<endl
                <<Rus("Дата выдачи книги -Месяц-: ");
        cin>>sbuf;
        bufLib.SetMounth(sbuf);
        cout<<endl;
            cout<<endl
                <<Rus("Дата выдачи книги -Год-: ");
        cin>>sbuf;
        bufLib.SetYear(sbuf);
        cout<<endl
                <<Rus("Кому выдана: ");
        cin>>sbuf;
        bufLib.SetChutach(sbuf);
        lib.push_back(bufLib);
        cout<<Rus("__________Готово!__________\n");
}
То есть, все записывается в вектор:
C++
1
vector <Library> lib;
И вот мне нужно реализовать поиск читателей, которые держат книгу больше месяца. При выдаче вводится День, Месяц, Год. И я никак не могу, каким образом можно это реализовать.

Прошу вас помогите с проблемой, курсовая робота, буду очень признателен.

Добавлено через 1 час 33 минуты
вверх..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2011, 18:49
Ответы с готовыми решениями:

Массив структур. Должники в порядке убывания
Данные о жильцах дома и задолженности по ЖКХ (ФИО, № квартиры, сумма задолженности) хранятся в виде массива структур. Написать фрагмент...

Библиотека должники
Я хочу сделать Отчет по должникам библиотеки.Мое решение на основе 2 реквизитов со значение булево(при выдаче галочка на должник, при...

ООП. Класс домашняя библиотека
Буду очень благодарен за помощь. Есть задание, разработать класс HomeLibrary, надо реализовать возможность поиска по книгах (за автором,...

4
.NET C#,ASP.NET MVC
Эксперт .NET
 Аватар для lvlkoo
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
29.05.2011, 19:12
почему строки?Обьяви значения целого типа...и сравнивай если больше 31 дня итд
0
0 / 0 / 0
Регистрация: 15.09.2010
Сообщений: 74
29.05.2011, 23:01  [ТС]
вверх

Добавлено через 2 часа 11 минут
Ладно с этим.
Подскажите, как записать вектор в файл??

Добавлено через 5 минут
Так чтобы его записать, и потом можно было считать. Где то прочитал что лучше в бинарный файл, но я не знаю как реализовать. Напишите код пожалуйста, программисты...
0
0 / 0 / 0
Регистрация: 15.09.2010
Сообщений: 74
30.05.2011, 23:41  [ТС]
up.......
0
23 / 23 / 9
Регистрация: 24.04.2010
Сообщений: 220
30.05.2011, 23:45
записать в бинарный файл
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
void SaveBin (double **mass, const char* name)
{
    //создаем файл
    FILE *stream;
    stream=fopen(name,"wb");
    //определение количества строк 
    int  n,m;
    n=((int*)mass)[-1]; 
  
    //запись в файл количества строк
    fwrite(&n,sizeof(int),1,stream);
    
    int i,j;
    for(i=0;i<n;i++)
        {
             //подсчет количества элементов в строке
    
              m=get(mass,i);
             //запись в файл количества элементов строки
             fwrite(&m,sizeof(int),1,stream);
             //запись в файл строки
             fwrite(mass[i],sizeof(double),j,stream);
            }
    fclose(stream);
}
Считать из файла
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void   loadBin(double **mass,const char *name)
{
    
 FILE *stream;
    stream=fopen(name,"rb");
    int i,j,n,m;
    fread(&n,sizeof(int),1,stream);
    mass=(double**)malloc((n+1)*sizeof(double *));
    
    for(i=0;i<n;i++)
        {
            fread(&m,sizeof(int),1,stream);
            mass[i]=(double *)malloc(m*sizeof(double)+sizeof(int));
            mass[i][m]=TT;
            for(j=0;j<m;j++)
                {
                    fread(&mass[i][j],sizeof(double),1,stream);
                    }
            }          
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.05.2011, 23:45
Помогаю со студенческими работами здесь

SQL должники
Не выходит доделать код, так что бы он выводил должников ( по 3 и больше предметам) где бы после кол-во задолженностей выводило предметы -...

Запрос должники не работает
Здравствуйте, необходима ваша помощь с запросом! Пожалуйста! :help:!!! Запрос с параметром, чтобы спрашивал месяц за который...

Изучаю Python, сейчас учу основы ООП, где можно найти задачи по ООП
Скиньте пожалуйста источники с задачами(желательно на русском)

Дорожная библиотека + основная библиотека процессов
Доброго времени! Пытаюсь совместить в одной модели дорожную библиотеку и библиотеку моделирования процессов следующим образом. По дороге...

Библиотека QT Linux X11 и библиотека QT Embedded Linux одно ито же???
Вот стал скачивать эти библиотеки и вижу - у них размер одинаковый......да и ссылка одна и та же..... Это одно и тоже ? а в чём прикол???...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru