Склонение падежей русских имён, фамилий и отчеств. Вы задаёте начальное имя в именительном падеже, а получаете в нужном вам.
Портированная версия https://github.com/rocsci/petrovich с ruby на c++
Для работы требуюется библиотека yaml-cpp(http://code.google.com/p/yaml-cpp/) версии 0.5.1 или выше.
#Использование
#include "petrovich.h"
#include <iostream>
std::cout << Petrovich::Instance()->Fullname("Воронов Иван Сергеевич", "instrumental"); //Вороновым Иваном Сергеевичем
std::cout << Petrovich::Instance()->Fullname("Макаров Пётр Антонович", "предложный");
std::cout << Petrovich::Instance()->Firstname("Григорий","dative","m" );
std::cout << Petrovich::Instance()->Lastname("Меркулов", "винительный");
std::cout << Petrovich::Instance()->Lastname("Мурай", "родительный","мужской");
Класс включает в себя функции Fullname, Firstname, Middlename и Lastname для полного имени(фио), имени, отчества и фамилии соответсвенно. Функции принимают 3 параметра: строку с именем, строку с падежом(на русском или английском) и строку с полом - необязательный параметр. Пол может быть указан в одном из 4 форматов - мужской/женский, м/ж, male/female или m/f. Для отчества и полного имени, если пол не указан, то он определяется автоматически. Пол также можно определить по отчеству с помощью функции DetectGender.
Параметр | Падеж | Характеризующий вопрос |
---|---|---|
genetive | родительный | Кого? Чего? |
dative | дательный | Кому? Чему? |
accusative | винительный | Кого? Что? |
instrumental | творительный | Кем? Чем? |
prepositional | предложный | О ком? О чём? |