北大“軟件工程”上機考試題

字號:

一、問題陳述
    在一簡化的銀行存款系統(tǒng)中,前臺服務員負責處理客戶的存取款要求,存款時客戶需要填寫存款單(客戶名,帳號,類別(活期,定期),金額),取款時客戶需要填寫取款單(客戶名,帳號,金額)并輸入密碼,前臺服務員負責錄入客戶的存取/款單;客戶還可以通過自助存取款機進行存取款操作,在交易時需要客戶自己輸入上述信息;銀行經理可以查詢每日/月的存取款統(tǒng)計信息,銀行經理和前臺服務員還可以查詢每個客戶的存取款記錄。
    1)請用結構化分析方法,建立該系統(tǒng)的模型,畫出數據流圖的頂層、0層和一層圖(包括建立頂層和0層的數據字典,可以不寫加工說明)
    2)請用面向對象方法,識別該系統(tǒng)有哪些主要的類,并寫出類的主要屬性和操作
    二、根據所給源程序及該程序的可執(zhí)行程序,完成下列要求:
    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”);
    }