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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
feelossoff
0 / 0 / 0
Регистрация: 28.03.2009
Сообщений: 77
#1

Задача с деструкторами - C++

05.04.2009, 21:03. Просмотров 849. Ответов 1
Метки нет (Все метки)

Доброго всем вечера короче говоря, есть интересная задачка но одна проблемка - надо сделать к ней пояснения, исправить 1 ошибку и сделать её мат.модель. Задача звучит так:
Нижче наведена реалізація програми CONSOVER.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
# include <iostream.h> 
class employee 
{
Public: 
Employee (CHAR *, Long, Float); 
Employee (CHAR *, Long); 
void show_employee (VOID); 
int change_salary (Float); 
long get_id (VOID); 
Private: 
char name [64]; 
long employee_id; 
float salary; 
}; 
Employee:: Employee (CHAR * Name, long employee_id, float salary) 
{ 
strcpy (Employee:: Name, Name); 
Employee:: employee_id = employee_id; 
If (Salary <50000.0) Employee:: Salary = Salary; 
Else / / Недопустимий оклад 
Employee:: Salary = 0.0; 
} 
Employee:: Employee (CHAR * Name, long employee_id) 
{ 
strcpy (Employee:: Name, Name); 
Employee:: employee_id = employee_id; 
Do { 
cout << "Введите оклад для" <<Name << "меньше $ 50000:"; 
CIN>> Employee:: Salary; 
} 
While (Salary> = 50000.0); 
} 
void employee:: show_employee (VOID) 
{ 
cout << "Сотрудник:" <<Name <<endl; 
cout << "Номер сотрудника:" <<employee_id <<endl; 
cout << "Оклад:" <<Salary <<endl; 
} 
void main (VOID) 
{ 
employee worker ( "Happy Jamsa", 101, 10101.0); 
employee manager ( "Jane Doe", 102); 
worker.show_employee (); 
manager.sbow_employee (); 
} 
Если откомпилируваты и запустить эту программу, на экране появится запрос ввести оклад для Jane Doe. Когда ввести оклад, программа отобразит информацию об обоих служащих.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2009, 21:03     Задача с деструкторами
Посмотрите здесь:

Работа с конструкторами и деструкторами в с++. Приведите пожалуйста какие-то примеры C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
05.04.2009, 22:22     Задача с деструкторами #2
Цитата Сообщение от feelossoff Посмотреть сообщение
исправить 1 ошибку
одну?
что это за мансы
Public: нужно public:
Private: -> private:
а также If,Else, While, Do нужно с маленькой буквы писать.
employee и Employee в с++ две разные "вещи".
Не путайте регистры, это не паскаль.

Добавлено через 16 минут 38 секунд
Вот поправил ошибки
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
#include <iostream.h>
//using namespace std;
 
class employee 
{
public: 
    employee (char *, long, float); 
    employee (char *, long); 
    void show_employee (); 
 
    int change_salary (float) { 
        int xlam = 0;
        return xlam;
    }; 
 
    long get_id (){
        return employee_id;
    }; 
private: 
    char name [64]; 
    long employee_id; 
    float salary; 
}; 
employee:: employee (char * Name, long employee_id, float _salary) 
{ 
    //this-> для наглядности
    strcpy(this->name, Name); 
    employee:: employee_id = employee_id; 
    if (_salary < 50000.0) salary = _salary; 
    else // Недопустимий оклад 
        this->salary = 0.0; 
} 
employee:: employee (char * Name, long _employee_id) 
{ 
    strcpy (this->name, Name); 
    this->employee_id = _employee_id; 
    do { 
        cout << "Введите оклад для" <<this->name << "меньше $ 50000:"; 
        cin  >> this->salary; 
    } 
    while (this->salary > 50000.0 /*this->salary = 50000.0*/); 
} 
void employee:: show_employee (void) 
{ 
    cout << "Сотрудник:" <<this->name <<endl; 
    cout << "Номер сотрудника:" <<this->employee_id <<endl; 
    cout << "Оклад:" <<this->salary <<endl; 
} 
int main ( ) 
{ 
    setlocale(0,"RUS");
    employee worker ( "Happy Jamsa", 101, 10101.0); 
    employee manager ( "Jane Doe", 102); 
    worker.show_employee(); 
    manager.show_employee(); 
 
    return 0;
}
Yandex
Объявления
05.04.2009, 22:22     Задача с деструкторами
Ответ Создать тему
Опции темы

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