黑盒测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黑盒测试
输入日期要求输出该日期的下一天
#include
void nextdate(int year,int month,int day)
{
printf("请输入年份:\n");
scanf("%d",&year);
while(!(year>=1900&&year<=2050))
{
printf("年份超过界限,请重新输入:\n");
scanf("%d",&year);
}
printf("请输入月份:\n");
scanf("%d",&month);
while(month>12 ||month<1)
{
printf("月份超过界限,请重新输入:\n");
scanf("%d",&month);
}
printf("请输入日期:\n");
scanf("%d",&day);
while(day>31 ||day<1)
{
printf("日期超过界限,请重新输入:\n");
scanf("%d",&day);
}
if((year%4==0 && year%100!=0) || (year%400==0))
{
int i=0;
i=day-29;
while(month==2&&i>0)
{
printf("本月是闰月,请在1-29之间重新输入日期:\n");
scanf("%d",&day);
}
if(month==2 && day==29)
{
month=3;
day=1;
}
else day++;
}
else day++;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
if(day==32)
{
month++;
day=1;
printf("明天是%d-%d-%d\n",year,month,day); break;
}
case 2:
if(day==29)
{
month=3;
day=1;
printf("明天是%d-%d-%d\n",year,month,day); break;
}
case 4:
case 6:
case 9:
case 11:
if(day==31)
{
month++;
day=1;
printf("明天是%d-%d-%d\n",year,month,day); break;
}
case 12:
if(day==32)
{
month++;
day=1;
printf("明天是%d-%d-%d\n",year,month,day); break;
}
break;
}
printf("明天是%d-%d-%d\n",year,month,day);
}
void main()
{
int year=0,month=0,day=0;
nextdate(year,month,day);
测试用例
截图: