Dévellopeur C++
Si vous comprenez cette offre, c'est que nos projets peuvent vous intéresser. Alors n'hésitez pas à candidater !
/*********************************************************/
/* Created by puting on 30/03/2016 */
/* Copyright (c) 2016 puting. All right reserved. */
/*********************************************************/
#include <string>
#include <numeric>
#include <memory>
#include "experience.h" // Class Experience
#include "excitingJob.h" // Class ExcitingJob
#include "cdi.h" // Class CDI
const unsigned int EXPERIENCE_MIN = 5;
const unsigned int DIPLOMA_LEVEL = 5;
int main(int argc, char **argv)
{
std::unique_ptr<Experience> pExperience
= std::make_unique<Experience>(argc, argv);
std::shared_ptr<ExcitingJob> pJob
= std::make_shared<ExcitingJob>(EXPERIENCE_MIN, DIPLOMA_LEVEL);
pJob->requires() += "Design pattern";
pJob->requires() += "Polymorphism";
pJob->requires() += "Templates";
pJob->requires() += "Qt";
bool solidBasis = (pExperience->diploma() >= pJob->diplomaMin())
|| pExperience->anywayIsGoodCandidate();
bool hasExperience = (pExperience->years() >= pJob->experienceMin());
if (solidBasis && hasExperience)
{
double matchingSkills = (double) std::accumulate(
pExperience->skills().begin(), pExperience->skills().end(), 0,
[&](unsigned int matchingSkill, const std::string& skill)
{
return matchingSkill + (pJob->requires().match(skill) ? 1 : 0);
}
);
if ( (matchingSkills / pJob->requires().size() ) >= 0.75)
return CDI::SendApplication;
}
return 0;
}
/********************************************************************************/
/* Projets industriels, R&D, informatique embarquée, applications mobile, */
/* SSII et cabinet de recrutement */
/********************************************************************************/