C言語で和暦と干支を求める+追加で閏(うるう)年判定

C言語自作サンプルメニューへ
これからプログラミングをはじめる方へ
基本情報技術者試験トップへ
息抜きに(=^・^=)写真で癒し

おはこんばんにちは、うにゃうにゃエンジニアの猫です(=^・^=)
年賀状を書く時期にはちょっと使えるかもしれないプログラムを作りました。

年号を入れると令和何年とか干支は何だとか求められるプログラムです。
例えばこの記事を書いているのは2021年です。西暦に2021と入力して見ます。


このように「令和3年、うし年」と求まりました。
干支を文字列の配列で初期化して、西暦年を12で割った余りを配列の要素として求めています。
12で割り切れる(割った時の余りが0になる)のが直近だと2016年さる年です。
なので、要素番号は0から始まり、配列の先頭の[0]をさる年、[1]をとり年…としています。

昭和、平成、令和をwareki年として、昭和だったら西暦マイナス1925、平成だったら西暦マイナス1988、令和は西暦-2018と
計算しています。この辺はIFとElse ifなどの分岐を使っています。

至ってシンプルですが、どなたかのお役に立てるのかなぁ…。

では、動作確認で他の年も調べてみます。
1995年はワガハイが大好きな馬場ふみかさんが生れた年です。
1995を入力して見ます。

あと、昭和では自分の生まれた年で動作確認して見ます。

プログラムはこちらになります。


#include <stdio.h>
int etosirabe(int nen){
return nen%12;
}
int main(void){
char *jyunisi[12]={“さる”,”とり”,”いぬ”,”いのしし”,”ね”,”うし”,”とら”,”うさぎ”,”たつ”,”へび”,”うま”,”ひつじ”};
char *gengo;
int year,eto,wareki;
printf(“調べる年を西暦で入力=”);
scanf(“%d”,&year);
eto=etosirabe(year);
if(year>=1989 && year<=2018){ gengo=”平成”; wareki=year-1988; }else if(year>=2019){
gengo=”令和”;
wareki=year-2018;
}else{
gengo=”昭和”;
wareki=year-1925;
}
printf(“%d年は%s%d年で干支は「%s年」です。”,year,gengo,wareki,jyunisi[eto]);
}

あとは、このプログラムをちょっとずつ改良していきたいと思います。
基本情報技術者試験を勉強して、プログラムはどんどん改良していくことで自分の力になることを学びました。

追記 2021年1月19日
このプログラムにうるう年を求める処理を追加しました。
コメントの所が追加変更した所です。
画像では赤枠でくくっています。

#include
int etosirabe(int nen){
return nen%12;
}
//ここを追加。うるう年を求める関数
int isLeapYear(int uruyear){
if((uruyear%4==0 && uruyear%100!=0) || uruyear%400==0){
return 1;
}else{
return 0;
}
}
int main(void){
char *jyunisi[12]={“さる”,”とり”,”いぬ”,”いのしし”,”ね”,”うし”,”とら”,”うさぎ”,”たつ”,”へび”,”うま”,”ひつじ”};
char *gengo;
char *uruJadge;
int year,eto,wareki;
int uruFlug;
printf(“調べる年を西暦で入力=”);
scanf(“%d”,&year);
eto=etosirabe(year);
if(year>=1989 && year<=2018){ gengo=”平成”; wareki=year-1988; }else if(year>=2019){
gengo=”令和”;
wareki=year-2018;
}else{
gengo=”昭和”;
wareki=year-1925;
}
//ここでうるう年を調べる関数を呼び出す
uruFlug=isLeapYear(year);
if(uruFlug==1){
uruJadge=”うるう年です。”;
}else{
uruJadge=”うるう年ではありません。”;
}
//表示を変更
printf(“%d年は%s%d年で干支は「%s年」です。\n%s\n”,year,gengo,wareki,jyunisi[eto],uruJadge);
}

では、実行結果を見てみます。
馬場ふみかさんが生れた1995年の実行結果です。

次に2100年を見てみます。
うるう年は4で割り切れ且つ100で割れない、または400で割れる年です。
なので2100年はうるう年にはならないです。

令和82年とか、まぁ、私はいないです。

最後に400で割れる2000年を見てみます。

ご精読ありがとうございました。

馬場ふみかさんの写真集 ■

同じ人類で、ここまで美しい女性がいるのかと、感動しました!!
最強の被写体であり、たっぷりと曲線美が堪能できます。
「スタイル抜群」とか「ナイスボディ」などといった言葉ではとても収まりきらない程の美しさで、まさに神の造形です。
女性の方で、ファッションに興味のある方でしたら服(水着も含め)の着こなし方や見せ方、角度、ポーズ、表情など凄く勉強になりますので、男女ともに楽しめる写真集です。「好きな男性を振り向かせたい」という女性の方にとって、女性としてのお手本になる写真集だと思います。
私は、資格試験やプログラミング学習のリフレッシュに、馬場ふみかさんの写真集を見て、目の保養にしています。参考書と共に、馬場ふみかさんの写真集を勉強のお供にしていて、楽しく勉強が出来たお陰で、実際にIT系国家資格の基本情報技術者試験(以下FE)に高得点一発合格(点数)出来ました。
20年以上前の平成初期ぐらいに(大学生〜新社会人の頃)情報二種や初級シスアドに2度も落ちてしまった私でさえFEに1発合格が出来たのは、精神的な面で、馬場ふみかさんの写真集やドラマやCM、SNSなどの芸能活動が支えになったからです。
私にとって馬場ふみかさんは、まさに勝利の女神様です!!

C言語自作サンプルメニューへ
これからプログラミングをはじめる方へ
基本情報技術者試験トップへ
息抜きに(=^・^=)写真で癒し