长江大学
VB上机实习报告
院系:化学与环境工程学院
班级:应用化学11002班 姓名: 学号: 序号:
指导老师:许老师 崔老师 完成时间:2011年12月23日
- 1 -
长江大学
目录
摘要 .................................................................................................................................................. 3
一、实习目的 ................................................................................................................... 3 二、实习内容 ................................................................................................................... 3
系统设计 .................................................................................................................................. 4
一、程序设计思路 ........................................................................................................... 4
二、程序流图 ................................................................................................................... 4 三、程序说明 ................................................................................................................... 5 四、窗体界面设计 ........................................................................................................ 5
(1)窗体一的对象界面和菜单编辑 ............................................................................. 5
2)窗体二的对象界面和菜单编辑 ................................................................................. 6 3)窗体三的对象界面和菜单编辑 ................................................................................. 6
五、代码编写 ................................................................................................................... 7 六、调试程序并保存 ................................................................................................... 7
原始数据及运行结果 .................................................................................................... 7
1.原始数据 ............................................................................................................................. 7 2.数据文件夹 ......................................................................................................................... 7 3.运行的结果 ............................................................................................................................ 8
问题及解决方案 .............................................................................................................. 11 程序缺陷 ................................................................................................................................ 12 实习心得 ................................................................................................................................ 12 附录 ............................................................................................................................................ 12
Form1 ...................................................................................................................................... 12 Form2: ..................................................................................................................................... 17 Form3: .................................................................................................................................. 23
- 2 -
长江大学
摘要
一、实习目的
这次上机实习的主要目的是使同学们将平日所学的理论知识用于实践,以
便更牢固地掌握,同时让同学们熟悉VB 6.0的开发环境,掌握基本的编程方法,熟悉用VB语言完成一个应用程序的设计过程,掌握有关编辑和调试程序的方法和技巧。
二、实习内容
(一)用记事本新建一个文本文件,将本班的M名学生在本学期的N门考试课的成绩(要
求用假想分数,并要求将自己的每门课的分数定在96分以上,放在第一列;而将别人的大多数课程的分数都定在96分以下)输入到这个文件中,建议按如下形式存放(注:20≤M≤50、5≤N≤8,下文以M=4,N=3为例):
学号 姓名 英语 VB 数学 1 我自已 96 98 99 2 李某 91 96 67 3 王某 75 58 56 4 赵某 58 67 77
(二)将本学期的N门课程及其学分(16学时为1个学分)输入到另一个数据文件(文件类型同上题)中,建议如下列形式存放:
编号 课程名称 课程学分
1 英语 5.0 2 C程序设计 3.5 3 数学 4.5
(三)请编写一个简单的学生成绩管理程序,要求完成以下功能:
1) 根据以上两文件内容分别计算每个学生N门课的加权平均分(保留2位小数,4舍5入),
按平均分排列名次,平均分相同则名次并列,如第1、2、2、4、5、5、7…名。用VB创建一个数据文件,存放班级的成绩表,建议按以下形式存放。
学号 姓名 英语 C程序设计 数学 平均成绩 名次 1 张某 76 89 89 80.5 2 2 李某 91 96 67 78.2 3 3 王某 75 58 56 88.8 1 4 赵某 58 67 77 68.5 4 2) 分别统计全班每门课的平均分,并计算各分数段(60分以下;60~69;70~79;80~89;
90分以上)的学生人数。用VB创建一个新的数据文件,在该文件中存放数据的格式如下:
范围. 英语 VB ... ... >=90 3 5 ... .... 80-89 10 12 ... ... ... ... ... ... ... ... ... ... ... ...
3) 打印每名学生成绩条(并将结果存放到用VB创建的一个新的数据文件中)。
4) 打印所有存在不及格课程学生的名单(含学号、不及格课程名称、课程的学分及成绩)。
- 3 -
长江大学
5) 打印优等生名单(学号、N门课成绩、平均分名次) 优等生条件:
a) 平均分 ? 90分
b) 名次在本班位于前三名
c) 平均分?85分,并且有二门课的成绩都 ? 95分 选做内容:打印每门课成绩分布图
系统设计
一、程序设计思路
由于本程序需要用名为“成绩表”和“课程学分”的文本文档记录成绩数据和学分数据,通过设计程序载入相应数据并处理,使其显示学生的加权平均分和名次以及各门课程的平均分,平均分各分数段人数,每门课程各分数段人数,打印每位同学的成绩条,打印挂科学生名单及优等生名单,并显示各门课程的成绩分布。
(1)我根据本次实验设计要求:要同时表示学生的学号、姓名、成绩等一些信息,及课程、课程学分等一些信息,由于每项信息的意义不同,数据类型也不同,但还要同时作为一个整体来描叙和处理,因此需要通过用户自定义来解决。所以在编程之前我了新建一个标准模块用来定义自定义类型。
(2)我为了便于后面执行求加权平均分、排名等命令,我在Form1发生Load事件时应将学生信息和课程信息读取并放到两个数组中,由于这两个数组在该管理系统的全程序都要用到,因此应定义为全局类型。如是在标准模块中定义两个数组。 (3由于原始数据文件中相邻的两列之间空格的长短不一,因此在调用Split函数之前应窗体通用模块中自定义一个space1函数将原始数据文件中相邻的两列之间空格数变成由n个空格组成的字符串。
(4)由于本次实验的操作系统相对较复杂,我就编辑了多个菜单,以方便我操作。并且,本次实验需要建立多重窗体,在本次实验中,我共建了三个窗体。
(5)本次实验系统运行之前,我必须把记事本里的原始文件先读出来,才能进行后续操作。 (6)将文件读入之后,我按要求相应编辑了各段代码。
(6)由于在打印成绩条、不及格名单、优等生等信息时,我应该用write语句分别将数据存入一个新的文件中。
二、程序流图
- 4 -
长江大学 三、程序说明
本程序可以进行对文本文件的数据读取和处理,实现对学生的加权平均分和名次,每门课程平均分,平均分各分数段人数,每门课程分数段人数,打印每名学生的成绩条,打印挂科名单和优等生名单,并且可以打印每门课程各分数段的分布段。由于程序对读取的文件有要求,我在设计程序时加入了相应的识别和提示功能,使某些功能只能在满足了部分条件后才能使用,以避免错误发生。 打印每名学生成绩条 打印挂科学生名单 打印优等生名单 按平均分排名 计算各分数段人数 计算每门课程各分数段人数 计算每位同学的加权平均分 计算每门课程的加权平均分 进入学生成绩管理系统读成绩表 读课程学分 各科成绩分布 四、窗体界面设计
1、加载窗体,在该管理系统中,我共用到了三个窗体。并在每个窗体上编辑相
应的菜单。
(1)窗体一的对象界面和菜单编辑
打开所需设计的窗体,单击“工具”选“菜单编辑器”进行编辑。编辑完后,按“确定“即可。如:
- 5 -