人人范文网 范文大全

计算机上机实习报告

发布时间:2020-03-03 07:15:28 来源:范文大全 收藏本文 下载本文 手机版

计算机上机实习报告

姓名:张陆浩 班级:高材11001 学号:201001978 老师:张老师 熊老师 时间:2011年12月24日

一.实验目的: 1.熟悉VB 6.0的开发环境,掌握基本的编程方法,熟悉用VB语言完成一个应用程序的设计过程,掌握有关编辑和调试程序的方法和技巧; 2.主要掌握VB语言中的标准模块的建立﹑数据文件的读出与写入、数组与选择结构的运用,图形操作等内容

3.了解开发简单应用程序的全过程,包括:分析﹑设计﹑编程﹑调试和编写报告.二.实习要求:

(一)。用记事本新建一个文本文件,将本班M名学生N门考试课的成绩输入到这个文件中,建议按如下形式存放(注:20=M

姓名

英语

数学

物理

化学

VB 1

张陆浩

97

98

97

97

98 2

林丹

92

87

79

91

84 3

李宗伟

75

96

83

75

73 4

李永波

89

93

83

86

82

(二)。将N门考试课以及其分数输入到另一个数据文件(文件类型同上题)中,建议以下列形式存放: 编号 课程名称 课程学分 1 英语 5.0 2 数学 4.5 3 物理 5.0 4 化学 4.5 5 VB 4.5

(三)。请编写一个简单的学生成绩管理程序,以完成以下功能: 1.根据以上两文件内容分别计算每个学生N门课程的加权平均分(保留两位小数,四舍五入),按平均分排列名次,平均分相同则名

次并列。用VB创建一个数据文件,存放班级的成绩表。

2.分别统计全班每门课的平均分,并计算各分数段(90分以上;80~89;70~79;60~69;60分以下)的学生数。.3.打印每名学生成绩条(并将结果存放到用VB创建的一个新的数据文件中)。

4.显示所有存在不及格课程的学生的名单(含学号,不及格课程名称,课程的学分及成绩)。

5.屏幕显示优等生名单及打印每门课程成绩分布图。 优等生条件(只要满足三个中任一个就可以): a)平均分>=90分

b) 名次在本班位于前四名

c)平均分>=85分,并且至少有一门课的成绩>=95分

三、实习步骤

1、用记事本新建一个学生成绩文本文件(其中包括学生学号,成绩,姓名,课程及成绩)。

2、用记事本新建一个课程学分文本文件。

3、编辑菜单编辑器:编辑四个可拉式菜单,包括学生成绩、成绩处理、成绩编辑、画图。

4、编辑代码:分别编辑打印学生成绩和学分代码,编辑加权平均分、各科平均分、分数段、成绩条、排名、优等生、差等生的代码,还有画各科目成绩人数图的代码。

5、调试程序代码并保存。

6、打印代码。

三.相关数据列表:

(一)。源文件

(1)成绩

学号 姓名 英语 数学 物理 化学 VB 1 张陆浩 97 98 97 97 98 2 林丹 92 87 79 91 84 3 李宗伟 75 96 83 75 73 4 李永波 89 93 83 86 82 5 王仪涵 92 79 89 86 80 6 汪鑫 93 65 86 68 84 7 付海峰 94 91 89 92 80 8 湛龙 86 83 88 80 92 9 盖德 68 79 54 72 71 10 陶菲克 69 76 59 81 75 11 佐佐木 85 83 68 57 71 12 李娜 94 63 62 65 53 13 陈金 86 79 89 94 83 14 兰洋 91 93 92 89 75 15 小志 95 89 93 86 87 16 棃一名 92 86 83 67 59 17 吴凯飞 67 75 57 82 62 18 江方 93 80 73 76 84 19 胡艳 74 68 58 63 71 20 张继原 68 95 68 84 93 (2).学分

编号 课程名称 课程学分 1 英语 5.0 2 数学 4.5 3 物理 5.0 4 化学 4.5 5 VB 4.5 四.运行效果:

(一).学生管理

(1)打开课程成绩及学分

(2) 打开计算的加权平均分﹑排名及各科平均分

(三).编辑

(1) 打开计算的各科人数分布

(2) 打开按学号查找每个学生的成绩 a) 输入要查找学生的学号

b) 得到该生的成绩条

(3) 打开查找到的优等生信息

(4) 打开不及格学生的分布

(四).成绩分布图

五.实习小结

通过两个星期的上机实习,我体会颇深,不仅表现在VB语言程序设计中,而且表现在与人交流和独立自主完成任务的决心中。

本次上机在VB程序设计中我学会了很多以前不会或根本一点都不懂的东西。比如,在程序设计过程中,刚开始我弄不清楚怎样把编辑的文件读到VB中,但是通过询问老师和同学讨论,终于弄清了思路,即先将文件打开,再将数据分别放入若干个数组中,最后再将它读出来。除此之外,我还明白了变量的作用域对编程的重要性和子过程,函数过程数据处理的帮助。而对以前学的,像选择结构,循环结构等也进行了巩固和运用。在数据处理和打印的时候进行了大量运用。为了使程序更人性化化,我还运用了msgbox,inputbox等方法,使我对所学的知识进行了综合的运用。

我相信通过这次实习,我对VB和计算机语言都有了更深刻的认识。虽然在实习的过程中,我发现了自己在编写程序中的不足,像思维不够严密等,但我相信,只要认真、努力就一定会有收获

六 .程序代码

(一).创建标准模块

Type student “定义变量:student” number As String * 9 name As String * 3 score(1 To 5) As Single average As Single rank As Integer End Type Type cla “定义变量:cla” num As String * 9 nam As String * 3 scor As Single End Type Public stu() As student, cla() As cla, sumscor As Integer, subj() As cla Public q(5) As Integer, t(5) As Integer, x(5) As Integer, y(5) As Integer, h(5) As Integer “定义删除空格函数” Public Function deletespace(str As String) As String Dim i% i = InStr(str, " ") Do While i o str = Replace(str, " ", " ") i = InStr(str, " ") Loop deletespace = str End Function Public Sub addave(stu() As student, cou() As course) “定义计算加 For i = 1 To UBound(stu) 权平均分 Dim jqpj!, x!, y! 的子过

x = 0 y = 0 For j = 1 To 5 x = x + cou(j).score y = y + stu(i).score(j) * cou(j).score Next j stu(i).jqpj = y / x Next i End Sub Public Sub mc(stu() As student) “定义计算排名的子过程” For i = 1 To UBound(stu) stu(i).rank = 0 For j = 1 To UBound(stu) If stu(i).jqpj

Private Sub studentscore_Click() CommonDialog1.Filter = "文本文件|*.txt" CommonDialog1.ShowOpen Open CommonDialog1.FileName For Input As #1 Line Input #1, str1 Print str1 Do While Not EOF(1) Line Input #1, str str = deletespace(Trim(str)) a = Split(str, " ") n = n + 1 ReDim Preserve stu(n) stu(n).number = a(0) stu(n).name = a(1) For i = 1 To 5 stu(n).score(i) = a(i + 1) Next i Loop For i = 1 To n Print stu(i).number; Spc(1); stu(i).name; Spc(3); For j = 1 To 5 Print stu(i).score(j); Spc(3); Next j Print Next i Close #1 End Sub Private Sub clarank_Click() CommonDialog2.Filter = "文本文件|*.txt" CommonDialog2.ShowOpen Open CommonDialog2.FileName For Input As #2 Line Input #2, str2 Print str2 sumscor = 0 Do While Not EOF(2) Line Input #2, str3 str3 = deletespace(Trim(str3)) b = Split(str3, " ") m = m + 1 ReDim Preserve cla(m) cla(m).num = b(0) cla(m).nam = b(1) cla(m).scor = b(2) sumscor = sumscor + Val(cla(m).scor) Loop For k = 1 To m Print cla(k).num; Spc(2); cla(k).nam; Spc(3); cla(k).scor; Spc(3) Next k End Sub (2).分数处理

