📚

塩山市の大地主

に公開
2025/12/15

投稿第一号です。このブログの使い方がまだよく分かっていないのでほぼ試験的な投稿です。
早速、下手くそなプログラムを晒してみました。

市町村名を入力して、市町村名が変わっていたら、新市町村名を表示するというものです。
旧市町村と新市町村の対応は、コンストラクタCityOverlordに登録しておく必要があります。
ここに登録していない市町村を入力すると、「変更ありません。」と表示されます。
このコードでは一つしか登録していませんが、もちろん複数登録できます。

ちなみに当方は山梨県民じゃありません。

ソースコード

EnzanCity.cpp
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;

class CityOverlord {
public:
    unordered_map<string, string> NewCity;

    CityOverlord() {
        NewCity["塩山市"] = "甲州市";
    }

    string operator[](const string& name) const {
        auto it = NewCity.find(name);
        if (it != NewCity.end()) {
            return it->second;
        }
        return name;
    }
};

int main() {
    CityOverlord city;
    string cityname;

    for(int i=0; i<3; i++) {
        cout << "市町村を入力してください。" << endl;
        cin >> cityname;
        if (cityname != city[cityname]) {
            cout << "city[" << cityname << "] = " << city[cityname] << endl;
        } else {
            cout << "変更ありません。" << endl;
        }
    }
    return 0;
}

実行結果

市町村を入力してください。
山梨市
変更ありません。
市町村を入力してください。
韮崎市
変更ありません。
市町村を入力してください。
塩山市
city[塩山市] = 甲州市

Discussion