0 / 0 / 0
Регистрация: 19.02.2019
Сообщений: 52
1

Классы С++

28.05.2019, 17:19. Показов 254. Ответов 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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
#include <iostream>
#include <Windows.h>
#include <fstream>
#include <vector>
#include <string>
 
using namespace std;
 
class App
{
 
protected:
 
    string AppName; //sort
    string System; //find
    int AppSize;
    string Date;
    
    /*int Inventory_number;
    string Author;// Параметр поиска(Автор)
    string NameBook;
    int number_of_pages;
    int year_of_publication;//сортировка по году
 
 
public:
 
    //library(int InvN, string Atr, string NB, int NofP, int YofP);
    App(string AppName, string System, int AppSize, string Date);
    App();
    void AddInf();
    void Print();
    void Sort();
    void EditData();
 
    /*int SetINVN()
    {
        return Inventory_number;
    }
    string GetAuthor()
    {
        return Author;
    }*/
    string SetAppName()
    {
        return AppName;
    }
    string GetSystem()
    {
        return System;
    }
 
};
vector < App > vecLib;
 
class Archive : public App
{
 
public:
    Archive() :App()
    {}
    //Viddil(int InvN, string Aut, string NB, int NofP, int YofP) :library(InvN, Aut, NB, NofP, YofP)
    Archive(string AppName, string System, int AppSize, string Date) : App(AppName, System, AppSize, Date)
 
    {}
 
    void NAME();
    void OS();
};
 
Archive M2;
void Archive::NAME()
{
    ofstream fout("NAME.txt", ios_base::app);
    cout << "\nApp Name \n";
    for (int i = 0; i < vecLib.size(); ++i)
    {
        string s = vecLib[i].GetSystem();
        cout << s << endl;
        fout << s << endl;
    }
    fout.close();
}
void Archive::OS()
{
    ofstream fout("NAME.txt", ios_base::app);
    cout << "\tOS \n";
    for (int i = 0; i < vecLib.size(); ++i)
    {
        string b = vecLib[i].GetSystem();
        cout << b << endl;
        fout << b << endl;
    }
    fout.close();
}
 
 
using namespace std;
/*library::library(int InvN, string Aut, string NB, int NofP, int YofP)
{
    Inventory_number = InvN;
    Author = Aut;
    NameBook = NB;
    number_of_pages = NofP;
    year_of_publication = YofP;*/
App::App(string Name, string OS, int Size, string D)
{
    AppName = Name;
    System = OS;
    AppSize = Size;
    Date = D;
    
}
 
App::App()
{
    /*Inventory_number = NULL;
    Author = "";
    NameBook = "";
    number_of_pages = NULL;
    year_of_publication = NULL;*/
 
    AppName = "";
    System = "";
    AppSize = NULL;
    Date = "";
}
void App::AddInf()
{
    cout << "\tINFORMATION\n";
    cout << " App name: ";
    cin >> AppName;
    cout << "OS: ";
    cin >> System;
    cout << "Size of app: ";
    cin >> AppSize;
    cout << "The date of recording: ";
    cin >> Date;
}
 