Private Sub ran_Click() “加权平均分及名次” Form1.Cls For n = 1 To 20 sum = 0 For i = 1 To 5 sum = sum + stu(n).score(i) * cla(i).scor Next i stu(n).average = Format(sum / sumscor, "##.##") Next n For n = 1 To 20 stu(n).rank = 1 For j = 1 To 20 If stu(n).average

Print Spc(7); "英 语"; Spc(1); "数 学"; Spc(1); " 物 理"; Spc(1); "化 学"; Spc(1); "V B" Print "平均分"; For i = 1 To 5 sum = 0 For n = 1 To 20 sum = sum + stu(n).score(i) Next n j = Format(sum / 20, "00.00") Print Spc(2); j; Next i End Sub (3).编辑 Private Sub scor_Click() “计算打印个分数段人数” Form1.Cls Print "范围"; "英 语"; Spc(3); "数 学"; Spc(3); " 物 理"; Spc(3); "化 学"; Spc(3); "V B" For i = 1 To 5 For n = 1 To 20 Select Case stu(n).score(i) Case 90 To 100 q(i) = q(i) + 1 Case 80 To 89 x(i) = x(i) + 1 Case 70 To 79 t(i) = t(i) + 1 Case 60 To 69 h(i) = h(i) + 1 Case Else y(i) = y(i) + 1 End Select Next n Next i Print ">90"; For i = 1 To 5 Print Spc(4); q(i); Next i Print Print "80_89"; For i = 1 To 5 Print Spc(4); x(i); Next i Print Print "70_79"; For i = 1 To 5 Print Spc(4); t(i); Next i Print Print "60_69"; For i = 1 To 5 Print Spc(4); h(i); Next i Print Print "= 95 Then t = t + 1 End If Next j If stu(i).average >= 85 And t >= 2 Or stu(i).average >= 90 Or stu(i).rank

Private Sub Command1_Click() “新建窗体form2” For i = 0 To 4 Picture1(i).Scale (0, 14)-(100, 0) Picture1(i).Line (10, 2)-(92, 2), vbRed Picture1(i).Print "分数段" Picture1(i).Line (10, 2)-(10, 14), vbRed Picture1(i).Print "人数" For j = 2 To 10 Step 2 Picture1(i).CurrentY = j + 2 Picture1(i).CurrentX = 4 Picture1(i).Print j Next j Picture1(i).CurrentX = 10 Picture1(i).CurrentY = 2 Picture1(i).Line (10, 2)-(26, 2 + q(1 + i)), vbGreen, BF Picture1(i).CurrentX = 26 Picture1(i).CurrentY = 2 Picture1(i).Line (26, 2)-(42, 2 + x(i + 1)), vbRed, BF Picture1(i).CurrentX = 42 Picture1(i).CurrentY = 2 Picture1(i).Line (42, 2)-(58, 2 + t(i + 1)), vbGreen, BF Picture1(i).CurrentX = 58 Picture1(i).CurrentY = 2 Picture1(i).Line (58, 2)-(74, 2 + h(i + 1)), vbRed, BF Picture1(i).CurrentX = 74 Picture1(i).CurrentY = 2 Picture1(i).Line (74, 2)-(90, 2 + y(i + 1)), vbGreen, BF Picture1(i).Line (10, 2)-(26, 2), vbGreen Picture1(i).Line (26, 2)-(42, 2), vbRed Picture1(i).Line (42, 2)-(58, 2), vbGreen Picture1(i).Line (58, 2)-(74, 2), vbRed Picture1(i).Line (74, 2)-(90, 2), vbGreen Picture1(i).CurrentX = 10 Picture1(i).CurrentY = 2 Picture1(i).Print " >=90 80-89 70-79 60-69

西南交通大学计算机上机实习报告

计算机地质学上机实习报告1

计算机组成原理上机实习报告总结

上机实习报告2

CAD上机实习报告

成本会计上机实习报告

大地测量上机实习报告

linux上机实习报告

上机实习实践报告

arcgis上机实习报告

计算机上机实习报告
《计算机上机实习报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档