北大“软件工程”上机考试题
一、问题陈述
在一简化的银行存款系统中,前台服务员负责处理客户的存取款要求,存款时客户需要填写存款单(客户名,帐号,类别(活期,定期),金额),取款时客户需要填写取款单(客户名,帐号,金额)并输入密码,前台服务员负责录入客户的存取/款单;客户还可以通过自助存取款机进行存取款操作,在交易时需要客户自己输入上述信息;银行经理可以查询每日/月的存取款统计信息,银行经理和前台服务员还可以查询每个客户的存取款记录。
1)请用结构化分析方法,建立该系统的模型,画出数据流图的顶层、0层和一层图(包括建立顶层和0层的数据字典,可以不写加工说明)
2)请用面向对象方法,识别该系统有哪些主要的类,并写出类的主要属性和操作
二、根据所给源程序及该程序的可执行程序,完成下列要求:
a)画出程序的控制流程图;
b)判断该程序是否能够达到100%条件组合覆盖,为什么?
c)给出测试用例,实现你所认为的更大条件组合覆盖。
根据输入的年份判断是否为闰年。
#include “stdafx.h”
int isLeapYear(int year){
int isLeapYear;
if(year%4==0 && (year%100!=0 ||year%400==0))
isLeapYear=1;
else
isLeapYear=0;
return isLeapYear;
}
int _tmain(int argc, _TCHAR* argv[])
{
int year;
scanf(“%d”,&year);
int flag=isLeapYear(year);
if(flag==1)
printf(“true”);
else
printf(“false”);
printf(“\n”);
}