Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45

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

06.11.2013, 19:24. Показов 1010. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не хочет запускаться, помогите найти ошибку
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 позициях склада . Создается метод для подсчета суммы товаров заданной секции.
Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2013, 19:24
Ответы с готовыми решениями:

Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов
Здравствуйте!!! Я бы хотел попросить помоч решить...ну или скинуть примеры таких задач, если вдруг у вас они завалялись на компе или...

Использование классов
Класс Члены класса Методы Операторы перегрузки Исходные данные Матрица Размерность ...

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

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

Не по теме:

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

0
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
06.11.2013, 20:00  [ТС]
вот изначальный рабочий код
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;
}
но мне нужно чтобы класс был один
0
 Аватар для Folko
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
06.11.2013, 20:06
wankstahamsta, ну вот у него примерно также и реализовано, как я предлагал. Если нужен строго 1 класс, сделайте вместо store структуру с полями char item[50]; int price; int number; int section;
0
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 45
06.11.2013, 20:18  [ТС]
ясно, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.11.2013, 20:18
Помогаю со студенческими работами здесь

Использование классов
Здравствуйте господа программисты. Помогите мне пожалуста. В Курсовой есть такое задание: &quot;Создать телефонную книгу&quot; ...

Использование классов
Расскажите пожалуйста на кокретных примерах как и где модно использовать классы?

Использование классов
Составить программу для объявления и использования данных типа класс согласно индивидуальному заданию, Базовый (транспортное средство) ...

Использование классов (sha1)
В sha1.h /* sha1.h */ #ifndef SHA1_H #define SHA1_H #include &lt;stdint.h&gt; #ifdef __cplusplus extern &quot;C&quot; { ...

Совместное использование классов
Здравствуйте, возник такой вопрос, как следует писать код, чтобы 2 не зависимых класса могли использовать друг друга? Вот к примеру код ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru