Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Rwl
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 3
1

Ошибка в выводе данных, класс выводит правильно, а класс в классе - нет

01.12.2014, 07:28. Просмотров 335. Ответов 3
Метки нет (Все метки)

Неизвестная для меня проблема. Класс выводит данные правильно из Consigment, а вот третий экземпляр класса, работает не верно, если обращаться к его полям имя и страна из класса Warehouse
main.cpp
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
#include "lab1.h"
 
istream &operator>>(istream &_cin, Shipping *tm)
{
    int t;
    cin >> t;
    if (t == 1)
        *tm = mediator;
    if (t == 2)
        *tm = supplier;
    if (t == 3)
        *tm = Pickup;
    return _cin;
}
 
int main()
{
    
    char *str1, *str2;
    str1 = new char[256];
    str2 = new char[256];
//  memset(str1, '\0', 256);
//  memset(str2, '\0', 256);
    int d, m, y, s;
 
    cout << " Date : ";
    cin >> d >> m >> y;
    Date D(d, m, y);
 
    Date D1(D);
    D1.Set_Day(11);
    D1.Set_Month(10);
    D1.Set_Year(2014);
    Date D2(D);
    D2.Set_Day(9);
    D2.Set_Month(10);
    D2.Set_Year(2014);
 
 
 
 
    cout << "Name: ";
    cin >> str1;
    cout << "Country: ";
    cin >> str2;
    cout << "Season_number: ";
    cin >> s;
    
    Vegetables V(str1, str2, s);
    Vegetables V1(V);
    V1.Set_Name("Cucumbers");
    V1.Set_Country("Italy");
    V1.Set_Season_number(1);
 
    Vegetables V2(V);
    V2.Set_Name("Tomatoes");
    V2.Set_Country("Ukraine");
    V2.Set_Season_number(4);
 
    int a;
    double p, c;
    cout << " Amount : ";
    cin >> a;
    cout << " Price : ";
    cin >> p;
    cout << " Cost : ";
    cin >> c;
 
    Shipping tm;
    cout << " Shipping type : ";
    cin >> &tm;
    Consignment C(V, tm, a, p, c, D);
 
 
    Consignment C1(C);
    C1.Set_Amount(2);
    C1.Set_Vegetables(V1);
    C1.Set_Shipping(supplier);
    C1.Set_Prise(23.5);
    C1.Set_Date(D1);
    C1.Set_Cost(10.20);
 
    Consignment  C2(C);
    C2.Set_Amount(2);
    C2.Set_Vegetables(V2);
    C2.Set_Shipping(Pickup);
    C2.Set_Prise(20.5);
    C2.Set_Date(D2);
    C2.Set_Cost(7.50);
    
 
    Consignment  C3(C);
    C3.Set_Amount(a);
    //cout << V.Name << "_____" << V.Country << endl;
    C3.Set_Vegetables(V);
    
    C3.Set_Shipping(tm);
    C3.Set_Prise(p);
    C3.Set_Date(D);
    C3.Set_Cost(c); 
 
    int u=1;
    double z=0;
    Consignment *con;
    con = new Consignment[2];
    con[0] = C1;
    con[1] = C2;
    
    /*con[0].Set_Vegetables = C1.Set_Vegetables;
    con[0].Set_Shipping = C1.Set_Shipping;
    con[0].Set_Prise = C1.Set_Prise;
    con[0].Set_Cost = C1.Set_Cost;
    con[0].Set_Date = C1.Set_Date;
    con[0].Set_Amount = C1.Set_Amount;
 
    con[1].Set_Vegetables = C.Set_Vegetables;
    con[1].Set_Shipping = C2.Set_Shipping;
    con[1].Set_Prise = C2.Set_Prise;
    con[1].Set_Cost = C2.Set_Cost;
    con[1].Set_Date = C2.Set_Date;
    con[1].Set_Amount = C2.Set_Amount; */
 
    Warehouse W(u,z,con,2);
    W.Set_Number(1);
    W.Set_Ware_cost(400);
    W.Set_Consignment(con, 2);
    //con[0] = C1;
    //con[1] = C2;
    W.Short_Inform();
    cout << endl
        <<
        " Warehouse#1: " << endl << W << endl;
    
    W.Add_Consignment(C3);
    cout << W.Consignments[2].veget.Name << "_____" << W.Consignments[2].veget.Country << endl;
    cout << endl << " Warehouse#1: " << endl << W << endl;
 
    system("pause");
 
    exit(1);
}

lab1.h
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
#define _CRT_SECURE_NO_WARNINGS
 
#include <iostream>
#include <iomanip>
#include <time.h>
#include <cstring>
#include <ctype.h>
 
using namespace std;
 
//-----------Объект "ДАТА"---------------\\
 
class Date
{
private:
 
    int day,    // день
        month,  // месяц
        year;   // год
 
public:
 
    Date();                             // конструктор 
    Date(int, int, int);                // конструктор с использованием Даты
    Date(const Date &);                 // конструктор копировниия
    ~Date();                            // деструктор
 
    bool Check(int, int, int);          // проверка на корректность введених данних
 
    int Get_Day();              // возвращает День
    int Get_Month();            // возвращает Месяц
    int Get_Year();             // возвращает Год
 
    Date& Set_Day(int);         // модификация День
    Date& Set_Month(int);       // модификация Месяц
    Date& Set_Year(int);        // модификация Год
 
    friend ostream &operator<< (ostream &, Date &); // вывод Дати на консоль 
    friend istream &operator>> (istream &, Date &); // ввод Дати з консоля
//  friend bool &operator>= (Date &, Date &);
 
};
 
 
//----  Тип "Доставка"  -----\\
 
 
enum Shipping { default, mediator, supplier, Pickup };  /*mediator-посредник
                                                        supplier-поставщик
                                                        Pickup-самовывоз */
 
 
//------  Объект "Овощи"(Городина)  -------\\
 
 
class Vegetables
{
private:
 
    
    int Season_number;      //Номер сезона созревания
 
public:
    char *Name;             //Название
    char *Country;          //Страна происхождения 
    Vegetables();                           // конструктор по умолчанию
    Vegetables(char *, char *, int);        // конструктор с использованием названия, страны - постовщика, и номера сезона созревания
    Vegetables(const Vegetables &);         // крнструктор копирования
    ~Vegetables();                          // деструктор
 
    char* Get_Name();           // возвращает Название
    char* Get_Country();        // возвращает Страну происхождения
    int Get_Season_number();    // возвращает Номер сезона созревания
 
    Vegetables& Set_Name(char *);           // модификация Названия
    Vegetables& Set_Country(char *);        // модификация Страны происхождения
    Vegetables& Set_Season_number(int);     // модификация Номера сезона созревания
 
    //  friend istream &operator>> (istream & , Vegetables &);  // ввод Овощей с консоля 
    friend ostream &operator<< (ostream &, Vegetables &);       // вывод Овощей на консоль 
 
};
 
//----------  Объект "Партия товара" -----------\\
 
 
class Consignment
{
private:
 
    
    Shipping ship;      //Доставка
    int Amount;                 //Количество единиц
    double Price;               //Цена за единицу товара
    double Cost;                //Цена за единицу товара(транспортировка)
    Date dat;                   //Дата поставки
 
    
 
public:
    Vegetables veget;   //Овощи
    Consignment();                                                      // конструктор по умолчанию
    Consignment(Vegetables, Shipping, int, double, double, Date);       // конструктор з даними
    Consignment(const Consignment &);                                   // конструктор копирования 
    ~Consignment();                                                     // деструктор
 
    Vegetables Get_Vegetables();        // Возвращение овощей
    Shipping Get_Shipping();            // Возвращение доставки
    int Get_Amount();                   // Возвращение количества единиц
    double Get_Prise();                 // Возвращение цены за ед. товара
    double Get_Cost();                  // Возвращение цены за ед. товара (транспортировка)
    Date Get_Date();                    // Возвращение даты поставки 
 
    Consignment& Set_Vegetables(Vegetables);        // Модификация овощей
    Consignment& Set_Shipping(Shipping);            // Модификация Доставки
    Consignment& Set_Amount(int);                   // Модификация кол-ва единиц
    Consignment& Set_Prise(double);                 // Модификация цены за ед. товара
    Consignment& Set_Cost(double);                  // Модификация цены за ед. товара (транспортировка)
    Consignment& Set_Date(Date);                    // Модификация даты поставки
 
    //  friend istream &operator>> (istream & , Consignment &);     // Ввод Партии товара на консоль
    friend ostream &operator<< (ostream &, Consignment &);          // Вывод Партии товара на консоль
 
};
 
 
//----------  Объект "Склад" -----------\\
 
 
class Warehouse
{
private:
    int Number;                 //Номер Склада
    double Ware_cost;           //Стоимость содержания помещения 
    
    int Amount;                 //Количество Партий товаров, прибывших на склад
 
 
 
public:
    Consignment *Consignments;  //Партии товаров
    Warehouse();                                    // конструктор по умолчанию
    Warehouse(int, double, Consignment *, int);     // конструктор з даними
    Warehouse(const Warehouse &);                   // конструктор копирования 
    ~Warehouse();                                   // деструктор
 
    int Get_Number();               // Возвращение Номер склада
    double Get_Ware_cost();         // Возвращение Стоимость содержания помещения
    Consignment* Get_Consignment(); // Возвращаем Партии товаров
    
 
    Warehouse& Set_Number(int);                     // Модификация Номера склада
    Warehouse& Set_Ware_cost(double);               // Модификация Стоимости орендв помещения
    Warehouse& Set_Consignment(Consignment*, int);  // Модификация Партий товаров
    
    void Add_Consignment(Consignment);          //Принятие на склад товара
    void Sub_Consignment(Consignment);          //Спасание товара со склада
    void Short_Inform();                        //Вывод сокрощенной информ. на экран
    friend ostream &operator<< (ostream &, Warehouse &);            // Вывод Склада на консоль
 
};
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2014, 07:28
Ответы с готовыми решениями:

Ошибка при выводе 1-го элемента массива, но правильно выводит последний
Помогите пожалуйста найти ошибку (почему не выводит переменную а?): #include...

Класс таблиц баз данных и класс записей в таблице(реляционная таблица). Предусмотреть класс связей между таблицами
Здравствуйте! Никак не могу продумать структуру этой программы. Проходим...

Указатели в базовом классе на базовый класс и производный класс
Пишу контейнер &quot;Бинарное дерево поиска&quot; для частотного словаря. С самим...

Абстрактный класс, наследование, класс хранится в другом классе
Нужна помощь. Написать программу: 1 класс. Имеется абстрактный класс который...

Отдельно класс данных, класс формул и главный класс
Здравствуйте! У меня есть три вопроса. Первый вопрос. Скажите пожалуйста!...

3
Rwl
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 3
01.12.2014, 07:40  [ТС] 2
lab1.cpp
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
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
#define _CRT_SECURE_NO_WARNINGS
#include "lab1.h"
 
//-----------Объект "ДАТА"---------------\\
 
Date::Date()
{
    /*time_t t;
    time(&t);
    tm *tk;
    tk = localtime(&t);
    day = tk->tm_mday;
    month = tk->tm_mon + 1;
    year = tk->tm_year + 1900;*/
    day = 17;
    month = 11;
    year = 2014;
}
 
Date::Date(int Day, int Month, int Year)
{
    if (Check(Day, Month, Year))
    {
        day = Day;
        month = Month;
        year = Year;
    }
    else
        exit(1);
}
 
Date::Date(const Date &date)
{
    day = date.day;
    month = date.month;
    year = date.year;
}
 
Date :: ~Date()
{
    /*day = 0;
    month = 0;
    year = 0;*/
}
 
bool Date::Check(int Day, int Month, int Year)   // проверяем корректность ввода  данных
{
    if ((Month = 1) || (Month = 3) || (Month = 5) || (Month = 7) || (Month = 8) || (Month = 10) || (Month = 12))
    {
        if (Day > 0 && Day <= 31 &&
            Year >= 0)
            return true;
    }
    
    if ((Month = 4) || (Month = 6) || (Month = 9) || (Month = 11))
    {
        if (Day > 0 && Day <= 30 &&
            Year >= 0)
            return true;
    }
        
    if (Month=2 &&
        Day > 0 && Day <= 28 &&
        Year >= 0)
        
        return true;
    else
        return false;
}
 
int Date::Get_Day()     // возвращает День
{
    return day;
}
 
int Date::Get_Month()   // возвращает Месяц
{
    return month;
}
 
int Date::Get_Year()    // возвращает Год
{
    return year;
}
 
Date& Date::Set_Day(int Day)            // модификация День
{
    if (Check(Day, month, year))
        day = Day;
    else
        exit(1);
    return *this;
}
 
Date& Date::Set_Month(int Month)        // модификация Месяц
{
    if (Check(day, Month, year))
        month = Month;
    else
        exit(1);
    return *this;
}
 
Date& Date::Set_Year(int Year)          // модификация Год
{
    if (Check(day, month, Year))
        year = Year;
    else
        exit(1);
    return *this;
}
ostream &operator<< (ostream &_cout, Date &date)
{
    _cout << endl;
    if (date.Get_Day() < 10)
        _cout << " 0" << date.Get_Day() << ".";
    else
        _cout << " " << date.Get_Day() << ".";
    if (date.Get_Month() < 10)
        _cout << "0" << date.Get_Month() << ".";
    else
        _cout << date.Get_Month() << ".";
    if (date.Get_Year() < 1000)
    {
        _cout << "0";
        if (date.Get_Year() < 100)
        {
            _cout << "0";
            if (date.Get_Year() < 10)
                _cout << "0" << date.Get_Year() << ";" << endl;
            else
                _cout << date.Get_Year() << ";" << endl;
        }
        else
            _cout << date.Get_Year() << ";" << endl;
    }
    else
        _cout << date.Get_Year() << ";" << endl;
    return _cout;
}
 
istream &operator>> (istream &_cin, Date &date)
{
    _cin >> date.day >> date.month >> date.year;
    if (!date.Check(date.day, date.month, date.year))
        exit(1);
    return _cin;
}
 
/*bool &operator>= (Date &d1, Date &d2)
{
    bool t = true, f = false;
    if (d1.year > d2.year)
        return t;
    if (d1.year < d2.year)
        return f;
    if (d1.year == d2.year)
    {
        if (d1.month > d2.month)
            return t;
        if (d1.month < d2.month)
            return f;
        if (d1.month == d2.month)
        {
            if (d1.day > d2.day)
                return t;
            if (d1.day < d2.day)
                return f;
            if (d1.day == d2.day)
                return t;
        }
    }
}*/
 
 
//------  Объект "Овощи"(Городина)  -------\\
 
Vegetables::Vegetables() 
{
    Name = new char[256];
    Name = NULL;
    Country = new char[256];
    Country = NULL;
 
}
 
Vegetables:: Vegetables(char *name, char *country, int n )
{
    Name = new char[strlen(name) + 1];
    //memset(Name, 0, 257);
    strcpy(Name, name);
    Country = new char[strlen(country) + 1];
    //memset(Country, 0, 257);
    strcpy(Country, country);
    Season_number = n;
}
 
Vegetables::Vegetables(const Vegetables &V)
{
    Name = new char[strlen(V.Name) + 1];
    //memset(Name, 0, 257);
    strcpy(Name, V.Name);
    Country = new char[strlen(V.Country) + 1];
    //memset(Country, 0, 257);
    strcpy(Country, V.Country);
    Season_number = V.Season_number;
} 
 
Vegetables :: ~Vegetables()
{
    if (Name)
        delete[] Name;
    if (Country)
        delete[] Country;
 
}
 
char* Vegetables:: Get_Name()
{
    return Name;
}
 
char* Vegetables::Get_Country()
{
    return Country;
}
 
int Vegetables::Get_Season_number()
{
    return Season_number;
}
 
Vegetables& Vegetables::Set_Name(char *name)
{
    Name = new char[strlen(name) + 1];
    //memset(Name, 0, 257);
    strcpy(Name, name);
    return *this;
}
 
Vegetables& Vegetables::Set_Country(char *country)
{
    Country = new char[strlen(country) + 1];
    //memset(Country, 0, 257);
    strcpy(Country, country);
    return *this;
}
 
Vegetables& Vegetables::Set_Season_number(int n)
{
    Season_number = n;
    return *this;
}
 
ostream &operator <<(ostream & _cout, Vegetables &V)
{
    _cout << endl << "Name of vegetables : " << V.Name << endl <<
        "Country : " << V.Country << endl <<
        "Number of season:" << V.Season_number << endl;
    return _cout;
}
 
//----------  Объект "Партия товара" -----------\\
 
 
Consignment::Consignment()
 
 {
 
    Vegetables V;
    Shipping S;
    Date D;
 
    veget = V;          //Овощи
    ship = (Shipping)0;         //Доставка
    Amount = 0;         //Количество единиц
    Price = 0;          //Цена за единицу товара
    Cost = 0;           //Цена за единицу товара(транспортировка)
    dat = D;            //Дата поставки
}
 
