当前位置:首页 > 自动判断闰年(微机原理课设)
图2-2 INPUT模块流程图
图2-2 INPUT模块流程图
开 始将输入的年份除以4是否整除?YN年份除以100是闰年N是否整除?Y不是闰年年份除以400Y继续?NY继续?是否整除?NNY退出
图2-3 JUDGE模块流程图
开始将所输入的年份存入AX用AX除以12对应属相字符串地址输出显示属相的名称结束
图2-4 WHICHYEAR模块流程图
3 详细设计
3.1 各模块说明
主模块MAIN用来显示提示输入以及输入的字符内容,最后输出做出的判断 并确定是否退出程序;INPUT子模块用来将数字字符串转换为数字,以便进行下面的程序操作,同时对输入的年份格式进行判断,若格式错误则输出‘Input illegal!’,并要求重新输入年份;JUDGE子模块用来判断所输入的年份是否为闰年,若输入闰年2000则输出‘2000 is leap year!’,若输入非闰年1900则输出‘1900 is not leap year!’;WHICHYEAR子模块用来判断所输入的年份是什么生肖年,
若输入2011则输出‘2011 is a year of Rabbit!’。
3.2 各模块详细设计
在主模块MAIN中分别调用三个子模块INPUT、JUDGE、WHICHYEAR, 做出判断后显示是否退出的提示信息,按下任意键继续,按下Q或q键则退出程序。
MAIN主模块的部分程序代码如下。
LOP0:
CALL INPUT CALL JUDGE CALL WHICHYEAR LEA DX,MESS MOV AH,09H INT 21H
MOV AH,08H INT 21H
CMP AL,'Q' JE EXIT CMP AL,'q' JE EXIT
LEA DX,NEWLINE ;回车、换行 MOV AH,09H INT 21H
JMP LOP0
INPUT子模块首先判断输入的年份是否正确,由于我们的要求是从1900年
到2100年,因此输入的年份必须是4位的,若不是系统会提示错误,这个功能由以下程序代码完成。
共分享92篇相关文档