1.создать документ со след сведениями:
табельный номер
дневная ставка
2.создать справочник:
табельный номер
ФИО
отработано дней за месяц
3.отсортировать справочник
4.определить заработную плату каждого сотрудника. вывести на печать фамилии с зарплатой 10000 рублей.
C/C++
Помогите пожалуйста с программой, если можно то с комментариями си++
#include <iostream>
#include <iomanip>
#include <string>
#include <map>
#include <limits>
#include <cstdlib>
using namespace std;
void flush() {
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
class Employee {
public:
Employee()
: id(0), salary(0.0) {}
Employee(const int id, const double salary, const string& name)
: id(id), salary(salary), name(name) {}
double get_salary()const {
return salary;
}
private:
int id;
double salary;
string name;
friend bool operator<(const Employee& a, const Employee& b) {
return a.name < b.name;
}
friend ostream& operator<<(ostream& out, const Employee& employee) {
return out << employee.id << ' ' << employee.name << ' ' << employee.salary;
}
};
class Catalog {
public:
void add(const Employee& employee, const int days) {
catalog.insert({ employee, days });
}
void show()const {
for (auto& [employee, days] : catalog) {
const auto total = employee.get_salary() * days;
cout << employee << 'x' << days << " =" << total << '\n';
}
}
void show(const double target)const {
for (auto& [employee, days] : catalog) {
const auto total = employee.get_salary() * days;
if (total == target) {
cout << employee << 'x' << days << " =" << total << '\n';
}
}
}
private:
map<Employee, int> catalog;
};
Employee employee() {
cout << "Табельный номер: ";
int id;
cin >> id;
flush();
cout << "Ф. И. О.: ";
string name;
getline(cin, name);
cout << "Дневная ставка: ";
double salary;
cin >> salary;
flush();
return Employee{ id, salary, name };
}
int main() {
system("chcp 1251 > nul");
cout << "Количество работников: ";
size_t quantity;
cin >> quantity;
flush();
Catalog catalog;
const char* msg = "Количество отработанных дней: ";
for (auto i = 0U; i < quantity; ++i) {
auto emp = employee();
cout << msg;
int days;
cin >> days;
catalog.add(emp, days);
}
system("cls");
cout.setf(ios::fixed);
cout.precision(2U);
catalog.show();
puts("---------------------");
catalog.show(10000.00);
system("pause > nul");
}
#include <iomanip>
#include <string>
#include <map>
#include <limits>
#include <cstdlib>
using namespace std;
void flush() {
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
class Employee {
public:
Employee()
: id(0), salary(0.0) {}
Employee(const int id, const double salary, const string& name)
: id(id), salary(salary), name(name) {}
double get_salary()const {
return salary;
}
private:
int id;
double salary;
string name;
friend bool operator<(const Employee& a, const Employee& b) {
return a.name < b.name;
}
friend ostream& operator<<(ostream& out, const Employee& employee) {
return out << employee.id << ' ' << employee.name << ' ' << employee.salary;
}
};
class Catalog {
public:
void add(const Employee& employee, const int days) {
catalog.insert({ employee, days });
}
void show()const {
for (auto& [employee, days] : catalog) {
const auto total = employee.get_salary() * days;
cout << employee << 'x' << days << " =" << total << '\n';
}
}
void show(const double target)const {
for (auto& [employee, days] : catalog) {
const auto total = employee.get_salary() * days;
if (total == target) {
cout << employee << 'x' << days << " =" << total << '\n';
}
}
}
private:
map<Employee, int> catalog;
};
Employee employee() {
cout << "Табельный номер: ";
int id;
cin >> id;
flush();
cout << "Ф. И. О.: ";
string name;
getline(cin, name);
cout << "Дневная ставка: ";
double salary;
cin >> salary;
flush();
return Employee{ id, salary, name };
}
int main() {
system("chcp 1251 > nul");
cout << "Количество работников: ";
size_t quantity;
cin >> quantity;
flush();
Catalog catalog;
const char* msg = "Количество отработанных дней: ";
for (auto i = 0U; i < quantity; ++i) {
auto emp = employee();
cout << msg;
int days;
cin >> days;
catalog.add(emp, days);
}
system("cls");
cout.setf(ios::fixed);
cout.precision(2U);
catalog.show();
puts("---------------------");
catalog.show(10000.00);
system("pause > nul");
}
Юрий Валентов
простите а можно что б на это было похоже, просто такое у меня преподаватель не примет

Похожие вопросы
- Помогите пожалуйста написать программу, реализующую десять генераторов псевдослучайных чисел.СИ!!!!
- Помогите пожалуйста написать программу на Си
- Помогите пожалуйста решить программу на языке СИ!!!
- Помогите, пожалуйста, написать программу на языке Си.
- Помоги пожалуйста с программой в С++
- Помогите пожалуйста с программой
- Помогите пожалуйста написать программу!
- Помоги пожалуйста написать программу на C++
- Помогите, пожалуйста, написать программу по нижеописанной задаче!
- Помогите пожалуйста написать программу на С++