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

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

Войти
Регистрация
Восстановить пароль
 
zaharys
Сообщений: n/a
#1

мне нужно удалить в программе файлы библиотеки.при компиляции под цифрой 4.я не знаю как это правильно оформить - C++

30.05.2012, 00:26. Просмотров 343. Ответов 0
Метки нет (Все метки)

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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include <sstream>
 
using namespace std;
 
string _file_name = "d:\\cd.lib"; // Файл куди пишеться бібліотека
 
// Клас для роботи із cd lbcrfvb
class cd_disk{
    /*
        Функції set_name, set_year, set_owner - сетери для відповідних приватних змінних
        Функції get_name, get_year, get_owner - гетери для відповідних приватних змінних
    */
public:
    void set_name(string name)
    {
        _name = name;
    }
 
    void set_year(int year)
    {
        _year = year;
    }
 
    void set_owner(string owner)
    {
        _owner = owner;
    }
 
    string get_name()
    {
        return _name;
    }
 
    int  get_year()
    {
        return _year;
    }
 
    string get_owner()
    {
        return _owner;
    }
 
    // Функця, яка повертає дані про CD у вигляді стрічки 
    string get_as_string()
    {
        std::stringstream ss;
        ss << _year;
 
        return _name + "\t"  + ss.str() + "\t" + _owner;
    }
 
private:
    string _name;
    int _year;
    string _owner;
};
 
// Клас для роботи із базою даних
class data_base_worker{
public:
 
    // Запис в файл
    void write_to_file(string file_name, cd_disk cd)
    {
        ofstream file;
        file.open (file_name, ios::app);
        file << cd.get_as_string() << '\n';
        file.close();
    }
 
    // Взяття всієї бібліотеки
    vector<string> get_all_library(string file_name)
    {
        vector<string> library;
 
        string line = "";
        ifstream myfile (file_name);
        if (myfile.is_open())
        {
            while (myfile.good())
            {
                getline (myfile, line);
                library.push_back(line);
            }
            myfile.close();
        }
 
        return library;
    }
 
    // Взяття тільки тих записів, які мають в собі значення для пошуку
    vector<string> find_in_library(string file_name, string find_param)
    {
        vector<string> filtered_library;
 
        string line = "";
        ifstream myfile (file_name);
        if (myfile.is_open()) {
            while (myfile.good()) {
                getline (myfile,line);
 
                size_t found = line.find(find_param);
                if (found!=string::npos){
                    filtered_library.push_back(line);
                }
            }
            myfile.close();
        }
 
        return filtered_library;
    }
};
 
// Функця для виводу вектора, і очікуваня на натиснення клавіші
void print_vector(vector<string> vect)
{
    for (int i=0; i < vect.size(); i++)
    {               
        cout << " " << vect[i] << endl;
    }
    system("pause");
}
 
void main()
{
    setlocale(LC_CTYPE, "Russian");
    char menu = 0;
    while (true)
    {
        system("cls");
 
        cout << "Диск:" << endl;
        cout << " 1. додати" << endl;
        cout << " 2. показати всi" << endl;
        cout << " 3. знайти" << endl;
        cout <<" 4. видалити все" << endl;
        cout << "q. Вийти" << endl;
 
        cout << "->";
        cin >> menu;
 
        cd_disk *cd = new cd_disk();
        data_base_worker *dbw = new data_base_worker();
        vector<string> library;
        switch(menu)
        {
        case '1':
            char name[100], owner[200];
            int year;
            cout << "Iм'я Рiк Власник: "; 
            scanf("%s %d %s", &name, &year, &owner);
            cd->set_year(year);
            cd->set_owner(owner);
            cd->set_name(name);
            dbw->write_to_file(_file_name, *cd);
            break;
        case '2':
            library = dbw->get_all_library(_file_name);
            print_vector(library);
            break;
        case '3':
            char find_param[200];
            cout << "Параметр пошуку: ";
            cin >> find_param;
            library = dbw->find_in_library(_file_name, find_param);
            print_vector(library);
            break;
        case '4':
            
               (вот в этом месте я не знаю как правильно сделать...)
        case 'q':
            return;
        }
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 00:26     мне нужно удалить в программе файлы библиотеки.при компиляции под цифрой 4.я не знаю как это правильно оформить
Посмотрите здесь:

Нужно удалить слова как это сделать? - C++
Есть такой текст &quot;for do while int void using while&quot; нужно удалить слова &quot;while&quot; как это сделать?

Как много потоков нужно в программе под windows? - C++
Добрый день. Я пишу программу для windows. 1 Подскажите как много потоков вы создавали в своих программах? 2 Почему в стандартной...

Как вставлять файлы в программу при компиляции - C++
Поискав, я не нашел как вставить текст или картинку в программу при компиляции. То есть чтобы на выходе у меня остался только *.exe со...

SQL в программе нужно отчеты сделать не знаю в чем ошибка - C++
готовая программа осталось сделать отчеты на форме 6 уже все прописано и работало приехал домой исправил пару ошибок перестало выручайте...

Ошибка в программе при компиляции - C++
Добрый вечер!!! Рябят, подскажите кто нибудь пожалуйста, что за ошибка в программе вылазиет при компиляции???? Заранее благодарю!!!!!!!!

что не так в программе? Виснет при компиляции - C++
Найти в массиве: 1) сумму элементов с нечётными номерами 2) Сумму элементов между первым и последним отрицательными элементами 3) в...

Ошибка при компиляции в программе с русскими символами - C++
Пытаюсь сделать задание из соседней ветки. Вот код: #include &lt;iostream&gt; int cnt_rus(const wchar_t * line, const wchar_t * rus_line) ...

Не знаю как исправить ошибку в программе - C++
Добрый день. Вот код программы: #pragma argsused #include &lt;iostream.h&gt; #include &lt;time.h&gt; #include &lt;conio.h&gt; void insert (int...

Это печаль. Не знаю как сделать правильную перестановку - C++
Дана целая матрица размерами (n*m) ,n,m&lt;=10. Упорядочить(переставить) строки матрицы по возрастанию количества положительных элементов в...

Не знаю как правильно вывести массив - C++
Помогите найти ошибку.. #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main(int argc, char *argv) { ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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