合計 昨日 今日

naohiro19
 
記事: 247
登録日時: 2010年10月16日(土) 20:16
お住まい: 愛知県
日記: 日記を見る (121)
日記
- 2月 2018
+ 1月 2018
+ 12月 2017
+ 11月 2017
+ 10月 2017
+ 8月 2017
+ 7月 2017
+ 6月 2017
+ 5月 2017
+ 1月 2017
+ 9月 2016
+ 8月 2016
+ 7月 2016
+ 6月 2016
+ 5月 2016
+ 4月 2016
+ 9月 2015
+ 8月 2015
+ 7月 2015
+ 6月 2015
+ 11月 2014
+ 10月 2014
+ 8月 2014
+ 7月 2014
+ 6月 2014
+ 5月 2014
+ 4月 2014
+ 3月 2014
+ 12月 2013
+ 10月 2013
+ 9月 2013
+ 7月 2013
+ 6月 2013
+ 5月 2013
+ 10月 2012
+ 8月 2012
+ 7月 2012
+ 6月 2012
+ 5月 2012
+ 11月 2011
カテゴリー
講座
7 記事
勉強
4 記事
プログラミング
35 記事

[C++]数字を漢数字に変換するプログラム

パーマリンクby naohiro19 on 2018年1月22日(月) 23:52 カテゴリー: プログラミング

こちらのC#版のプログラムをC++に移植してみました。

以下ソースコードです。
コード[C++]: 全て選択
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <locale>
#include <vector>
#include <string>
 
using namespace std;
 
wstring ToKansuji(long number)
{
    if (number == 0) {
        return L"〇";
    }
    vector<wstring> kl = { L"", L"十", L"百", L"千" };
    vector<wstring> tl = { L"", L"万", L"億", L"兆", L"京" };
    vector<wstring> nl = { L"", L"一", L"二", L"三", L"四", L"五", L"六", L"七", L"八", L"九" };
    wstring str = L"";
    int keta = 0;
 
    while (number > 0) {
        int k = keta % 4;
        int n = static_cast<int>(number % 10);
 
        if (k == 0 && number % 1000 > 0) {
            str = tl[keta / 4] + str;
        }
 
        if (k != 0 && n == 1) {
            str = kl[k] + str;
        }
        else if(n != 0) {
            str = nl[n] + kl[k] + str;
        }
        keta++;
        number /= 10;
    }
    return str;
}
 
int main()
{
    wcout.imbue(locale("japanese"));
    wcout << ToKansuji(0) << endl; // →  〇
    wcout << ToKansuji(100) << endl; // → 百
    wcout << ToKansuji(1255) << endl; // →  千二百五十五
    wcout << ToKansuji(10000) << endl; // → 一万
    wcout << ToKansuji(999999) << endl; // →  九十九万九千九百九十九
    return 0;
}


実行結果はコメントで書いてあります。
タイトルが間違っていましたので修正しました。
最後に編集したユーザー naohiro19 [ 2018年1月23日(火) 07:46 ], 累計 1 回

コメント数: 0 閲覧数: 273

オンラインデータ

登録ユーザー: みけCAT