void Print()
{
    cout << "|App name N\t OS \tSize of app\tThe date of recording\n";
    cout << "|---------------------------------------------------|\n";
    for (auto it = vecLib.begin(); it != vecLib.end(); it++)
    {
        it->Print();
    }
}
void App::Print()
{
    cout << "| " << AppName << "\t" << System << "\t" << AppSize << "\t" << Date << "\t" << "\n";
    cout << "|---------------------------------------------------|\n";
}
void SAVEclass(App M1)
{
    ofstream fileOF("myFile.txt", ios_base::app);
    fileOF.write((char*)&M1, sizeof(M1));
    fileOF.close();
}
App M1;
void READfile()
{
 
    ifstream fileOF;
    fileOF.open("myFile.txt", ios_base::in);
    while (true)
    {
        fileOF.read((char*)&M1, sizeof(App));
        if (fileOF.eof())
            break;
 
        vecLib.push_back(M1);
 
    }
    fileOF.close();
}
void Search()
{
    string appnamestring;
    cout << "\n Enter the app name:  ";
    cin >> appnamestring;
    ifstream fileOF;
    fileOF.open("myFile.txt", ios_base::in);
    while (true)
    {
        fileOF.read((char*)&M1, sizeof(App));
        if (fileOF.eof())
            break;
        if (appnamestring == M1.GetSystem())
            M1.Print();
    }
    fileOF.close();
 
}
void App::EditData()
{
    string text;
    cout << "\text\n";
    cin >> text;
    for (auto it = vecLib.begin(); it != vecLib.end(); it++)
    {
        if (text == it->SetAppName())
        {
            /*it->Print();
            cout << "\tNew Info\n";
            cout << " Inventory_number : ";
            cin >> it->Inventory_number;
            cout << " Author : ";
            cin >> it->Author;
            cout << " NameBook : ";
            cin >> it->NameBook;
            cout << " number_of_pages : ";
            cin >> it->number_of_pages;
            cout << " year_of_publication :";
            cin >> it->year_of_publication;*/
 
            it->Print();
            cout << "\tNew Info\n";
            cout << " App name: ";
            cin >> it->AppName;
            cout << "OS: ";
            cin >> it->System;
            cout << "Size of app: ";
            cin >> it->AppSize;
            cout << "The date of recording: ";
            cin >> it->Date;
            return;
        }
    }
    cout << "ERROR - " << text << endl;
}
 
void App::Sort()
{
    for (auto it1 = vecLib.begin(); it1 != vecLib.end(); it1++)
    {
        for (auto it2 = vecLib.begin(); it2 != vecLib.end(); it2++)
        {
            if (it1->AppName < it2->AppName)
            {
                App m1 = *it1;
                App m2 = *it2;
                *it1 = m2;
                *it2 = m1;
            }
        }
    }
    cout << "\n\tSORT GOOD!\n\n";
}
int MENU()
{a
    int key;
    cout << "\n |++++++++++++++++++++++++++++|\n";
    cout << " |------------MENU------------|\n";
    cout << " | 1# ADD Information         |\n";
    cout << " | 2# PRINT Information       |\n";
    cout << " | 3# SEARCH Information      |\n";
    cout << " | 4# Delete                  |\n";
    cout << " | 5# Edit Entry              |\n";
    cout << " | 6# Sort(name)              |\n";
    cout << " | 7# AppName                 |\n";
    cout << " | 8# OS                      |\n";
    cin >> key;
    return key;
}
int main()
{
    App M1;
    setlocale(0, "");
    READfile();
 
    while (true)
    {
        switch (MENU())
        {
        case 1: M1.AddInf();  SAVEclass(M1); vecLib.push_back(M1);
            break;
        case 2: Print();
            break;
        case 3: Search();  cout << "|App name N\t OS \tSize of app\tThe date of recording\n";
            break;
        case 4:
        {
            int Inv_n;
            cout << "Enter the index: ";
            cin >> Inv_n;
            vecLib.erase(vecLib.begin() + Inv_n);
        } break;
        case 5:
 
            M1.EditData();
 
            break;
        case 6: M1.Sort(); break;
        case 7: M2.NAME(); break;
        case 8: M2.OS();  break;
        case 9:
        default:
            cout << "  !!ERR0R!!  \n";
            break;
        }
    }
}
взял этот:
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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
#include "pch.h"
#include <iostream>
#include <Windows.h>
#include <fstream>
#include <vector>
#include <string>
 
using namespace std;
 
class library
{
 
protected:
 
    int Inventory_number;
    string Author;// Параметр пошуку (Автор)
    string NameBook;
    int number_of_pages;
    int year_of_publication;//соруваня по (Рік видання)
 
 
public:
 
    library(int InvN, string Atr, string NB, int NofP, int YofP);
    library();
    void add_Iformation();
    void Print();
    void Sort();
    void EditData();
    
