Помогите, пожалуйста написать программу на C++, где каждая строка массива содержала бы информацию о работнике предприятия: "номер
подразделения", "табельный номер работника", "Количество рабочих дней в месяце", "Количество часов в
первый рабочий день месяца", "Количество часов во второй рабочий день месяца", .."Количество часов в
последний рабочий день месяца". Рабочий день отмечается как 8 часов. Спасибо огромное, заранее
Другие языки программирования и технологии
Программа на C++
Откройте для себя структуры и вектора!
#include <string>
#include <vector>
struct Worker {
short days_in_month;
std::string division_number;
std::string personnel_number;
std::vector<short> hours;
};
https://msdn.microsoft.com/ru-ru/library/64973255.aspx
#include <string>
#include <vector>
struct Worker {
short days_in_month;
std::string division_number;
std::string personnel_number;
std::vector<short> hours;
};
https://msdn.microsoft.com/ru-ru/library/64973255.aspx
На основе кода Николая Веселухи, что указан выше я написал только заполнение вектора экземплярами структуры.
>Откройте для себя структуры и вектора
Полностью поддерживаю. Рекомендую всем изучать вектора особенно.
#include < iostream >
#include < string >
#include < vector >
#include < algorithm >
using namespace std;
struct Worker {
short days_in_month;
string division_number;
string personnel_number;
vector < short > hours;
};
struct In
{
Worker operator()()
{
static int u = 1;
Worker t;
cout << "Рабочий " << u << endl;
++u;
cout << "Введите количество рабочих дней в месяце ";
cin >> t.days_in_month;
cout << "Введите номер подразделения ";
cin >> t.division_number;
cout << "Введите табельный номер ";
cin >> t.personnel_number;
vector < short > s(t.days_in_month);
int k = 1;
auto z = [&s, k]() mutable
{
short h;
cout << "Введите количество часов в " << k << " рабочий день месяца ";
++k;
cin >> h;
return h;
};
generate(s.begin(), s.end(), z);
t.hours = s;
return t;
}
}Inn;
void main()
{
setlocale(LC_ALL, "rus");
cout << "Введите число рабочих ";
int n;
cin >> n;
vector < Worker > WW(n);
generate(WW.begin(), WW.end(), Inn);
cin.get(); cin.get();
}
>Откройте для себя структуры и вектора
Полностью поддерживаю. Рекомендую всем изучать вектора особенно.
#include < iostream >
#include < string >
#include < vector >
#include < algorithm >
using namespace std;
struct Worker {
short days_in_month;
string division_number;
string personnel_number;
vector < short > hours;
};
struct In
{
Worker operator()()
{
static int u = 1;
Worker t;
cout << "Рабочий " << u << endl;
++u;
cout << "Введите количество рабочих дней в месяце ";
cin >> t.days_in_month;
cout << "Введите номер подразделения ";
cin >> t.division_number;
cout << "Введите табельный номер ";
cin >> t.personnel_number;
vector < short > s(t.days_in_month);
int k = 1;
auto z = [&s, k]() mutable
{
short h;
cout << "Введите количество часов в " << k << " рабочий день месяца ";
++k;
cin >> h;
return h;
};
generate(s.begin(), s.end(), z);
t.hours = s;
return t;
}
}Inn;
void main()
{
setlocale(LC_ALL, "rus");
cout << "Введите число рабочих ";
int n;
cin >> n;
vector < Worker > WW(n);
generate(WW.begin(), WW.end(), Inn);
cin.get(); cin.get();
}
Похожие вопросы
- Программа на C++ в Windows Form
- Не могу настроить codeBlock для написания программ на c++.
- Проверти правильность программы на C++
- Написал программу в c++. Отправил на другой компьютер. Выдало ошибку потому
- Помогите с программой Dev C++
- Помогите написать программу на C/C++
- как написать такую программу для c++?
- Я зная C++ (уровень - днище) написал полноценную программу на C# за 7 дней. А программисты C# могут так же на C++?
- Помогите написать программу по C++
- помогите написать программу на c++