文档介绍:计算机上机实****报告
学院:石油工程学院
班级:储运11204
姓名:魏亚荣
学号:XXXXXXX
班内序号:XX
指导教师:XXX
目录
系统名称-----------------------------
1 张某 76 89 89 2
2 李某 91 96 67 3
3 王某 75 58 56 1
4 赵某 58 67 77 4
8)分别统计全班每门课的平均分,并计算各分数段(60分以下;60~69;70~79;80~89;90分以上)的学生人数。用VB创建一个新的数据文件,在该文件中存放数据的格式如下:
范围. 英语 VB .
>=90 3 5 .
80-89 10 12 .
... ... ... ... ... ... ... ... ... ...
打印每名学生成绩条(并将结果存放到用VB创建的一个新的数据文件中)。
10)打印所有存在不及格课程学生的名单(含学号、不及格课程名称、课程的学分及成绩)。
11)打印优等生名单(学号、N门课成绩、平均分名次)
优等生条件:
平均分 ³ 90分
名次在本班位于前三名
平均分³85分,并且有二门课的成绩都 ³ 95分
选做内容:打印每门课成绩分布图
说 明:所有输出结果应写入用VB创建的文件中,格式要整齐,并有适当的文字说明。
实****报告要求:应包括分析设计与说明、部分过程(函数)的源程序清单、程序调试过程中遇到的问题及解决方法,有待改善或改进的意见,对本次实****的意见与建议、收获等。其中原始数据及程序运行的结果应作为附录附于实****报告之后。
四、系统设计分析:
该成绩管理系统中要同时表示学生的学号、姓名、成绩等一些信息,及课程、课程学分等一些信息,由于每项信息的意义不同,数据类型也不同,但还要同时作为一个整体来描叙和处理,因此需要通过用户自定义来解决。所以在编程之前新建一个标准模块用来定义自定义类型。
为了便于后面执行求加权平均分、排名等命令,在Form1发生Load事件时应将学生信息和课程信息读取并放到两个数组中,由于这两个数组在该管理系统的全程序都要用到,因此应定义为全局类型。如是在标准模块中定义两个数组。
由于原始数据文件中相邻的两列之间空格的长短不一,因此在调用Split函数之前应窗体通用模块中自定义一个space1函数将原始数据文件中相邻的两列之间空格数变为相同。
在编写程序时,由于该系统的程序代码较多,因此在编写时要合理。
在打印成绩条、不及格名单、优等生等信息时,应边用write语句分别将数据存入一个新的文件中。
实****必须按着老师的严格要求完成所有的实****任务,并整理成文件打印。
五.窗体设计与程序代码
,具体界面如下
⑴统计“出生日”与幸运日相同的人
Dim stu() As student, n%, kc() As kecheng, x%
Private Sub Command1_Click()
Cls
For i = 1 To UBound(stu())
If Right(stu(i).birthday, 2) = stu(i).luckyday Then
Print stu(i).num; stu(i).name; stu(i).luckyday; stu(i).birthday;
For j = 1 To 5
Print stu(i).score(j);
Next j
Print
End If
Next i
End Sub
⑵统计不及格学生的名单
Private Sub Command10_Click()
Cls
Print "序号"; Spc(3); "姓名"; Spc(3); "成绩"; Spc(3); "学分"; Spc(3); "课程";
For i = 1 To UBound(stu())
For j = 1 To 5
If stu(i).score(j) < 60 Then
Print Tab(0); stu(i).num; Spc(