C/C++
Помогите пожалуйста нужно решить задачу по с++
Создайте класс Employee. Класс должен включать поле типа int для хранения номера сотрудника, поле типа std::string для хранения ФИО сотрудника и поле типа float для хранения величины его оклада. Методы класса должны позволять пользователю вводить и отображать данные класса. Создайте программу, демонстрирующую работу класса. Напишите программу, создающую массив типа Employee, а затем предложить пользователю внести данные для 10 служащих. После этого необходимо вывести данные всех служащих на экран компьютера.
#include <iostream>
#include <string>
#include <array>
#include <iomanip>
using namespace std;
class Employee {
public:
Employee() : id_(0), salary_(0) {}
void id(const int value) {
id_ = value;
}
int id()const {
return id_;
}
void salary(const float value) {
salary_ = value;
}
float salary()const {
return salary_;
}
void name(const string& right) {
name_ = right;
}
void name(string&& right) {
name_ = move(right);
}
string name()const {
return name_;
}
private:
int id_;
float salary_;
string name_;
};
constexpr auto buffer = 10; // размер массива
using array_t = array<Employee, buffer>; // псевдоним типа массива
void flush() {
cin.ignore(cin.rdbuf()->in_avail());
}
Employee create() {
Employee employee;
cout << "Табельный номер: ";
int id;
cin >> id;
flush();
employee.id(id);
cout << "Ф. И. О.: ";
string name;
getline(cin, name);
employee.name(name);
cout << "Оклад: ";
float salary;
cin >> salary;
employee.salary(salary);
flush();
system("cls");
return employee;
}
void create(array_t& box) {
int n = 0;
for (auto& item : box) {
cout << "\t= " << ++n << " =\n\n";
item = create();
}
}
void show(const array_t& box) {
int n = 0;
cout << fixed << setprecision(2);
for (const auto& item : box) {
cout << setw(6) << item.id() << ". "
<< item.name() << " = "
<< item.salary() << '\n';
}
}
int main() {
system("chcp 1251 > nul");
array_t box;
create(box);
show(box);
system("pause > nul");
}
#include <string>
#include <array>
#include <iomanip>
using namespace std;
class Employee {
public:
Employee() : id_(0), salary_(0) {}
void id(const int value) {
id_ = value;
}
int id()const {
return id_;
}
void salary(const float value) {
salary_ = value;
}
float salary()const {
return salary_;
}
void name(const string& right) {
name_ = right;
}
void name(string&& right) {
name_ = move(right);
}
string name()const {
return name_;
}
private:
int id_;
float salary_;
string name_;
};
constexpr auto buffer = 10; // размер массива
using array_t = array<Employee, buffer>; // псевдоним типа массива
void flush() {
cin.ignore(cin.rdbuf()->in_avail());
}
Employee create() {
Employee employee;
cout << "Табельный номер: ";
int id;
cin >> id;
flush();
employee.id(id);
cout << "Ф. И. О.: ";
string name;
getline(cin, name);
employee.name(name);
cout << "Оклад: ";
float salary;
cin >> salary;
employee.salary(salary);
flush();
system("cls");
return employee;
}
void create(array_t& box) {
int n = 0;
for (auto& item : box) {
cout << "\t= " << ++n << " =\n\n";
item = create();
}
}
void show(const array_t& box) {
int n = 0;
cout << fixed << setprecision(2);
for (const auto& item : box) {
cout << setw(6) << item.id() << ". "
<< item.name() << " = "
<< item.salary() << '\n';
}
}
int main() {
system("chcp 1251 > nul");
array_t box;
create(box);
show(box);
system("pause > nul");
}
Похожие вопросы
- Помогите, пожалуйста, нужно решить задачи С++
- Программирование, пожалуйста помогите очень нужно решить
- Нужно решить задачу с массивами на C++
- Помогите пожалуйста, нужно сделать программу на C++
- Помогите, пожалуйста. Нужно составить программу на Си
- Помогите, пожалуйста, нужно написать программу на C++
- Помогите пожалуйста. Нужно чтоб эта программа, автоматически создавала txt. файл. На C++. Напишите рабочую программу.
- Помогите решить задачу пожалуйста, в C++
- Помогите пожалуйста решить задачу на языке С#.
- Помогите пожалуйста решить задачу по с++