Consignment::Consignment(Vegetables V, Shipping S, int a, double p, double c, Date D)
{
    veget.Set_Name(V.Get_Name());
    veget.Set_Country(V.Get_Country());
    veget.Set_Season_number(V.Get_Season_number());
    ship = S;
    dat = D;
    if ((p < 0) || (c < 0))
        exit(1);
    Amount = a;
    Cost = c;
    Price = p;
 
}
    
Consignment::Consignment(const Consignment &C)
{
    veget = C.veget;
    ship = C.ship;
    dat = C.dat;
    Amount = C.Amount;
    Cost = C.Cost;
    Price = C.Price;
}
 
Consignment:: ~Consignment()
{
    
}
 
Vegetables Consignment::Get_Vegetables()
{
    return veget;
}
 
Shipping Consignment::Get_Shipping()
{
    return ship;
}
 
int Consignment::Get_Amount()
{
    return Amount;
}
 
double Consignment::Get_Prise()
{
    return Price;
}
 
double Consignment::Get_Cost()
{
    return Cost;
}
 
Date Consignment::Get_Date()
{
    return dat;
}
 
Consignment& Consignment::Set_Vegetables(Vegetables V)
{
    veget.Set_Name(V.Get_Name());
    veget.Set_Country(V.Get_Country());
    veget.Set_Season_number(V.Get_Season_number());
    return *this;
}
 
Consignment& Consignment::Set_Shipping(Shipping S)
{
    ship = S;
    return *this;
}
 
Consignment& Consignment::Set_Amount(int a)
{
    Amount = a;
    return *this;
}
 
Consignment& Consignment::Set_Prise(double p)
{
    if (p < 0)
        exit(1);
    Price = p;
    return *this;
}
 
Consignment& Consignment::Set_Cost(double c)
{
    if (c < 0)
        exit(1);
    Cost = c;
    return *this;
}
Consignment& Consignment::Set_Date(Date D)
{
    dat = D;
    return *this;
}
 
ostream &operator<< (ostream &cout, Consignment &C)
{
    cout << endl << "Vegetables : " << C.veget <<
        endl << "Type of shipping : " << C.ship <<
        endl << "Amout : " << C.Amount <<
        endl << "Price : " << C.Price <<
        endl << "Cost : " << C.Cost <<
        endl << "Date : " << C.dat <<
        endl << "----------------------------------------------------------" << endl;
    return cout;
}
0
Rwl
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 3
01.12.2014, 07:41  [ТС] 3
продолжение lab1.cpp
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
//----------  Объект "Склад" -----------\\
 
Warehouse::Warehouse()
{
    Number = 1;
    Ware_cost = 0;
    Consignments = new Consignment[100];
    //
    Consignments = NULL;
    Amount = 0;
 
}
 
Warehouse::Warehouse(int i, double c, Consignment *con, int n)
{
    
    if (c < 0)
        exit(1);
    Consignments = new Consignment[n];
    for (int j = 0; j < n; j++)
        Consignments[j] = con[j];
    Number = i;
    Ware_cost = c;
    Amount = n;
}
 
Warehouse::Warehouse(const Warehouse &W)
{
    Amount = W.Amount;
    Consignments = new Consignment[W.Amount];
    for (int j = 0; j < W.Amount; j++)
        Consignments[j] = W.Consignments[j];
    Number = W.Number;
    Ware_cost = W.Ware_cost;
}
 
Warehouse:: ~ Warehouse()
{
//  delete[] Consignments;
}
 
int Warehouse::Get_Number()
{
    return Number;
}
 
Consignment* Warehouse::Get_Consignment()
{
    return Consignments;
}
double Warehouse::Get_Ware_cost()
{
    return Ware_cost;
}
 
Warehouse& Warehouse::Set_Number(int i)
{
    if (i < 0)
        exit(1);
    return *this;
}
Warehouse& Warehouse::Set_Ware_cost(double c)
{
    if (c < 0)
        exit(1);
    return *this;
}
 
Warehouse& Warehouse::Set_Consignment(Consignment *con, int n)
{
    Consignments = new Consignment[n];
    for (int j = 0; j < n; j++)
        Consignments[j] = con[j];
    Amount = n;
    return *this;
}
 
