VFP順序結(jié)構(gòu)和選擇結(jié)構(gòu)

字號(hào):

vfp支持3種基本程序控制構(gòu)造:順序結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)
     一.順序結(jié)構(gòu):我們將依次執(zhí)行程序中的語(yǔ)句的程序結(jié)構(gòu)稱(chēng)為順序結(jié)構(gòu),這是最簡(jiǎn)單的1種程序結(jié)構(gòu)
    例:順序結(jié)構(gòu)例程
    程序文件內(nèi)容:
    set talk off
    clear
    input "請(qǐng)輸入圓的半徑:" to r
    s=3.1415926*r*r
    "圓的面積是:",s
    return
    說(shuō)明:執(zhí)行程序時(shí),屏幕上顯示提示信息:請(qǐng)輸入圓的半徑.當(dāng)用戶(hù)鍵入半徑并按回車(chē)時(shí),vfp計(jì)算出圓的面積并顯示在屏幕上.
     二.選擇結(jié)構(gòu):實(shí)際應(yīng)用中,常需要先判斷后處理,根據(jù)不同情況做不同的處理.選擇結(jié)構(gòu)就是對(duì)指定的條件進(jìn)行判斷,如果條件成立,則執(zhí)行指定的語(yǔ)句序列.在vfp中,選擇結(jié)構(gòu)包括if語(yǔ)句和do case語(yǔ)句.
    1.if語(yǔ)句:
    格式:
    if 條件
    語(yǔ)句序列1
    [else]
    [語(yǔ)句序列2]
    endif
    說(shuō)明:
    (1).格式中的條件,多為條件表達(dá)式或邏輯表達(dá)式,結(jié)果為邏輯真或邏輯假
    (2).執(zhí)行該語(yǔ)句時(shí),首先對(duì)條件進(jìn)行判斷,如果是邏輯真,則執(zhí)行語(yǔ)句序列1,然后轉(zhuǎn)到endif后的第1條語(yǔ)句繼續(xù)執(zhí)行;否則執(zhí)行語(yǔ)句序列2,然后轉(zhuǎn)到endif后的第1條語(yǔ)句繼續(xù)執(zhí)行.
    (3).需判斷的條件比較多時(shí),可以使用if語(yǔ)句嵌套.
    (4)endif必須與if成對(duì)出現(xiàn)
    例:設(shè)計(jì)1個(gè)查詢(xún)程序,希望當(dāng)待人不存在時(shí)有信息提示.
    程序文件內(nèi)容:
    clear
    accept "請(qǐng)輸入待查人姓名" to xm
    locate for 姓名=xm
    if .not.eof()
    display
    else
    messagebox("查無(wú)此人")
    endif
    use
    return
    說(shuō)明:程序執(zhí)行時(shí),執(zhí)行l(wèi)ocate命令時(shí),記錄指針從表的首記錄一直找到最后1條記錄都未發(fā)現(xiàn)該姓名記錄時(shí),記錄指針才最后停在文件尾,此時(shí)eof()為真值;相反,若eof()取假值,則表示記錄指針停在待查人的記錄上.即當(dāng)
    .not.eof()為真時(shí),記錄指針停在待查人的記錄上,查到的指定的記錄.也可用found()來(lái)代替程序中的.not.eof()