berkus / petrovich_cpp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Petrovich

Склонение падежей русских имён, фамилий и отчеств. Вы задаёте начальное имя в именительном падеже, а получаете в нужном вам.

Портированная версия 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 предложный О ком? О чём?

About

License:MIT License


Languages

Language:C++ 100.0%