void Warehouse::Add_Consignment(Consignment C)
{   
    Consignment* Con;
    
    Con = new Consignment[Amount + 1];
    for (int j = 0; j <  Amount; j++)
        Con[j] = Consignments[j];   
    Con[Amount] = C;
    
    //delete[] Consignments;
    Consignments = new Consignment[Amount + 1];
    //Consignments = Con;
    for (int j = 0; j < Amount+1; j++)
    {Consignments[j] = Con[j];
    cout <<"Cons:"<<j<<"_____" <<Consignments[j].veget.Name << endl;}
    Amount++;
    //delete[] Con; 
}
 
void Warehouse:: Sub_Consignment(Consignment C)
{
    Consignment* Con;
    Con = new Consignment[Amount-1];
    int k = 0;
    for (int j = 0; j < Amount; j++)
    
    if ((C.Get_Vegetables().Get_Country()== Consignments[j].Get_Vegetables().Get_Country())
        && (C.Get_Vegetables().Get_Name() == Consignments[j].Get_Vegetables().Get_Name())
        && (C.Get_Vegetables().Get_Season_number() == Consignments[j].Get_Vegetables().Get_Season_number())
        && (C.Get_Amount() == Consignments[j].Get_Amount())
    &&(C.Get_Cost() == Consignments[j].Get_Cost())
    &&(C.Get_Date().Get_Day() == Consignments[j].Get_Date().Get_Day())
    &&(C.Get_Date().Get_Month() == Consignments[j].Get_Date().Get_Month())
    && (C.Get_Date().Get_Year() == Consignments[j].Get_Date().Get_Year())
    &&(C.Get_Prise() == Consignments[j].Get_Prise())
    &&(C.Get_Shipping() == Consignments[j].Get_Shipping()))
        k = j;
 
        for (int j = 0; j < k; j++)
            Con[j] = Consignments[j];
        for (int j = k; j < Amount - 1; j++)
            Con[j] = Consignments[j + 1];
        for (int j = 0; j < Amount; j++)
            Consignments[j] = Con[j];
        delete[] Con;
        
}
 
void Warehouse::Short_Inform()
{
    double S = 0;
    cout << endl << "Short Information:" << endl << "Warehouse" << endl;
    
    for (int i = 0; i < Amount; i++)
        S = S + (double) (Consignments[i].Get_Prise() * Consignments[i].Get_Amount());
    cout << endl << "Total amount=" << S << endl;
    
}
 
ostream &operator <<(ostream &cout, Warehouse &W)
{
cout << "________________________________________________________________" <<
        endl << "Number of Warehouse : " << W.Number <<
        endl << "The cost of maintaining a warehouse : " << W.Ware_cost << endl;
    for (int i = 0; i < W.Amount; i++)
        cout << "Consignments" << i + 1 << ":" << endl << W.Consignments[i];
    return cout;
 
}
0
Max Dark
шКодер самоучка
1970 / 1746 / 861
Регистрация: 09.10.2013
Сообщений: 3,855
Записей в блоге: 6
Завершенные тесты: 2
01.12.2014, 09:03 4
6я строка
Цитата Сообщение от Rwl Посмотреть сообщение
cin >> t;
отсутствует "_" перед cin
строка 178
Цитата Сообщение от Rwl Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Vegetables::Vegetables() 
{
* * Name = new char[256]; // выделяем память
* * Name = NULL; // и сразу забываем.
// ну а что? у пользователя сейчас на компе ее 10ки гигабайт.
// кончится физическая, ничо, в своп скинем - харды то на террабайты уже выпускают
 
    Country = new char[256]; // и такая ерунда по всему коду
    Country = NULL;
}
// ....
Vegetables::Set_Name(char *name)
{
* * Name = new char[strlen(name) + 1]; // опять же теряем выделенную до этого память
* * //memset(Name, 0, 257);
* * strcpy(Name, name);
* * return *this;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2014, 09:03

Почему выдаётся ошибка. В классе создан класс в котором объявлен массив
У меня ошибка(Ошибка 1 error C2536: image::image::pixels: нельзя задавать явный...

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени?
На самом деле ничё фантастического я не прошу, ведь: template &lt;class T&gt; class...

Класс "Матрица", ошибка при выводе результата
Всем доброго времени суток! Нужно под main создать header и реализацию! Я...


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

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

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