


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、長江大學長江大學計算機上機實習(vb)學號:油工21302姓名:*院系:石油工程學院*班級:油工* 序號: 指導老師:張老師 日期:2015年1月10日目錄摘要 TOC o 1-5 h z HYPERLINK l bookmark4 o Current Document 一、題目1 HYPERLINK l bookmark6 o Current Document 二、實習目的1二、實習要求1 HYPERLINK l bookmark13 o Current Document 二、系統詳細設計(模塊功能描述) 2三、系統應用說明(運行成果展示) 6實習心得6附錄7長江大學第 頁一、題目班級學生成
2、績管理系統設計二、實習目的1、熟練掌握VisuaBasic語言的語法規則,VisualBasic程序調試一般方法 和技巧,并能利用 VisuaBasic語言實現簡單程序的設計。2、掌握基本的模塊設計與實現數據文件讀寫、人機界面設計等;3、熟練運用測量平差及程序設計知識,編寫測量程序;4、進一步鞏固VB程序設計課程中所學到的知識,熟練掌握并綜合運用所學的編程技巧。三、實習要求準備工作1.用記事本新建一個文本文件,將本班的 M名學生的有關信息及本學期的 N門考試課的成 績(分數可以參照實際情況模擬,要求將自己的分數放在第一列)輸入到這個文件中,建議按如卜形式存放(注:20WMW50、5=90358
3、0-8910129)打印每名學生成績條(并將結果存放到用VB創建的一個新的數據文件中)。10)打印所有存在不及格課程學生的名單(含學號、不及格課程名稱、課程的學分及成績)11)打印優等生名單(學號、N門課成績、平均分名次)優等生條件:平均分90分名次在本班位于前三名平均分85分,并且有二門課的成績都95分四、系統詳細設計(模塊功能描述)1.進入系統登錄主界面2.出生日與幸運日相同的人統計界面3.統計出分別擁有幸運數字1,2,3,4,5,678,9,0的人數4.能查詢出任何一個你感興趣的人的信息5.可新添加一個人的信息6.可以刪除某個人的信息7.可以對某人的幸運數字進行修改,只修改器幸運數字,其
4、它信息不變8.根據以上兩文件內容分別計算每個學生N門課的加權平均分(保留 2位小數,4舍5入),按平均分排列名次,平均分相同則名次并列9.分別統計全班每門課的平均分,并計算各分數段(60分以下;6069; 7079; 8089; 90分以上)的學生人數。用 VB創建一個新的數據文件10.打印所有存在不及格課程學生的名單(含學號、不及格課程名稱、課程的學分及成績)10打印每名學生的成績五.上機實習心得體會剛開始學習vb的時候,我就覺得大一的計算機基礎根本不值一提,難度相去甚遠。我問過很多以前的同學,他們都說vb是編程語言中最簡單的,但是在這次上機實習過程中,我發現要完成學生成績管理系統實在有很大
5、難度。平時看課本的時候,覺得還能夠理解,看得懂,然而“紙上得來終覺淺,一旦自己調試程序,總會犯很多錯誤,如前面說的“文件未找到”“下標越界”等等,都是平時沒有機會解決和一些曾經被自己忽視的問題。有時候,為了找到代碼中錯誤或不符合要求的地方, 我不得不一遍又一遍地仔細檢查程序, 甚至標點 符號都不能放過。細節決定成敗,一個小小的分號也會起著扭轉乾坤的作用。 這幾天的上機實習,有種讓我感到我已經置身于企業中,我的任務就是不僅要把它順利如期的完成,還要做到自己滿意,老師認可才行。這也讓我有了動力去思考它,去試著做它,去一遍、兩遍、 三遍修改它。我遇到了很多次下標越界,遇到很多次函數未定義,遇到很多這
6、樣那樣的情形, 如果不是親自上機試試, 那我所學的就只能停留在理論階段,這世界,理論與現實總有差距。學習就是為了應用,學習了VB,我不僅學會了編程,跟學習了應擁有怎樣的思維方式和平靜的態度。VB程序就是這樣,不止一種方法,卻擁有跟簡便的方法。腦海中始終要 預備幾個可行的方案,暫時走不通的路先換條路走,總有時間回來想明白那條路為什么走不 通。平靜是種態度,處事不驚,遭遇挫折勿亂,能平靜的繼續走下一方案, 這就是偉大勝利。 上機實習的心情本事復雜的, 是喜悅與懊悔相互夾雜的。慶幸自己還能看懂模板, 還能敲一些代碼;懊悔自己沒多復習書本,要么忘記了知識點,要么根本沒涉及到那需要的知識;我 有慶幸現在
7、復習到了它們。但歸根結底,還是書到用時方恨少,所以呢,人不能這樣。來到大學,還沒接受到專業課,感覺這 VB才是我真正學到的東西。附錄:系統代碼Dim grade() As String * 10Dim credit(4) As String * 10Dim N%Private Sub add_Click()Dim t%Do While 1t = Val(InputBox(請輸入序號(enter -1 to end):,序號,) If t = -1 Then Exit Doi = NReDim Preserve grade(10, i)grade(0, i) = space3(Str(t)gra
8、de(1, i) = InputBox(”請輸入姓名:,姓名,)grade(1, i) = space2(grade(1, i)grade(2, i) = InputBox(請輸入幸運日,幸運日,)grade(2, i) = space3(grade(2, i)grade(3, i) = InputBox(請輸入出生日期(如:1995-12-06),出生日期,)grade(4, i) = InputBox(請輸入英語成績,英語成績,)grade(5, i) = InputBox(請輸入 VB 成績,VB 成績,)grade(6, i) = InputBox(請輸入數學成績,數學成績,)grad
9、e(7, i) = InputBox(請輸入體育成績,體育成績,) grade(8, i) = InputBox(請輸入專業課成績,專業課成績,) grade(9, i)= grade(10, i)=油工成績單.txt For Append As #1Forj = 0 To 8Print #1, grade(j, i);If j = 1 And Len(Trim(grade(1, i) = 4 Then Print #1, Space(1);If j = 3 Then Print #1, Space(4);Next jPrint #1,ClsPrint ”添加成功!Close #1N = N
10、+ 1LoopEnd SubPrivate Sub average_grade_of_all_Click()Dim num(4, 4) As Integer, a!(4), str1$For i = 0 To N - 1Forj = 4 To 8Select Case Val(grade(j, i)= 90num(0, j - 4) = num(0, j - 4) + 1= 80num(1, j - 4) = num(1, j - 4) + 1= 70num(2, j - 4) = num(2, j - 4) + 1= 60num(3, j - 4) = num(3, j - 4) + 1Ca
11、se Elsenum(4, j - 4) = num(4, j - 4) + 1End SelectSelect Case ja(0) = a(0) + Val(grade(j, i)a(1) = a(1) + Val(grade(j, i)a(2) = a(2) + Val(grade(j, i)a(3) = a(3) + Val(grade(j, i)a(4) = a(4) + Val(grade(j, i)End SelectNext jNext ia(0) = a(0) / Na(1) = a(1) / Na(2) = a(2) / Na(3) = a(3) / Na(4) = a(4
12、) / N每門課平均分.txt For Output As #1ClsPrint Space(10);每門課平均分PrintPrint #1, Space(2);范圍;Space(9);英語;Space(6); vb; Space(6);數學;Space(5); 體育;Space(5);專業課Print Space(2);范圍;Space(9);英語;Space(6); vb; Space(6);數學;Space(5);體育 ;Space(5);專業課For i = 0 To 4Select Case iCase 0Print #1, 90,100; Space(7); num(i, 0);
13、Space(6); num(i, 1); Space(6); num(i, 2);Space(6); num(i, 3); Space(5); num(i, 4)Print 90,100; Space(7); num(i, 0); Space(6); num(i, 1); Space(6); num(i, 2);Space(6); num(i, 3); Space(5); num(i, 4)Print #1, 80, 90); Space(7); num(i, 0); Space(6); num(i, 1); Space(6); num(i, 2);Space(6); num(i, 3); S
14、pace(6); num(i, 4)Print 80, 90); Space(7); num(i, 0); Space(6); num(i, 1); Space(6); num(i, 2);Space(6); num(i, 3); Space(6); num(i, 4)Print #1, 70, 80); Space(7); num(i, 0); Space(6); num(i, 1); Space(6); num(i, 2);Space(6); num(i, 3); Space(6); num(i, 4)Print 70, 80); Space(7); num(i, 0); Space(6)
15、; num(i, 1); Space(6); num(i, 2);Space(6); num(i, 3); Space(6); num(i, 4)Print #1, 60, 70); Space(7); num(i, 0); Space(6); num(i, 1); Space(6); num(i, 2);Space(6); num(i, 3); Space(6); num(i, 4)Print 60, 70); Space(7); num(i, 0); Space(6); num(i, 1); Space(6); num(i, 2);Space(6); num(i, 3); Space(6)
16、; num(i, 4)Print #1, 0,60); Space(7); num(i, 0); Space(6); num(i, 1); Space(6); num(i, 2);Space(6); num(i, 3); Space(6); num(i, 4)Print 0,60); Space(7); num(i, 0); Space(6); num(i, 1); Space(6); num(i, 2);Space(6); num(i, 3); Space(6); num(i, 4)End SelectNext iPrint #1,平均分;Space(8); Format(a(0), 0.0
17、0); Space(4); Format(a(1), 0.00); Space(4);Format(a(2), 0.00); Space(4); _Format(a(3), 0.00); Space(4); Format(a(4), 0.00)Print 平均分;Space(8); Format(a(0), 0.00); Space(4); Format(a(1), 0.00); Space(4);Format(a(2), 0.00); Space(4); _Format(a(3), 0.00); Space(4); Format(a(4), 0.00)Close #1End SubPriva
18、te Sub averge_grade_of_stu_Click()Dim i%, a!(), m!, h!For i = 0 To N - 1ReDim Preserve a(i)m = Val(grade(4, i) * Val(credit(0) + Val(grade(5, i) * Val(credit(1) + _Val(grade(6, i) * Val(credit(2) + Val(grade(7, i) * Val(credit(3) + _Val(grade(8, i) * Val(credit(4)h = Val(credit(0) + Val(credit(1) +
19、Val(credit(2) + Val(credit(3) + Val(credit(4)a(i) = Format(m / h, 0.00)grade(9, i) = Trim(Format(m / h, 0.00)Next iCall paixu(a)For i = 0 To N - 1For j = 0 To N - 1If Val(grade(9, i) = a(j) Then grade(10, i) = Trim(N - j)Next jNext iDim str1$每個學生的加權平均分.txt For Output As #1CisPrint Space(10);”每個學生的加權
20、平均分 PrintPrint #1,序號;Space(6);姓名;Space(8);英語;Space;VB; Space(7);數學;Space(6);體育;Space(6);專業課;_Space(5);”平均分;Space(3);名次Print 序號;Space(6);姓名;Space(8);英語;Space(7); _VB; Space(7);數學;Space(6);體育;Space(6);專業課;_ Space(5);平均分;Space(3);名次For i = 0 To N - 1For j = 0 To 10If j 2 And j 3 ThenPrint #1, grade。,i)
21、;Print grade(j, i);If j = 1 And Len(Trim(grade(1, i) = 4 Then Print #1, Space(1);: Print Space(1);If j = 3 Then Print #1, Space(4);: Print Space(4);End IfNext jPrint #1,PrintNext iClose #1End SubPrivate Sub bth_equare_luck_Click() Dim i%ClsPrint ”出生日與幸運日相同的人信息如下:Print 序號;Space(7);姓名;Space(6);幸運日;Spa
22、ce;出生日期;Space(5); _ 英語;Space;VB; Space;數學;Space(6);體育;Space(6);專業課 For i = 0 To N - 1If Val(grade(2, i) = Day(DateValue(grade(3, i) ThenForj = 0 To 8 Print grade(j, i);If j = 1 And Len(Trim(grade(1, i) = 4 Then Print Space;If j = 3 Then Print Space(4);Next j Print End If Next i End SubPrivate Sub ck
23、eck_Click() Dim name As String * 10, h% name = InputBox(請輸入要查找的姓名:,按姓名查找,)name = space2(name) h = 0 ClsPrint 序號;Space(6);姓名;Space;幸運日;Space;出生日期;Space(6); _ 英語;Space(6); VB; Space(7);數學;Space(6);體育;Space(6);專業課For i = 0 To N - 1If grade(1, i) = name ThenForj = 0 To 8 Print grade(j, i);If j = 1 And L
24、en(Trim(grade(1, i) = 4 Then Print Space;If j = 3 Then Print Space(4);Next j h = h + 1 Print End If Next iIf h = 0 Then Print 無此人! End SubPrivate Sub count_Click() Dim i%, j%, a(1 To 31) As Integer For i = 0 To N - 1For j = 1 To 31If Val(grade(2, i) = j Then a(j) = a(j) + 1 Next jNext i Cls Print 幸運
25、數字,人數 For i = LBound(a) To UBound(a)Print i, a(i)Next i End SubPrivate Sub del_Click()Dim name As String * 10, m%, s什1$, i%, j% m = 0 j = 0name = InputBox(請輸入要刪除的姓名:,刪除姓名,) name = space2(name)ClsFor i = 0 To N - 1If grade(1, i) = name Then油工成績單油工成績單1.txt油工成績單 1.txt Fo門nput As #1 油工成績單.txt For Output
26、 As #2 Do While Not EOF(1)Line Input #1, str1 j = j + 1 If j i + 2 Then Print #2, str1LoopClose #2Close #1油工成績單1.txt m = m + 1End If Next iIf m = 0 ThenPrint 無此人!ElseN = N - 1Print ”刪除成功!End If End SubPrivate Sub edit_Click()Dim name As String * 10, str1$, m%, i%, j% j = 0m = 0name = InputBox(請輸入要修改
27、人姓名:,修改幸運日,)name = space2(name)ClsFor i = 0 To N - 1If grade(1, i) = name Thengrade(2, i) = InputBox(請輸入修改后的幸運日:,修改幸運日,)grade(2, i) = space3(grade(2, i)油工成績單油工成績單1.txt油工成績單 1.txt Fo門nput As #1油工成績單.txt For Output As #2Do While Not EOFLine Input #1, str1j= j + 1If j = i + 2 ThenIf Len(Trim(grade(1, i
28、) = 4 Thenstr1 = grade(0, i) + grade(1, i) + + grade(2, i) + grade(3, i) + _Space(4) + grade(4, i) + grade(5, i) + grade(6, i) + grade(7, i) + grade(8, i) Elsestr1 = grade(0, i) + grade(1, i) + grade(2, i) + grade(3, i) + _Space(4) + grade(4, i) + grade(5, i) + grade(6, i) + grade(7, i) + grade(8, i
29、) End IfEnd IfPrint #2, str1LoopClose #2Close #1油工成績單1.txtm = m + 1End IfNext iIf m = 0 ThenPrint 無此人!ElsePrint ”修改成功!End IfEnd SubPrivate Sub Form_Load()Dim i%, str2$(), str1$i = 0油工成績單.txt For Input As #1Line Input #1, str1Do While Not EOF(1)Line Input #1, strlReDim Preserve grade(10, i)strl = Tri
30、m(str1)str1 = space1(str1)If str1 = Then Exit Dostr2 = Split(str1,)grade(0, i) = space3(str2(0)grade(1, i) = space2(str2(1)grade(2, i) = space3(str2(2)grade(3, i) = str2(3)grade(4, i) = str2(4)grade(5, i) = str2(5)grade(6, i) = str2(6)grade(7, i) = str2(7)grade(8, i) = str2(8)grade(9, i)=grade(10, i
31、)=i = i + 1LoopN = iClose #1油工成績單.txt For Output As #1Print #1,序號;Space(6);姓名;Space(6);幸運日;Space(7);出生日期;Space(5); _英語;Space;VB; Space;數學;Space(6);體育;Space(6);專業課For i = 0 To N - 1Forj = 0 To 8Print #1, grade。,i);If j = 1 And Len(Trim(grade(1, i) = 4 Then Print #1, Space(1);If j = 3 Then Print #1, S
32、pace(4);Next jPrint #1,Next iClose #1i = 0ReDim Str(2)課程學分.txt For Input As #2Line Input #2, str1Do While Not EOF(2)Line Input #2, str1str1 = Trim(str1)str1 = space1(str1)str2 = Split(str1,)credit(i) = Trim(str2(2)i = i + 1LoopClose #2ClsPrint 加載成功!End SubFunction space1(ByVal str1$)Dim N% TOC o 1-5
33、 h z N = InStr(str1,)Do While N 0str1 = Replace(str1,)N = InStr(str1,)Loopspace1 = str1End FunctionFunction space2(ByVal str2$)str2 = Trim(str2)If Len(str2) 3 Then str2 = Left(str2, 1) + + Right(str2, 1)space2 = str2End FunctionFunction space3(ByVal str3$)str3 = Trim(str3)If Len(str3) a(j + 1) Thent
34、 = a(j)a(j) = a(j + 1)a(j + 1) = th = h + 1End IfNext jIf h = 0 Then Exit ForNext iEnd SubPrivate Sub print_for_bad_Click()Dim str1$不及格學生名單.txt For Output As #1ClsPrint Space(10);”不及格學生名單PrintPrint #1,姓名;Space(9);序號;Space(6);課程;Space(6);學分;Space(7);成績Print 姓名;Space(9);序號;Space(6);課程;Space(6);學分;Spac
35、e(7);成績For i = 0 To N - 1Forj = 4 To 8Select Case jIf Val(grade(j, i) 60 ThenIf Len(Trim(grade(1, i) = 4 Thenstr1 = grade(1, i) + + grade(0, i) + _英語+ credit(0) + grade(j, i)Elsestr1 = grade(1, i) + grade(0, i) + _英語+ credit(0) + grade(j, i)End IfPrint #1, str1Print str1End IfIf Val(grade(j, i) 60 T
36、henIf Len(Trim(grade(1, i) = 4 Thenstr1 = grade(1, i) + + grade(0, i) + _vb + credit(1) + grade。,i)Elsestr1 = grade(1, i) + grade(0, i) + _vb + credit(1) + grade。,i)End IfPrint #1, str1Print str1End IfIf Val(grade(j, i) 60 ThenIf Len(Trim(grade(1, i) = 4 Thenstr1 = grade(1, i) + + grade(0, i) + _數學+ credit(2) + grade(j, i)Elsestr1 = grade(1, i) + grade(0, i) + _數學+ credit(2) + gr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環境保護與節能減排教育培訓
- 小兒肺炎的臨床表現及護理
- 幼兒健康活動保護耳朵
- 領導講安全課件
- 顱骨修補術后護理課件
- 顱內占位護理課件
- 胃癌腹腔鏡手術護理常規
- 預防欺凌主題班會課件
- 《機械設計基礎》課件-第13章 軸
- 預防兒童溺水課件
- 招商大使選聘管理辦法
- 2025年中國鐵路集團招聘筆試備考題庫(帶答案詳解)
- 用工風險培訓課件
- 海外現場安全健康環境管理(HSE)
- DLT 5035-2016 發電廠供暖通風與空氣調節設計規范
- DZ∕T 0201-2020 礦產地質勘查規范 鎢、錫、汞、銻(正式版)
- 小小科學家《物理》模擬試卷A(附答案)
- 《風電場項目經濟評價規范》(NB-T 31085-2016)
- TCAREI 001-2021 民用醇基液體燃料安全技術規范
- 檢驗科員工個人技術檔案
- 企業拆除前現場清查登記表
評論
0/150
提交評論