BASICで質問
■ このスレッドは過去ログ倉庫に格納されています
00107
NGNGREM-------------Y(年),M(月),D(日)は適当に替えてください
REM-------------年数のチェックはとりあえずしません。
10 Y=2000
20 M=12
30 D=31
REM-------------月の正誤チェック
40 IF(M<1) OR (M>12) GOTO 900
REM-------------うるう年を計算する場所はここ
50 U=0
60 IF ((INT(Y/4)=Y/4) AND (INT(Y/100)<>Y/100)) OR (INT(Y/400)=Y/400) THEN U=1
REM-------------月から日のリミッタを検索(上から1月〜12月)
70 IF M=1 LD=31
80 IF M=2 LD=28+U
90 IF M=3 LD=31
100 IF M=4 LD=30
110 IF M=5 LD=31
120 IF M=6 LD=30
130 IF M=7 LD=31
140 IF M=8 LD=31
150 IF M=9 LD=30
160 IF M=10 LD=31
170 IF M=11 LD=30
180 IF M=12 LD=31
REM-------------日の正誤チェック
190 IF(D<1) OR (D>LD) GOTO 920
REM-------------表現が正しい場合はここに来る
200 GOTO 940
REM-------------エラー文字列
900 PRINT '月のエラー'
910 GOTO 1000
920 PRINT '日のエラー'
930 GOTO 1000
940 PRINT '正常'
1000 END
テストしてないけど、とりあえずうPしとく。
■ このスレッドは過去ログ倉庫に格納されています