    int SetINVN()
    {
        return Inventory_number;
    }
    string GetAuthor()
    {
        return Author;
    }
 
};
vector < library > vecLib;
 
class Viddil : public library
{
 
public:
    Viddil() :library()
    {}
    Viddil(int InvN, string Aut, string NB, int NofP, int YofP) :library(InvN, Aut, NB, NofP, YofP)
    {}
 
     void AUTHOR();
     void BOOKS();
};
Viddil M2;
void Viddil::AUTHOR()
{
    ofstream fout("AUTHOR.txt",ios_base::app);
    cout << "\nTHE AUTHOR \n";
    for (int i = 0; i < vecLib.size(); ++i)
    {
        string s = vecLib[i].GetAuthor();
        cout << s << endl;
        fout << s << endl;
    }
    fout.close();
}
void Viddil::BOOKS()
{
    ofstream fout("AUTHOR.txt",ios_base::app);
    cout << "\tTHE BOOKS\n";
    for (int i = 0; i < vecLib.size(); ++i)
    {
        string b = vecLib[i].GetAuthor();
        cout << b << endl;
        fout << b << endl;
    }
    fout.close();
}
 
 
using namespace std;
library::library(int InvN, string Aut, string NB, int NofP, int YofP)
{
    Inventory_number = InvN;
    Author = Aut;
    NameBook = NB;
    number_of_pages = NofP;
    year_of_publication = YofP;
}
library::library()
{
    Inventory_number = NULL;
    Author = "";
    NameBook = "";
    number_of_pages = NULL;
    year_of_publication = NULL;
}
void library::add_Iformation()
{
    cout << "\tINFORMATION\n";
    cout << " Inventory_number : ";
    cin >> Inventory_number;
    cout << " Author : ";
    cin >> Author;
    cout << " NameBook : ";
    cin >> NameBook;
    cout << " number_of_pages : ";
    cin >> number_of_pages;
    cout << " year_of_publication :";
    cin >> year_of_publication; 
}
void print_information()
{
    cout << "| Inventory N\t Author \tName Book\tPages\tpublication |\n";
    cout << "|-------------------------------------------------------------------|\n";
    for (auto it = vecLib.begin(); it != vecLib.end(); it++)
    {
        it->Print();
    }
}
void library::Print()
{
    cout << "| " << Inventory_number << "\t" << Author << "\t" << NameBook << "\t" <<number_of_pages << "\t" << year_of_publication << "\n";
    cout << "|-------------------------------------------------------------------|\n";
}
void SAVEclass(library M1)
{
    ofstream fileOF("myFileOF.txt", ios_base::app);
    fileOF.write((char*)&M1, sizeof(M1));
    fileOF.close(); 
}
library M1;
void READfile()
{
    
    ifstream fileOF;
    fileOF.open("myFileOF.txt",ios_base::in);
    while (true)
    {
        fileOF.read((char*)&M1, sizeof(library));
        if (fileOF.eof())
            break;
 
        vecLib.push_back(M1);
 
    }
    fileOF.close();
}
void search_INF()
{
    string VD;
    cout<<"\n Enter the author:  ";
    cin>>VD;
    ifstream fileOF;
    fileOF.open("myFileOF.txt", ios_base::in);
    while (true)
    {
        fileOF.read((char*)&M1, sizeof(library));
        if (fileOF.eof())
            break;
        if(VD==M1.GetAuthor())
        M1.Print();
    }
    fileOF.close();
        
}
void library::EditData()
{
    int index;
    cout << "\nINDEX\n";
    cin >> index;
    for (auto it = vecLib.begin(); it != vecLib.end(); it++)
    {
        if (index == it->SetINVN())
        {
            it->Print();
            cout << "\tnew INFORMATION\n";
            cout << " Inventory_number : ";
            cin >>it->Inventory_number;
            cout << " Author : ";
            cin >> it->Author;
            cout << " NameBook : ";
            cin >> it->NameBook;
            cout << " number_of_pages : ";
            cin >> it->number_of_pages;
            cout << " year_of_publication :";
            cin >> it->year_of_publication;
 
            return;
        }
    }
    cout << "ERROR - " << index << endl;
}
 
