С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 22.05.2016
Сообщений: 12
1

Не выполняются все функции

17.09.2016, 19:39. Показов 584. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Почему не выполняются функции класса(вызывается функция 1 класса выполняется ввод , Enter, вызывается функция 2 а затем снова 1, выполняется ввод)? Как очистить память, чтоб при выборе 4 переключателя произвольные данные не появлялись?
Кликните здесь для просмотра всего текста

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
#include <iostream>
 
using namespace std;
////////////////////////////////////
class publication
{
    private:
    char name;
    float cost;
    public:
    void putdata()
    {
       cout <<"\nVvedite nazvanie knigi\n"; cin>>name;
       cout <<"\nVvedite cenu knigi\n"; cin>>cost;
    }
    void getdata()
    {
       cout <<"\nNazvanie knigi\n"<<name;
       cout <<"\nCena knigi\n"<<cost;
    }
 
};
/////////////////////////////////////
class book
{
    private:
    int list;
    publication pub;
    public:
    void putdata()
    {
        pub.putdata();
        cout <<"\nVvedite colichestvo stranits "; cin>>list;
    }
    void getdata()
    {
        pub.getdata();
        cout <<"\nColichestvo stranits "<<list;
    }
};
/////////////////////////////////////
class type
{
    private:
    float vremiya_zapisi;
    publication pub;
    public:
    void putdata()
    {
        pub.putdata();
        cout <<"\nVvedite vremiya zapisi\n"; cin >> vremiya_zapisi;
    }
    void getdata()
    {
        pub.getdata();
       cout <<"\nVremiya zapisi\n"<<vremiya_zapisi;
    }
};
 
int main()
{
    int x,n,i;
    publication p1;
    book b1;
    type t1;
    cout <<"Hellow! Esli hotite vvesti\n publication najmite 1\n book najmite 2\n type najmite 3\nvivesti dannie na ekran -4 \n press "x" for exit"<<endl;
     cin >>n;
    for(i=0; i<5; i++)
     switch(n)
     {
          case 1:
          p1.putdata();
          break;
          case 2:
          b1.putdata();
          break;
          case 3:
          t1.putdata();
          break;
          case 4:
          p1.getdata(); b1.getdata(); t1.getdata();cout<<"\n\n%"<<i<<endl;
          break;
     }
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2016, 19:39
Ответы с готовыми решениями:

В функции выполняются не все операторы
здравствуйте // Example program #include &lt;iostream&gt; #include &lt;string&gt; using namespace std;...

Функции внутри цикла не выполняются
Здравствуйте! Почему-то не работают функции внутри цикла (конечное значение выходит такое, будто...

Не выполняются функции из отдельных файлов
Пытаюсь найти площадь треугольника по введенным пользователем координатам с последующим выводом...

Функции из библиотеки выполняются программой? Или этой библиотекой?
Уточню. Вот, к примеру, я в программе вызвал функцию из библиотеки: 1) кем эта функция...

2
130 / 25 / 12
Регистрация: 12.08.2015
Сообщений: 221
17.09.2016, 20:12 2
Вы должны поместить ввод ответа от пользователя внутрь цикла for. Только тогда у Вас будут выполняться все ваши методы. Чтобы не было мусора,советую присваивать нулевое значение полям класса при создании объектов. Так же рекомендую использовать стандартный механизм наследования, а не делать включение базового класса в наследуемые. Переменная x не нужна. Имя публикации должно храниться в массиве. И советую перечитать седьмую, восьмую, девятую главы в вашей книге, из которой берете эти задания.

Я исправил это как мог, потому что все надо переделывать c нуля. А цикл for лучше заменить на бесконечный цикл while

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
#include <iostream>
#include <cstring>
using namespace std;
////////////////////////////////////
class publication
{
    private:
    static const int MAX = 100;
    char name [ MAX ]; //Нам нужен массив для названия, а не единичный символ!
    float cost;
    public:
    publication( ): cost( 0.0 )// Это чтобы не было мусора
    {
        strcpy( name, "N/A" );
    }
 
    void putdata()
    {
       cout <<"\nVvedite nazvanie knigi\n"; cin>>name;
       cout <<"\nVvedite cenu knigi\n"; cin>>cost;
    }
    void getdata()
    {
       cout <<"\nNazvanie knigi\n"<<name;
       cout <<"\nCena knigi\n"<<cost;
    }
 
};
/////////////////////////////////////
 
class book
{
    private:
    int list;
    publication pub;
    public:
    book( ): list( 0 ) {} //Чтобы не было мусора
    void putdata()
    {
        pub.putdata();
        cout <<"\nVvedite colichestvo stranits "; cin>>list;
    }
    void getdata()
    {
        pub.getdata();
        cout <<"\nColichestvo stranits "<<list;
    }
};
/////////////////////////////////////
 
class type
{
    private:
    float vremiya_zapisi;
    publication pub;
    public:
    type( ): vremiya_zapisi( 0.0 ) {} //Чтобы не было мусора
    void putdata()
    {
        pub.putdata();
        cout <<"\nVvedite vremiya zapisi\n"; cin >> vremiya_zapisi;
    }
    void getdata()
    {
        pub.getdata();
       cout <<"\nVremiya zapisi\n"<<vremiya_zapisi;
    }
};
 
int main()
{
    int n, i;
       publication p1;
       book b1;
       type t1;
 
       for(i=0; i<5; i++)
       {
           cout <<"Hellow! Esli hotite vvesti\n publication najmite 1\n book najmite 2\n type najmite 3\nvivesti dannie na ekran -4 \n press "x" for exit"<<endl;
            cin >>n;
        switch(n)
        {
             case 1:
             p1.putdata();
             break;
             case 2:
             b1.putdata();
             break;
             case 3:
             t1.putdata();
             break;
             case 4:
             p1.getdata(); b1.getdata(); t1.getdata();cout<<"\n\n%"<<i<<endl;
             break;
        }
       }
       return 0;
}
1
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
17.09.2016, 20:12 3
Для начала:
C++
1
char name[100];
0
17.09.2016, 20:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2016, 20:12
Помогаю со студенческими работами здесь

Как сделать так , чтобы если все 3 условия не выполняются , то вывести что то
Задача на проверку : &quot;принадлежат ли числа к &quot; . Написал по одному , что принадлежит , что не...

при вводе четного числа. все операции необходимые выполняются, но потом переходит на нечетные.есть код. помогите, пожалуйста
вот при вводе нечетного числа, все идет хорошо. а как введу четное, то при выполнении операций,...

Не выполняются функции
Собственно не отрабатывают функции, вызываемые кнопками отмена и тест. Чувствую забыл какую-то...

Выполняются не все условия в CheckBox
Здравствуйте. Помогите с проблемой, пожалуйста. Программа должна анализировать RichEdit, и в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru