【正文】
r cursor for select course_Com,course_Num,course_Name,course_Grade,course_cent,course_Time,course_Tnum,course_Tname,course_Zhouci,course_Times,course_Sump,course_Subp,course_cha from course_Info where course_Grade=:users and course_Term=:getterm and course_School=:schools。 open codecur。 fetch codecur into:,:num,:name,:grade,:cent,:time1,:tnum,:tname,:zhouci,:time2,:sump,:subp,:cha。 do while =0 (inde,trim(選課 ),1) (inde,2,trim()) (inde,3,trim(num)) (inde,4,trim(name)) (inde,5,trim(grade)) (inde,6,trim(string(cent))) (inde,7,trim(string(time1))) (inde,8,trim(tnum)) 33 (inde,9,trim(tname)) (inde,10,trim(zhouci)) (inde,11,trim(time2)) (inde,12,trim(string(sump))) (inde,13,trim(string(subp))) (inde,14,trim(cha)) inde=inde+1 fetch codecur into:,:num,:name,:grade,:cent,:time1,:tnum,:tname,:zhouci,:time2,:sump,:subp,:cha。 loop close codecur。 學(xué)期選擇界面用以確定學(xué)生選課學(xué)期,每年分為春秋兩學(xué)期,由數(shù)字形式的字符串表示,比如 2022 年至 2022 年這一年中春秋兩學(xué)期分別表示為: 202220221 和202220222。界面如圖 圖 學(xué)期選擇窗口 專業(yè)選課界面顯示出了學(xué)生對(duì)應(yīng)學(xué)期、年級(jí)的所有可以選 擇的專業(yè)課程信息,提供給學(xué)生一個(gè)選課參考。如圖 34 圖 專業(yè)選課窗口 根據(jù)窗口中列出的所有可以選擇的課程,如果想選擇某一門課程,則單擊 選課 就可以進(jìn)行課程選擇,如果你已經(jīng)選擇了此門課程,則提示已經(jīng)選擇此課程;系統(tǒng)規(guī)定每學(xué)期最多只能選擇 20個(gè)學(xué)分的課程(不包括重修),要是所選擇的課程學(xué)分?jǐn)?shù)加上已經(jīng)選課程的總學(xué)分?jǐn)?shù)大于 20 個(gè)學(xué)分,則選課不成功;如果所選擇的課程人數(shù)已經(jīng)選滿,則選課也不成功。 選課代碼如下: string ,sname,grade,tnum,tname,zhouci,time2,cha,term,school string um,ame,a,b,cents double cent,sumcent int time1,sump,subp long ch integer dex dex= () (dex,3, um) (dex,4,ame) (dex,6,cents) if um=39。39。then else ch=messagebox(提示 ,最多可選擇 20 個(gè)學(xué)分 !+你確定選 +trim(ame)+ 35 擇這門課程嗎? ,question!,YesNoCancel!) if ch=1 then select choise_Snum,choise_Cnum into :a,:b from choise_Info where choise_Snum=:user and choise_Cnum=:um。 if user=trim(a) and um=trim(b) then messagebox(提 示 ,你已經(jīng)選擇了 + +trim(ame)+ +擇這門課程 !) else select sum(choise_Cent) into :sumcent from choise_Info where choise_Snum=:user and (choise_Cha= 專業(yè)選修 or choise_Cha=專業(yè)必修 or choise_Cha=公共選修 or choise_Cha=公共必修 or choise_Cha=素質(zhì)選修 )。 if sumcent + double(cents) double(20) then messagebox( 提示 , 最多選 20 個(gè)學(xué)分 + 你已經(jīng)選+trim(string(sumcent))+個(gè)學(xué)分 !+trim(ame)+ +學(xué)分為 +trim(cents)) return end if select course_Com,course_Grade,course_cent,course_Time,course_Tnum,course_Tname,course_Zhouci,course_times,course_Sump,course_Subp,course_Cha,course_School into :,:grade,:cent,:time1,:tnum,:tname,:zhouci,:time2,:sump,:subp,:cha,:school from course_Info 36 where course_Num=:um。 if sump subp = 0 then messagebox(提示 ,選擇此門課的人數(shù)已滿 !) return end if select std_Name into :sname from std_Info where std_Num=:user。 insert into choise_Info (choise_Com,choise_Snum,choise_Sname,choise_Cnum,choise_Cname,choise_Grade,choise_Cent,choise_Time,choise_Tnum,choise_Tname,choise_Zhouci,choise_Times,choise_Cha,choise_Term,choise_School) values(:,:user,:sname,:um,:ame,:grade,:cent,:time1,:tnum,:tname,:zhouci,:time2,:cha,:getterm,:school)。 if =0 then subp=subp+1 update course_Info set course_Subp=:subp where course_Num=:um。 messagebox(提示 ,trim(ame)+ +這門課選擇成功 !) end if end if else end if end if 37 167。 學(xué)生查詢功能的實(shí)現(xiàn) 學(xué)生查詢模塊可以查詢各種信息他主要由選課查詢、課表查詢、資費(fèi)查詢及成績查詢 4個(gè)部分組成 [8]。各部分介紹如下: 選課查詢界面: 圖 選課查詢窗口 當(dāng)學(xué)生選課結(jié)束 以后,系統(tǒng)把學(xué)生當(dāng)前提交的課程信息保存到一個(gè)臨時(shí)的表中,等待教務(wù)員審訂通過選課,這時(shí)學(xué)生可以對(duì)已經(jīng)選擇的課程進(jìn)行查詢,確定原來選擇的課程是否選上,并且當(dāng)不滿意原來所選的選課時(shí)候,學(xué)生可以撤消不滿意的課程,然后做再次調(diào)整,直到學(xué)生滿意所有的課程選擇,選課查詢界面相當(dāng)于學(xué)生對(duì)課程選擇的修改、確認(rèn)界面。 代碼如下: integer inde=1 string ,um,ame,grade,tnum,tname,zhouci,time2,cha double cent int time1,subp string ums,ames,chas integer dexs long k dexs= () 38 (dexs,3, ums) (dexs,4, ames) (dexs,12, chas) ums=trim(ums) if ums=then else k=messagebox( 提示 , 你 真 的 想 撤 消 課 程 +trim(ames)+ ?,question!,YesNoCancel!) if k=1 then delete from choise_Info where choise_Snum=:user and choise_Cnum=:ums。 if =0 then messagebox(提示 ,課程 +trim(ames)+ 撤消成功 !) if trim(chas)=素質(zhì)選修 then select courses_Subp into :subp from courses_Info where courses_Num=:ums。 subp=subp 1 update courses_Info set courses_Subp=:subp where courses_Num=:ums。 else select course_Subp into :subp from course_Info where course_Num=:ums。 subp=subp 1 39 update course_Info set course_Subp=:subp where course_Num=:ums。 end if () declare codecur cursor for select choise_Com,choise_Cnum,choise_Cname,choise_Grade,choise_Cent,choise_Time,choise_Tnum,choise_Tname,choise_Zhouci,choise_Times,choise_Cha from choise_Info where choise_Snum=:user。 open codecur。 fetch codecur into:,:um,:ame,:grade,:cent,:time1,:tnum,:tname,:zhouci,:time2,:cha。 do while =0 (inde,trim(撤消 ),1) (inde,2,trim()) (inde,3,trim(um)) (inde,4,trim(ame)) (inde,5,trim(grade)) (inde,6,trim(string(cent))) (inde,7,trim(string(time1))) (inde,8,trim(tnum)) (inde,9,trim(tname)) (inde,10,trim(zhouci)) (inde,11,trim(time2)) (inde,12,trim(cha)) 40 inde=inde+1 fetch codecur into:,:um,:ame,:grade,:cent,:time1,:tnum,:tname,:zhouci,:time2,:cha。 loop close codecur。 end if else end if end if 資費(fèi)查詢界面: 圖 資費(fèi)查詢窗口 資費(fèi)查詢界面 實(shí)現(xiàn)學(xué)生費(fèi)用查詢功能,即對(duì)已經(jīng)選擇的課程所交納費(fèi)用的查詢,需要交納費(fèi)用的課程科目包