void library::Sort()
{
    for (auto it1 = vecLib.begin(); it1 != vecLib.end(); it1++)
    {
        for (auto it2 = vecLib.begin(); it2 != vecLib.end(); it2++)
        {
            if (it1->year_of_publication < it2->year_of_publication)
            {
                library m1 = *it1;
                library m2 = *it2;
                *it1 = m2;
                *it2 = m1;
            }
        }
    }
    cout << "\n\tSORT GOOD!\n\n";
}
int MENU()
{
    int kay;
    cout << "\n |++++++++++++++++++++++++++++|\n";
    cout << " |------------MENU------------|\n";
    cout << " | 1# ADD Information         |\n";
    cout << " | 2# PRINT Information       |\n";
    cout << " | 3# SEARCH Information      |\n";
    cout << " | 4# Delete                  |\n";
    cout << " | 5# Edit Entry              |\n";
    cout << " | 6# Sort(YofP)              |\n";
    cout << " | 7# AUTH0R                  |\n";
    cout << " | 8# BOOKS                   |\n";
    cin >> kay;
    return kay;
}
int main()
{
    library M1;
    setlocale(0, "");
    READfile();
 
    while (true)
    {
        switch (MENU())
        {
        case 1: M1.add_Iformation();  SAVEclass(M1); vecLib.push_back(M1);
            break;
        case 2: print_information();
            break;
        case 3: search_INF();  cout << "| Inventory N\t Author \tName Book\tPages\tpublication |\n";
            break;
        case 4:
        {
            int Inv_n;
            cout << "Enter the index: ";
            cin >> Inv_n;
            vecLib.erase(vecLib.begin() + Inv_n);
        } break;
        case 5:
                
            M1.EditData();
        
            break;
        case 6: M1.Sort();break;
        case 7: M2.AUTHOR(); break;
        case 8: M2.BOOKS();  break;
        case 9: 
        default:
            cout << "  !!ERR0R!!  \n";
            break;
        }
    }
}
Столкнулся с проблемой, что при запуске моего кода в консоль ничего не выводиться, но стремительно возрастает потребление ОП. С чем может быть связаня проблема?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2019, 17:19
Ответы с готовыми решениями:

Непонятна тема (Классы содержащие другие классы, как данные члены )
Изучаю книгу Джесс Либерти(в частности эту главу в данный момент) #include &lt;iostream&gt; class...

Программа по классам, которая использует классы точек и прямых на плоскости, а, возможно, и другие классы
Нужно написать программу, которая использует классы точек и прямых на плоскости, а, возможно, и...

Как struct Queue и его операции превратить в классы, то есть нужно сделать тоже самое, но через классы
Как struct Queue и его операции превратить в классы, то есть нужно сделать тоже самое, но используя...

Наследование, базовые классы и производные классы
Добрый вечер.Задание: необходимо разработать поля и методы наследуемые из базового класса и...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2019, 17:19
Помогаю со студенческими работами здесь

Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.)
Уважаевые, помогите написать прожку на экзамене: Создать класс 3D фигура, и производные классы...

Классы возможностей(Mixin классы)
Не могу понять смысла использования mixin классов( это класс в котором есть только методы и нет...

Классы, включающие другие классы
Столкнулся вот с таким кодом: #include &lt;iostream&gt; class Point { public: void SetX(int x) ...

классы/дочерние классы/методы
помогите пожалуйста! надо что выводились только учебеники. чтоб былo через GetTip. h файл...

Проблема в понимании ООП(абстрактные классы, классы интерфейсы)
Всем здравия. Читал в свое время разные книги(к примеру, Гради Буч по проектированию) вроде все...

Определить классы абстрактного выражения и классы для различных типов выражений
помогите Реализовать объектно-ориентированную модель, определяет математическое выражение,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru