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

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

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

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

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

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

Вопрос по ООП - C++
Стоит ли реализовывать программу через классы, если в главной ф-ции предполагается создание только одного объекта? Вобщем решил...

Литература по ООП на С++ - C++
Всем привет, на 1 курсе достаточно хорошо изучил СИ, на втором курсе будет ООП на СИ++, подскажите какую книжку лучше почитать летом чтоб...

Игра с ООП - C++
Хочу создать игру. Есть квадратное поле. Пользователь вводит число обитателей: хищники и жертвы. Создается указанное количество таких...

ООП. Полиморфизм - C++
Мальчики, учусь на МехМате. Для сдачи зачёта по ООП необходимо написать последнюю программу: Задание: полиморфизм Указание: во всех...

ООП ВОПРОС - C++
Плиз обьясните почему нельзя сделать так (ошибка): #include&lt;iostream&gt; using namespace std; class one { public: int a; } ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lvlkoo
.NET C#,ASP.NET MVC
334 / 290 / 101
Регистрация: 16.10.2010
Сообщений: 1,292
Завершенные тесты: 2
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.......
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2011, 23:45     Библиотека. Должники ООП С++
Еще ссылки по теме:

Применение ООП - C++
добрый день. вот написал небольшой класс по работе с матрицами. он пока делает : присваивание значений матриц, удаление, ...

Вопрос по ООП - C++
Вот код class time { private: int hours; int minutes; public: int sum_time(time object, days day); ...

ООП и контейнеры - C++
Здорова господа! От есть задачка: Напишите класс, производный от Container так, чтобы Vector из параграфа 16.2.1 мог использоваться в...

Инкапсуляция в ООП и C++ - C++
Вы используете в классе геттеры и сеттеры (функции). Отделяйте спецификацию от реализации (инкапсуция в каком-то роде). Т.е. header file...


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

Или воспользуйтесь поиском по форуму:
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     Библиотека. Должники ООП С++
Ответ Создать тему
Опции темы

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