Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9304

C#でコンソール画面でのカレンダー作ってみた

$
0
0
Test.cs
usingSystem.Collections.Generic;usingstaticSystem.Linq.Enumerable;usingstaticSystem.Console;classSub:object{publicconstintWEEK_MAX=7;publicSub(){}publicintWeek(){WriteLine("1/1の曜日を入力");switch(ReadLine()){case"日":case"日曜日":return1;case"月":case"月曜日":return2;case"火":case"火曜日":return3;case"水":case"水曜日":return4;case"木":case"木曜日":return5;case"金":case"金曜日":return6;case"土":case"土曜日":return7;default:return0;}}publicstringCalendar(intyear,intyou){if(year<=0||you==0){returnnull;}WriteLine($"{year}年カレンダー\n");varcld="";intmax;foreach(varyinRange(1,12)){cld+=$"{y.ToString()}月のカレンダー\n\n";if(y==4||y==6||y==9||y==11){max=30;}elseif(y==2){if(year%4==0&&!(year%100==0&&year%400!=0)){max=29;}else{max=28;}}else{max=31;}cld+="日月火水木金土\n";foreach(varxinRange(1,max)){if(x<10){cld+=" ";}if(x==1){if(you==0){you+=1;}foreach(varzinRange(1,you-1)){cld+="  ";}}if(you%WEEK_MAX==0){you%=WEEK_MAX;cld+=x.ToString()+"\n";}else{cld+=x.ToString();}you++;}cld+="\n\n";}returncld;}publicvoidEnd(){WriteLine("何かを入力してください");ReadLine().ToString();}}classTest{staticvoidMain(string[]args){varsub=newSub();Write("調べたい年を入力");varyear=int.Parse(ReadLine());varcld=sub.Calendar(year,sub.Week());WriteLine(cldisnull?"\n存在しないです\n":cld);sub.End();}}

Viewing all articles
Browse latest Browse all 9304

Trending Articles