47 lines
701 B
C++
47 lines
701 B
C++
#include "robot_name.h"
|
|
|
|
#include <algorithm>
|
|
|
|
|
|
namespace robot_name {
|
|
|
|
using namespace std;
|
|
|
|
|
|
namespace {
|
|
|
|
const size_t alpha_part_size = 2;
|
|
const size_t digit_part_size = 3;
|
|
|
|
string random_string(size_t size, char from_char, char to_char)
|
|
{
|
|
auto random_char = [from_char, to_char]() -> char {
|
|
return from_char + rand() % (to_char - from_char + 1);
|
|
};
|
|
|
|
string result(size, 0);
|
|
generate_n(result.begin(), size, random_char);
|
|
|
|
return result;
|
|
};
|
|
|
|
}
|
|
|
|
|
|
robot::robot()
|
|
{
|
|
reset();
|
|
}
|
|
|
|
void robot::reset()
|
|
{
|
|
name_ = random_string(alpha_part_size, 'A', 'Z')
|
|
+ random_string(digit_part_size, '0', '9');
|
|
}
|
|
|
|
const name_t &robot::name() const
|
|
{
|
|
return name_;
|
|
}
|
|
|
|
}
|