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