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

Использование классов - C++

Восстановить пароль Регистрация
 
wankstahamsta
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
06.11.2013, 19:24     Использование классов #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
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
#include <iostream>
#define N 5
using namespace std;
class electronic_store 
{   
    char item[50];
    int price;
    int number;
    int section;
    
public:
    void define();              
    int get_price(){ return price;}
    int get_sec(){ return section;}
    class electronic_store *st_ob;       
    electronic_store();             
    ~electronic_store();                
    int section_sum(int sec);   
};
 
int main()
{
    electronic_store obj;
    for(int i=0; i<N; i++)
        obj.st_ob[i].define();
    cout<<"Input section needed ";
    int s;
    cin >> s;
    cout<<"The sum of needed section items is "<<obj.section_sum(s);
    cout<<endl;
    system("PAUSE");
    return 0;
};
 
void electronic_store::define()
{
        cout<<"Input an item: ";cin>>item;
        cout<<"Input a price: ";cin>>price;
        cout<<"Input an number: ";cin>>number;
        cout<<"Input a section: ";cin>>section;
        cout<<endl;
}
electronic_store::electronic_store()
{
    st_ob = new electronic_store[N];
}
int electronic_store::section_sum(int sec)
{
    int sum=0;
    for(int i=0; i<N; i++)
        if(st_ob[i].get_sec()==sec) sum+=st_ob[i].get_price();//
    return sum;
}
electronic_store::~electronic_store()
{
    delete [] st_ob;
}
P.S. Программа определяет класс для электронного склада (наименование , цена, количество товара, секция склада). Вводятся с клавиатуры данные о 5 позициях склада . Создается метод для подсчета суммы товаров заданной секции.
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2013, 19:24     Использование классов
Посмотрите здесь:

Совместное использование классов C++
C++ Использование классов
Создание и использование классов C++
Использование классов C++
Использование классов Worda C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
06.11.2013, 19:29     Использование классов #2
wankstahamsta, а какие ошибки выдает?
и вот это "class electronic_store *st_ob;" как? Я что то пропустил?
wankstahamsta
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
06.11.2013, 19:32  [ТС]     Использование классов #3
в логе просто написано завершено с ошибками и все никаких комментариев ничего
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
06.11.2013, 19:36     Использование классов #4
wankstahamsta, я вот честно, не понял, что это за строка "class electronic_store *st_ob;". Что она делает?
newbie666
Заблокирован
06.11.2013, 19:36     Использование классов #5
C++
1
2
3
4
electronic_store::electronic_store()
{
    st_ob = new electronic_store[N];
}
надо убрать создание экземпляров самого себя из конструктора, у вас же тут дикая рекурсия, понимаете?
wankstahamsta
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
06.11.2013, 19:42  [ТС]     Использование классов #6
про рекурсию понял, как убрать не понял
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
06.11.2013, 19:46     Использование классов #7
wankstahamsta, я бы на вашем месте сделал динамический список в классе. Так реально проще и надежнее
wankstahamsta
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
06.11.2013, 19:54  [ТС]     Использование классов #8
Дело в том, что программа не моя, а сам я не шарю.Думал что попроще будет исправить, а так я даже не понимаю, что вы предлагаете.
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
06.11.2013, 19:58     Использование классов #9
wankstahamsta,

Не по теме:

а автор программы он в курсе, что не запускается? Или вы потом сами меняли ее?

wankstahamsta
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
06.11.2013, 20:00  [ТС]     Использование классов #10
вот изначальный рабочий код
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
#include <iostream>
#define N 5
using namespace std;
class store    
{                   
    char item[50];
    int price;
    int number;
    int section;
public:
    void define();              
    int get_price(){ return price;}
    int get_sec(){ return section;}
};
class electronic_store 
{               
public:
    class store *st_ob;      
    electronic_store();             
    ~electronic_store();                
    int section_sum(int sec);   
};
 
int main()
{
    electronic_store obj;
    for(int i=0; i<N; i++)
        obj.st_ob[i].define();
    cout<<"Input section needed ";
    int s;
    cin >> s;
    cout<<"The sum of needed section items is "<<obj.section_sum(s);
    cout<<endl;
    system("PAUSE");
    return 0;
};
 
void store::define()
{
        cout<<"Input an item: ";cin>>item;
        cout<<"Input a price: ";cin>>price;
        cout<<"Input an number: ";cin>>number;
        cout<<"Input a section: ";cin>>section;
        cout<<endl;
}
electronic_store::electronic_store()
{
    st_ob = new store[N];
}
int electronic_store::section_sum(int sec)
{
    int sum=0;
    for(int i=0; i<N; i++)
        if(st_ob[i].get_sec()==sec) sum+=st_ob[i].get_price();//
    return sum;
}
electronic_store::~electronic_store()
{
    delete [] st_ob;
}
но мне нужно чтобы класс был один
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
06.11.2013, 20:06     Использование классов #11
wankstahamsta, ну вот у него примерно также и реализовано, как я предлагал. Если нужен строго 1 класс, сделайте вместо store структуру с полями char item[50]; int price; int number; int section;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2013, 20:18     Использование классов
Еще ссылки по теме:

Использование классов C++
Использование классов C++
C++ Использование классов

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

Или воспользуйтесь поиском по форуму:
wankstahamsta
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
06.11.2013, 20:18  [ТС]     Использование классов #12
ясно, спасибо
Yandex
Объявления
06.11.2013, 20:18     Использование классов
Ответ Создать тему
Опции темы

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