반말을 존댓말로

익명 사용자의 이미지

#include <stdio.h>
#include <wchar.h>
#include <locale.h>
 
int findatrear(wchar_t [], wchar_t []);
void replace(wchar_t [], wchar_t []);
int getline(wchar_t [], int);
main(){
	wchar_t mainstr[1000];
	setlocale(LC_CTYPE,"kor");
 
	while (getline(mainstr, 1000) > 0)
	{
		if (findatrear(mainstr, L"이다\n"))
			replace(mainstr, L"입니다\n");	
		else if (findatrear(mainstr, L"한다\n"))
			replace(mainstr, L"합니다\n");
		else if (findatrear(mainstr, L"된다\n"))
			replace(mainstr, L"됩니다\n");
		wprintf(L"%s", mainstr);
	}	
}
 
int findatrear(wchar_t str[], wchar_t strtofind[])
{
	int i = wcslen(str);
 
	if (wcscmp(&str[i-3], strtofind) == 0)
		return 1;
	return 0;
}
 
void replace(wchar_t str[], wchar_t strtoreplace[])
{
	int i = wcslen(str);
 
	str[i-3] = L'\0';
	wcscat(str, strtoreplace);
}
 
int getline(wchar_t str[], int max)
{
	if (fgetws(str,max,stdin) == NULL)
		return 0;
	else
		return wcslen(str);
}

반말을 존댓말로 만드는 프로그램을 추진중인데 위의 프로그램은 (입니다 | 합니다 | 됩니다)
밖에 할줄 모릅니다. 국어문법이나 그런 책에 반말을 존댓말로 하는 법에 관한 책이 있나 묻고 싶습니다.

cleansugar의 이미지

형태소 분석기 소스가 공개되어 있습니다.

일단 형태소 분석기로 동사를 추출해서 변환해야될 듯.

강승식 교수님의 책도 있죠.

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com