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

Создайте класс с именем Employee, включающий в качестве элементов данных три информационных пункта: имя, фамилию и месячную зарплату

26.07.2012, 15:20. Показов 8403. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дело обстоит так:
Прочитав и, как я думал, поняв 3ю главу книги "Как программировать на с++" Дейтелов пришло время задачек. Немного собравшись я решил задачи 3.11 и почти правильно сделав 3.12 (потом я нашёл где же я сделал промах, благодаря этому форуму и ошибка оказалась совсем мелкой ). Казалось бы всё, остальные пойдут хорошо и мне не прийдётся задалбывать кого-либо тупыми вопросами, но...
Пришлось
Я не прошу сразу "решите мне задачу!!1!". Нет. Если понадобиться всё же тогда так и напишу
В первую очередь затруднения возникают с понятием условия задачи из которого вытекает то, что я не могу понять как это реализовать. Так что прошу подсказок и напутствий. Пожалуй, выберу задачу где есть работа и текстом и с числами.
________________________________________ ______________________
Задача 3.14
Создайте класс с именем Employee, включающий в качестве элементов данных три информационных пункта: имя(string), фамилию(string) и месячную зарплату(int). Ваш класс должен иметь конструктор, инициализирующий три элемента данных. Предусмотрите set- и get-функции для каждого элемента данных. Если зарплата не положительна, устанавливайте её равной 0. ... . Создайте два объекта Employee и выведите годовую зарплату для каждого объекта. Затем поднимите зарплату на 10% и снова выведите их годовую зарплату
______
Конечно там есть ещё непонятные до конца задачи(3.13 и 3.15), но я всё же решил выбрать эту.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.07.2012, 15:20
Ответы с готовыми решениями:

Создайте класс employee, который содержит имя (объект класса string) и номер (типа long) служащего
Создайте класс employee, который содержит имя (объект класса string) и но- мер (типа long) служащего. Включите в него метод getdata(),...

Создать класс Name, который принимает имя и фамилию в качестве аргументов при конструировании
Помогите с написанием класса по следующим условиям: Создать класс Name, который принимает имя и фамилию в качестве аргументов при...

Определить класс с именем NOTE, содержащий имя, фамилию, номер телефона и дату рождения
Описать структуру с именем NOTE, содержащую следующие поля: • фамилия, имя; • номер телефона; • дата рождения (массив из трех чисел)....

20
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
26.07.2012, 15:27
Цитата Сообщение от melery_fire50 Посмотреть сообщение
В первую очередь затруднения возникают с понятием условия задачи из которого вытекает то, что я не могу понять как это реализовать. Так что прошу подсказок и напутствий. Пожалуй, выберу задачу где есть работа и текстом и с числами.
так как конкретных вопросов нет, первое напутсвие - перечитай главу ещё раз!
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.07.2012, 15:28
Ну так а в чем проблема?
Задача вроде детская.
0
0 / 0 / 0
Регистрация: 26.07.2012
Сообщений: 5
26.07.2012, 15:51  [ТС]
Ну хорошо. Попрбую конкретизировать.
1. Повышение % должно быть уже написано в коде или его должен ввести пользователь?
2. Где нужно указать положительность или отрицательность зарплаты и её проверку (в конструкторе или в элемент-функции? И также опять, нужно ли чтобы её указывал пользователь?
...
Ну вот основные вопросы
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.07.2012, 15:53
1. Повышение % должно быть уже написано в коде или его должен ввести пользователь?
А какая разница? Как реализуешь так и будет...
2. Где нужно указать положительность или отрицательность зарплаты и её проверку (в конструкторе или в элемент-функции? И также опять, нужно ли чтобы её указывал пользователь?
Везде где можно изменить значение (и в конструкторе,и в set-ерах)
2
0 / 0 / 0
Регистрация: 26.07.2012
Сообщений: 5
26.07.2012, 16:02  [ТС]
Avazart, Спасибо
Employee.h
C++
1
2
void setFam(string);
    string getFam();
это с текстом.

а для числа:
C++
1
2
void setZar(int);
    int getZar();
или
C++
1
void setZar(int);
?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.07.2012, 16:09
Не понял а в чем вопрос?
C++
1
2
void setZar(const int& i);
int getZar()const;
0
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
26.07.2012, 16:40
C++
1
2
void setFam(string const&); // А то нафига нам копировать лишний раз.
string getFam() const; // И, да, как подсказал Avazart get-методы в общем случае не меняют объект, поэтому константные
А вот в передаче по константной ссылке int не вижу смыла.
0
0 / 0 / 0
Регистрация: 26.07.2012
Сообщений: 5
26.07.2012, 16:48  [ТС]
Employee.h
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
#include <string>
 
using namespace std:
 
class Employee
{
public:
    Employee(string name, string fam, int vozr);
 
    void setName(string);
    string getName():
 
    void setFam(string const&);
    string getFam() const;
 
    void setZar(int);
    int getZar();
 
    void displayMessage();
 
private:
    string Name;
    string Fam;
    int Zar;
}
________________________________________ __________________________
Employeeh.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
#include <iostream>
#include "UN.h" 
//NE ZABIVAI!!!
 
using namespace std;
 
    Employee::Employee(string name, string fam, int zar)
 
//
//
    void Employee::setName(string name)
    {
        Name = name;
    }
    string Employee::getName()
    {
        return Name;
    }
//
    void Employee::setFam(string fam)
    {
        Fam = fam;
    }
    string Employee::getFam()
    {
        return Fam;
    }
//
 
    void displayMessage()
    {
        cout << "Sotrudnik: " << name << " " << fam << " \n" << "Zarplata - \n" << zar << " Zarplata za god - " << godZarp << endl;
    }
Не могу вот доделать до ума. Туплю...
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.07.2012, 16:51
А вот в передаче по константной ссылке int не вижу смыла.
Это почему же?
Во первых для приличия, во вторых для того же "не копирования"
0
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
26.07.2012, 16:56
Тип такой конструктор
C++
1
2
3
4
5
Employee::Employee(string name, string fam, int zar) :
Name(name), Fam(fam), Zar(zar) // такой синтаксис инициализации
{
    if (Zar < 0) Zar = 0;
}
Но я бы сделал все string константными ссылками
C++
1
Employee(string const& name, string const& fam, int zar)
Добавлено через 2 минуты
Цитата Сообщение от Avazart Посмотреть сообщение
Это почему же?
А для чего в данном случае int const&? Память не экономит, в х32 передаются те же 4 байта.
Я бы сказал, что в качестве параметра либо int, либо int const, либо int& имеют смыл, но не int const&.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.07.2012, 16:59
А для чего в данном случае int const&? Память не экономит, в х32 передаются те же 4 байта.
Эта от куда такая уверенность? да и не все машины сейчас 32
0
0 / 0 / 0
Регистрация: 26.07.2012
Сообщений: 5
26.07.2012, 17:05  [ТС]
Мдя сегодня не везёт
Главу, кстати, я уже второй раз перечитал.
И что ж теперь просит кого-то написать столь простой код?
Всё же...
Ладно . Покажите мне недальновидному как написать в заголовочном файле код правильно и также для исходника с классом.
____
А пока я повожусь ещё с тем что у меня есть
0
26.07.2012, 17:06

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
Эта от куда такая уверенность? да и не все машины сейчас 32
потому что ссылки могут быть реализованы через указатели, и на x64 будет скопировано 8 байт указателя вместо 4-х байт инта

0
26.07.2012, 17:08

Не по теме:

Уверенность в чем? Да, не все машины x32. И даже может даже на каких-то машинах sizeof (int) не равно 4. Но вопрос в том, для чего передавать в параметре int const&? Это, возможно, экономило бы память в x16. Но вряд ли это тот случай.

0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.07.2012, 17:14
потому что ссылки могут быть реализованы через указатели
А могут и не быть
Но вряд ли это тот случай.
Но мы ведь не обсуждаем конкретную машину, мы говорим о конкретном коде.

Цитата Сообщение от Я
Во первых для приличия....
0
26.07.2012, 17:17

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
А могут и не быть
даЁшь идею возможной реализции не через указатели?

0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.07.2012, 17:20
даЁшь идею возможной реализции не через указатели?
Для меня достаточно самой возможности.
0
26.07.2012, 17:23

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
А могут и не быть
Да, совершенно верно, в теории. А на практике? Существуют другие реализации (кроме того, что можно и вовсе обойтись без ссылки)?
Цитата Сообщение от Avazart Посмотреть сообщение
Но мы ведь не обсуждаем конкретную машину, мы говорим о конкретном коде.
Да, тоже совершенно верно. Но какую пользу несет конкретный код int const& для какой-то там машины?

1
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.07.2012, 17:27
А в чем суть придерживани стандарта если он "не практичен" ?
Ориентируемся на IDE, машину и что нибудь ещё...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.07.2012, 17:27
Помогаю со студенческими работами здесь

Определить класс с именем NOTE, содержащий имя, фамилию, номер телефона и дату рождения
1. Определить класс с именем NOTE, содержащий следующие поля: - фамилия, имя; - номер телефона; - день рождения (массив из трех...

Создайте структуру с именем employee с двумя полями
Создайте структуру с именем employee с двумя полями: 1.Номер сотрудника int 2.зарплата float. Программа требует, чтобы вы...

Создайте класс employee. Как написать программу?
Создайте класс employee. Класс должен включать поле (массив) типа char для хранения фамилии сотрудника, 2 поля типа string для хранения...

Создать класс angle, включающий указанные три поля - проверить правильность кода
Здравствуйте! Я изучаю С++ по учебнику Лафоре, столкнулся с задачей: &quot;В морской навигации координаты точки измеряются в градусах, минутах...

С++ класс (создайте класс с именем Complex для выполнения в арифмитических операий с комплексными числами))
Кто сможет помогите пожалуйста! (Класс Complex). Создайте класс с именем Complex для выполнения в арифмитических операий с...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
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-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru