Другие языки программирования и технологии

ПОМГИТЕ РЕШИТЬ ЗАДАЧКУ! СИ ПЛЮ ПЛЮС! Попросите у меня авторизацию!

1)Даны сведения о рабочих:
код предприятия, номер цеха; табельный номер рабочего, дата поступления на работу, пол.
2)Результат запроса должен содержать все имеющиеся сведения о рабочих – мужчинах, поступивших на работу позднее определённого срока.
3)Вывести значения всех полей базы данных на экран. Подсчитать итог: количество женщин и мужчин.
4)Все данные о рабочих и количество рабочих в каждом цехе.
Толя Хусид
Толя Хусид
64
Если делать нормально, то нужно использовать какую-нибудь СУБД (например mysql, postgres, oracle), сделать там базу данных, а на C++ написать интерфейс к ней.

Можно сделать все на C++. Для этого завести структуру, описывающую рабочего, примерно так:

#include <string>

using namespace std;

enum Gender {
MALE,
FEMALE
};

struct Date {
int year;
int month;
int day;
};

struct Employee {
string enterpriseCode; /* код предприятия */
int shopNumber; /* номер цеха */
int employeeNumber; /* табельный номер рабочего */
Date date; /* дата поступления на работу */
Gender gender; /* пол */
};

А потом сделать "базу данных" на базе вектора из структур Employee.
Возможно добавить индексные структуры для ускорения поиска.
И реализовать запросы по заданию.

Например для 3:

#include <iostream>
#include <vector>

/* ...*/

vector<employee> employees;

ostream& operator<<(ostream &out, const Date &d) {
out << d.day << "." << d.month << "." << d.year;
}

ostream& operator<<(ostream &out, const Employee &e) {
out << e.enterpriseCode << " ";
out << e.shopNumber << " ";
out << e.employeeNumber << " ";
out << e.date << " ";
out << (e.gender == FEMALE ? "жен. " : "муж. ");
}

void query3() {
vector<employee>::iterator i;

int malesCount = 0;
int femalesCount = 0;

for ( i = employees.begin(); i < employees.end(); i++ ) {
switch ( i->gender ) {
case MALE:
++malesCount;
break;
case FEMALE:
++femalesCount;
break;
}
cout << *i << endl;
}

cout << "Количество женщин: " << femalesCount << endl;
cout << "Количество мужчин: " << malesCount << endl;
}
Саня Заваль
Саня Заваль
2 433
Лучший ответ