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

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

Восстановить пароль Регистрация
 
Usefur
0 / 0 / 0
Регистрация: 15.09.2010
Сообщений: 74
29.05.2011, 18:49     Библиотека. Должники ООП С++ #1
Есть программа для библиотеки. Мне нужно реализовать поиск читателей - должников (т.е тех кто держит книгу больше месяца).
Вот основные фрагменты:
Основной класс прописан в хеадер файле:

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 минуты
вверх..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2011, 18:49     Библиотека. Должники ООП С++
Посмотрите здесь:

C++ ООП
C++ ООП
ООП C++
C++ ООП
C++ ООП
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lvlkoo
.NET C#,ASP.NET MVC
 Аватар для lvlkoo
304 / 260 / 89
Регистрация: 16.10.2010
Сообщений: 1,164
Завершенные тесты: 1
29.05.2011, 19:12     Библиотека. Должники ООП С++ #2
почему строки?Обьяви значения целого типа...и сравнивай если больше 31 дня итд
Usefur
0 / 0 / 0
Регистрация: 15.09.2010
Сообщений: 74
29.05.2011, 23:01  [ТС]     Библиотека. Должники ООП С++ #3
вверх

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

Добавлено через 5 минут
Так чтобы его записать, и потом можно было считать. Где то прочитал что лучше в бинарный файл, но я не знаю как реализовать. Напишите код пожалуйста, программисты...
Usefur
0 / 0 / 0
Регистрация: 15.09.2010
Сообщений: 74
30.05.2011, 23:41  [ТС]     Библиотека. Должники ООП С++ #4
up.......
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
30.05.2011, 23:45     Библиотека. Должники ООП С++ #5
записать в бинарный файл
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);
                    }
            }          
}
Yandex
Объявления
30.05.2011, 23:45     Библиотека. Должники ООП С++
Ответ Создать тему
Опции темы

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