プログラミングで電卓(西暦⇔和暦対照機能付き)を作ってみた

プログラミングで電卓(西暦⇔和暦対照機能付き)を作ってみた

今回は、普段よく使う電卓をプログラミングで作ってみようと思います。
西暦⇔元号の計算(変換)も出来たら便利だと思ったので、その機能も実装してみます。

プログラミング言語は、VB.NETを用います。

まずは一般的な電卓のボタンを設置します。
さらに今回は、西暦→元号、元号→西暦をそれぞれ計算するボタンを設置します。
先にボタンだけ設置し、後で実装をすることにします。
西暦を入力して、『西暦→元号』を押すと、元号が表示され、
元号を入力して、『元号→西暦』を押すと、西暦が表示されるようにします。
元号(令和・平成・昭和・大正・明治)のボタンも同様に設置します。

以下の記述は、入力欄の計算式を計算します。
『=』ボタンをクリックしたときの処理になります。

実際の電卓と同じように、+-*/を押したときにも途中までの計算をするために、
4つのボタンを押した処理にも、上記のような記述を入れています。

以下の記述は、『%』を押したときに小数点に変換します。

それでは早速、普通の計算をしてみましょう。
%と掛け算を使って、2024の10%を求めてみます。
2024*10と入力して%を押すと、先ほどの記述により自動的に2024*0.1に変換されました。
計算すると正しい回答が出ました。

次に、西暦→元号、元号→西暦の実装をして表示させてみましょう。
今回はVB.NETのIF文を使い、入力した西暦・元号によって条件分岐させます。
まずは『西暦→元号』ボタンをクリックした処理から行ってみます。
「西暦→元号」の計算は以下の計算式で算出できるので、この式を使って記述します。

令和・・・西暦の下3桁-018
平成・・・西暦の下2桁+12
昭和・・・西暦の下2桁-25
大正・・・西暦の下2桁-11
明治・・・西暦の下2桁+33

2024年と入力して『西暦→元号』を押すと、令和6年と正しく表示されました。

続いて、「元号→西暦」の実装をします。『元号→西暦』ボタンをクリックしたときの処理になります。
こちらは先ほどの「元号→西暦」に用いた計算式を逆で捉えて計算すると算出できます。

平成30年と入力して『元号→西暦』を押すと、2018年と正しく表示されました。

このようにプログラミングで電卓の作成ができました。
今回は、Windows用に作成したので、Windowsのシステム開発に多く用いられ、
ユーザーインターフェースの作成に適したVB.NETを用いました。
各プログラミング言語にはそれぞれ強みがあり、各分野で強みを発揮する言語が使用されています。
皆さんも開発を通して、色んな言語に触れてみてください。

 

この記事を書いた人
TS (京都府出身/ITエンジニア/2022年プレジャ入社)