三、綜合應(yīng)用(1小題,計(jì)30分)
考生文件夾下有學(xué)生管理數(shù)據(jù)庫(kù)stu_nine,數(shù)據(jù)庫(kù)中有score1表,其庫(kù)結(jié)構(gòu)是學(xué)
號(hào)C(10)、少數(shù)民族L、優(yōu)秀干部L、三好生L、考試成績(jī)I、總成績(jī)I。其中,前
五項(xiàng)已有數(shù)據(jù)
請(qǐng)編寫并運(yùn)行符合下列要求的程序:
設(shè)計(jì)一個(gè)名為form_stu的表單,表單中有兩個(gè)命令按鈕,按鈕的名稱分別為
cmdYes和cmdNo,標(biāo)題分別為"計(jì)算"和"關(guān)閉"。
程序運(yùn)行時(shí),單擊"計(jì)算"按鈕應(yīng)完成下列操作
(1)計(jì)算每一個(gè)學(xué)生的總成績(jī)?偝煽(jī)的計(jì)算方法是:考試成績(jī)+加分,加分的規(guī)
則是:如果該生是少數(shù)民族(相應(yīng)數(shù)據(jù)字段為 .T.)加分5分,優(yōu)秀干部加分10分,三好生加分20分,加分不累計(jì),取最高的 。例如,如果該生既是少數(shù)民族又是三好生,加分為20分。如果都不是,總成績(jī)=考試成績(jī)
(2)根據(jù)上面的計(jì)算結(jié)果,生成一個(gè)新的自由表 ZCJ,該表只包括學(xué)號(hào)和總成績(jī)兩項(xiàng),并按總成績(jī)的升序排序,如果總成績(jī)相等,則按學(xué)號(hào)的升序排序。單擊"關(guān)閉"按鈕,程序終止運(yùn)行。
本題主要考核點(diǎn):
表單的建立、程序設(shè)計(jì)中循環(huán)結(jié)構(gòu)、條件結(jié)構(gòu)的應(yīng)用、SELECT語(yǔ)句的應(yīng)用等知識(shí)點(diǎn)
解題思路:
第一步:利用表單設(shè)計(jì)器建立所要求的表單,將在表單上添加兩個(gè)按鈕控件。分別設(shè)置兩個(gè)按鈕控件的標(biāo)題和名字屬性。
第二步:雙擊標(biāo)題為"計(jì)算"的按鈕控件,在新打開的窗口中添加此按鈕的CLICK事件代碼:
SET TALK OFF &&在程序運(yùn)行下關(guān)閉命令結(jié)果的顯示
OPEN DATABASE STU_NINE &&打開數(shù)據(jù)庫(kù)文件
USE SCORE1 &&打開成績(jī)表
DO WHILE NOT EOF() &&遍歷成績(jī)表中的每一條記錄
STORE 0 TO JF &&對(duì)變量JF賦值0
DO CASE
CASE 三好生
JF=20
CASE 優(yōu)秀干部
JF=10
CASE 少數(shù)民族
JF=5
OTHERWISE
JF=0
ENDCASE
&&DO CASE…..ENDCASE條件語(yǔ)句中每次僅運(yùn)行其中的一組命令。
&&如果第一個(gè) CASE 條件表達(dá)式 中條件表達(dá)式為.T.,則執(zhí)行第一個(gè)CASE
&&和第二個(gè)CASE之間的語(yǔ)句,而即使下面的有滿足條件的CASE也不再執(zhí)行
&&如果所有的CASE條件都不滿足,則執(zhí)行OTHERWISE與ENDCASE之間的語(yǔ)句
&&所以這里要將"三好生"放在第一個(gè)CASE的位置;"優(yōu)秀干部"話在第二個(gè)CASE中
&&"少數(shù)民族"放在第三個(gè)CASE中
REPLACE 總成績(jī) WITH 考試成績(jī)+JF
&&用當(dāng)前的成績(jī)與可以加的分之和做為總成績(jī)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |