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

Решение задачи Р.Лафоре, объекты и классы

07.02.2013, 15:57. Показов 1613. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Замахался уже...

Выдает ошибку проблема с static int count; вот этой локальгой статической переменной.(далее в коде
Какгбэ все написал правильно, но! где-то закралась ошибка...

Условие в скрине.
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
//6.6
#include<iostream>
#include<conio.h>
using namespace std;
 
 
//=============[class Date]============
class Date
{
private:
    int YY;
    int MM;
    int DD;
public:
    Date():YY(0), MM(0), DD(0)
    {}
 
    void getdate();
    void showdate()const;
};
//*************************************
void Date::getdate()
{
    char ch;
    //cout<<"Date [DD/MM/YY]: ";
    cin>>DD>>ch>>MM>>ch>>YY;
}
//-------------------------------------
void Date::showdate()const
{
    cout<<DD<<'/'<<MM<<'/'<<YY;
}
//=====================================
 
enum etype{laborer, secretary, manager, accountant, executive, researcher, no_posada};
 
//============[class employee]=============
class employee
{
private:
    etype posada;
    Date date;
    static int count;                  //ПРОБЛЕМНАЯ СТАТИЧЕСКАЯ ЛОКАЛЬНАЯ ПЕРЕМЕННАЯ
    int number;                         //^ГЛОБАЛЬНУЮ НЕ ПРЕДЛАГАТЬ!
    float moneys;
public:
    employee():moneys(0) //конструктор
    {
        count++;
        number=count;
        posada=no_posada;
    }
 
    void Input();       //метод 1
    void Output()const;     //метод 2
};
//*************************************
void employee::Input()          //метод
{
    char ch; //для "посада"
    cout<<"Posada pracivnyka #"<<number<<endl
        <<"[(l)aborer, (s)ecretary, (m)anager, (a)ccountant, (e)xecutive, (r)esearcher]"<<endl
        <<':';
    ch=getche();
    switch(ch)
    {
    case 'l': posada=laborer;break;
    case 's': posada=secretary;break;
    case 'm': posada=manager;break;
    case 'a': posada=accountant;break;
    case 'e': posada=executive;break;
    case 'r': posada=researcher;break;
    default: cout<<"NO_POSADA"; posada=no_posada; break;
    }
 
            switch(posada)              //дополнительная фича: сразу полный вывод должности! =)
            {
            case 0: cout<<"aborer";break;       //первая буква через getche()
            case 1: cout<<"ecretary";break;
            case 2: cout<<"anager";break;
            case 3: cout<<"ccountant";break;
            case 4: cout<<"xecutive";break;
            case 5: cout<<"esearcher";break;
            case 6: cout<<" ERROR! NO_POSADA"; break;
            }   
 
    cout<<"\nData prijomy pracivnyka #"<<number<<" [DD/MM/YY]: ";
    date.getdate();     // дата приема 
    cout<<"Stavka pracivnyka #"<<number<<": $";
    cin>>moneys;
}
//-------------------------------------
void employee::Output()const  //метод 2
{
    cout<<"Pracivnyk #"<<number<<" posada: ";
    
    switch(posada)
    {
        case 0: cout<<"laborer";break;
        case 1: cout<<"secretary";break;
        case 2: cout<<"manager";break;
        case 3: cout<<"accountant";break;
        case 4: cout<<"executive";break;
        case 5: cout<<"researcher";break;
        case 6: cout<<"NO_POSADA"; break;
    }   
 
    cout<<" data prujomy: ";
    date.showdate();
    cout<<" Stavka: "<<moneys;
}
//=====================================
 
int main()
{
    employee emp1,emp2,emp3;
    emp1.Input();
    system("cls");  //фича для очистки экрана
    emp2.Input();
    system("cls");
    emp3.Input();
    system("cls");
 
    emp1.Output();
    cout<<endl;
    emp2.Output();
    cout<<endl;
    emp3.Output();
    cout<<endl;
 
    system("pause");
    return 0;
}
примечание: сам из Украины, следовательно должность = posada и прочие мелочи, но они не сильно мешают.

 Комментарий модератора 
Запрещено размещать задания в виде картинок и других файлов с их текстом. Перепечатайте.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.02.2013, 15:57
Ответы с готовыми решениями:

Правильное ли решение задачи? Лафоре. 3 глава 9 задача
Представьте, что вы собираетесь пригласить к себе шестерых гостей, но за вашим столом могут разместиться всего лишь 4 человека Сколькими...

Ошибка памяти при решение задачи на классы
Задача: Нужно рассчитать кол-во мест в самолете после промежуточной посадки между пунктами А и Б. То есть самолет на 300 мест вылетел из...

Решение задачек по Лафоре
Хочу научиться языку С++, но изучать самостоятельно по книге несколько сложно, так как некому намекнуть на недочеты. Решил выложить готовые...

1
2 / 2 / 0
Регистрация: 10.01.2013
Сообщений: 15
07.02.2013, 16:08  [ТС]
Извиняюсь за простыню кода.

Исправил: перед main дописал:

int employee::count=0; //
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.02.2013, 16:08
Помогаю со студенческими работами здесь

Решение задач C++ Р. Лафоре
Всем привет. нужна помощь в в решении 11 задачи 2 главы книги. Уже все перепробовал, не могу найти друго решения как поставить...

Пример задачи с кругами из книжки Лафоре
Здравствуйте! Делаю пример задачи с кругами из книжки Лафоре, среда Эклипс, Убунту 14.04 Для работы нужны файлы msoftcon.h и...

Решение задач Р. Лафоре, структуры
Никак не могу понять в чем проблема. Условие задачи: используя структуру time с полями типа int (часы, минуты, секунды) написать...

Классы и объекты
Создать объявление класса и разработать программу-драйвер, который продемонстрирует работу класса. Клас Cylinder (циліндр). Клас має...

объекты и классы
Здравствуйте. Помогите с задачей. Нужно написать программу на классы и объекты. Пользователь вводит символьную строку, а программа...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru