OOP课程设计报告书
| 院系名称 | : | 管理工程学院 |
| 学生姓名 | : | 王凤龙 |
| 专业名称 | : | 信息管理与信息系统 |
| 班 级 | : | 信管1001班 |
| 时间 | : | 2011年12月5日至2011年12月17日 |
1 信息管理与信息系统专业OOP课程设计实验指导书
1.1 OOP课程设计的目的:
OOP课程设计作为的教学环节,是信息管理与信息系统专业集中实践性环节系列之一,是学习完《高级程序设计II》课程后进行的一次全面的综合软件设计的练习。其目的在于加深对面向对象基础理论和基本知识的理解,掌握使用Visual Basic可视化程序设计工具进行Windows程序设计的基本方法,提高解决实际管理问题、开发软件的实践能力。同时课程设计应充分体现“教师指导下的以学生为中心”的教学模式,以学生为认知主体,充分调动学生的积极性和能动性,重视学生自学能力的培养。
1.2 OOP课程设计时间与地点安排:
时间:第二学年第一学期,共计两周
地点:管理工程学院实验室(图书馆4楼)
1.3 OOP课程设计任务与要求:
1.3.1设计任务
学习使用VB界面控件,能够熟练使用控件的各种属性、事件和方法进行编程,构建规范的Windows界面,并能够熟练使用部分第三方ActiveX控件进行编程,学习使用菜单设计器。加深VB语言的实际应用能力;要求使用菜单系统、多窗口、多文档界面等。
学习使用文件系统,要求能够对顺序文件进行读写编程;熟练使用与文件操作有关的控件(文件控件或公用对话框控件)。
了解VB与数据库接口编程的基本原理与操作;学习使用VB的数据控件。
1.3.2基本要求:
符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;
要求界面友好美观,操作方便易行;
注意程序的实用性、安全性;
随时记录设计情况(备查,也为编写设计说明书作好准备);
设计成果:
设计说明书一份(附录:设计说明书格式及要求),写出基本程序设计思想,设计方法及设计技术,并画出程序功能模块图;
源程序(能编译成可执行文件并能正常运行)。编写完整的程序并编译运行通过;要求有良好的交互界面及较好的容错能力;在上述要求基础上可以扩充设计内容,范围不限
1.4 OOP课程设计内容与步骤:
1.4.1 设计内容: 成绩数据的统计分析
1)使用自定义数据类型,定义一个学生类型结构,包括学号、姓名、性别,成绩1、成绩2、总成绩,等数据。
2)实现成绩数据的输入/输出界面设计。包括从文本框和文本文件两种方式入数据,并能保存输入数据和计算结果。
3)实现对录入数据的编辑,查找、修改、删除、新增。
4)实现对输入数据的统计(排序、最大、最小、平均、等)。
5)数据结果要求存入一个随机数据文件中。
1.4.2基本步骤
1)对问题分析,进行功能划分,确定使用的编程技术;
2)按功能进行模块划分,进行算法设计;
3)按照功能划分和模块划分进行界面设计;
4)按照算法进行程序编码、调试和装配(测试);
5)报告的书写。
1.5纪律与注意事项:
1.按时上机,不定期进行点名,计入平时成绩;不得上网聊天、玩游戏,发现后扣除平时成绩,严重者取消本次设计资格。
2.个人完成自己的工作;不得拷贝!但允许互相交流、讨论。
3.设计结束后,要检查程序,并提交报告的打印稿和电子版。
1.6成绩考核:.
1.考勤20%——不定时点名。
2.文档20%——按附录的格式书写的完整的报告。
3.程序60%——能够正常运行、演示。(为了检查完成情况,酌情对每人的工作提问,要能正确回答)
2 程序功能简介
2.1 主要功能简介
1.用VB开发平台创建一个学生信息查询系统,包括登录界面,基本信息录入界面,信息,成绩查询页面,信息查询页面,系统信息界面,信息和成绩修改界面,密码修改界面等主要界面。
2.使用用户自定义数据类型,定义一个学生类型结构,包括学号、姓名、性别,英语成绩、VB成绩、数据库成绩、平均分、总分、家庭住址、所在院系、专业等数据。
3. 实现了对成绩数据和其它信息数据的输入/输出界面设计。能够输入输出数据,并能将数据保存和计算结果。
4. 能够对录入的学生信息进行增添、修改、查询、编辑、删除等一些基本操作。
5. 数据结果能够储存在自动生成的随机文件中,可以随时对随机文件中的数据进行调取。
6. 程序系统分为学生登录和老师登录两种模式,登录学号和登录密码一样都是通过调用随机文件中的信息来登录;学生登录只能查询和浏览学生信息;老师登录可进行以上所有功能的操作。
7.在增添的操作中可以对新信息精心增添,包括学生的学号、姓名、性别,英语成绩、VB成绩、数据库成绩、平均分、总分、家庭住址、所在院系、专业等数据的录入;修改操作中可以对随机文件中任意一个学生的所有信息进行修改,并且一次性可通过上下翻页按键进行选择性修改。查询分为信息查询和成绩查询,在每个查询分类中又分为按学号查询、按姓名查询、按性别查询;删除分为按学号删除和按姓名删除,可以删除某个学号的所有信息和某个学生姓名的所有信息。
2.2功能流程操作步骤
先进入登录界面输入学号和密码,选择登录身份,登录到系统信息界面,在系统信息界面中有菜单栏,选择你所要进行的操作然后按照提示进行操作和程序的演练。
3程序流程设计
3.1 程序设计说明
1. 窗体
窗体主要包括:登录界面,系统信息界面,基本信息录入界面,信息查询界面,成绩查询界面,信息和成绩修改界面,删除信息界面,密码修改界面等主要界面。
2. 模块
主要模块内容:
Type Stud Type
No As String * 8
Name As String * 8
Score1 As Integer
Score2 As Integer
Score3 As Integer
Yuanxi As String * 12
zhuanye As String * 18
jiatingzhuzhi As String * 32
Sex As String * 2
Sum As String * 4
average As String * 8
End Type
3. 全局变量
主要全局变量内容:
Public Std As Stud Type
Public position As Integer
Public student1 As Stud Type
Public student2 As Stud Type
3.2 主程序流程图:
1. 程序操作步骤
登录→系统信息→基本信息录入→信息查询→成绩查询→删除信息→信息和成绩修改→退出系统
2. 程序操作方法
登录进入系统信息界面→按照系统菜单提示进行你需要的操作
3. 程序操作指导
具体操作指导以程序界面提示为主。
5. 程序操作具体流程图解:
3.3各主要模块程序流程图
1. 编辑
编辑模块包括:基本信息录入,信息和成绩修改,删除信息
2. 查询
查询模块包括:成绩查询和信息查询
3.4 操作方法及各窗口源代码
3.4.1 老师登录操作方法:
登录界面:
1. 先输入你的学号和密码(密码就是学号),然后选择你的身份
源代码:Option Explicit
Dim student As StudType
Dim Record_No As Integer
Dim i%
Private Sub Command1_Click()
If (Text1.Text = "") Or (Text2.Text = "") Then
MsgBox ("学号或密码不能为空!"), vbOKOnly, "错误"
Else
If (Option1.Value = False) And (Option2.Value = False) Then
MsgBox "请选择登录身份", vbOKOnly + vbExclamation, "警告"
Else
If Option2.Value = True Then
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
Record_No = LOF(1) / Len(student)
For i = 1 To Record_No
Get #1, i, student
If (Text1 = student.No) And (Text2 = student.No) Then
Close #1
MsgBox "欢迎登录成绩查询系统", vbOKOnly, "欢迎"
系统信息.Show
Unload Me
Exit For
End If
Next
Close #1
End If
If Option1.Value = True Then
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
Record_No = LOF(1) / Len(student)
For i = 1 To Record_No
Get #1, i, student
If (Text1 = student.No) And (Text2 = student.No) Then
Close #1
MsgBox "欢迎登录成绩查询系统", vbOKOnly, "欢迎"
系统信息.Show
Unload Me
Exit For
End If
Next
Close #1
End If
End If
End If
End Sub
Private Sub Command2_Click()
Me.Hide
密码修改.Show
End Sub
Private Sub Form_Load()
Text2.PasswordChar = "*"
End Sub
2. 然后点登录进入系统信息界面
源代码:Dim Stu As StudType
Private Sub about_Click()
Unload Me
关于.Show
End Sub
Private Sub changeinformation_Click()
Unload Me
信息修改.Show
End Sub
Private Sub changepassword_Click()
Unload Me
密码修改.Show
End Sub
Private Sub essentialinformation_Click()
Unload Me
基本信息.Show
End Sub
Private Sub change_Click()
Unload Me
信息和成绩修改.Show
End Sub
Private Sub delete_Click()
Unload Me
删除信息.Show
End Sub
Private Sub essentialinformation录入_Click()
Unload Me
基本信息录入.Show
End Sub
Private Sub Exit_Click()
Unload Me
登录界面.Show
End Sub
Private Sub Form_Load()
If 登录界面.Option1.Value = True Then
edit.Enabled = True
search.Enabled = True
End If
If 登录界面.Option2.Value = True Then
edit.Enabled = False
search.Enabled = False
End If
Open "STUDENT1.DAT" For Random As #1 Len = Len(Stu)
Record_No = LOF(1) / Len(Stu)
Dim j%
frontsize = "12"
Print ""
Print "学号", "姓名", "性别", "院系", " 专业", " 家庭住址", " 英语", "V B", "数据库", "总分", "平均分
For j = 1 To Record_No
Get #1, j, Stu
Dim No As Integer
Dim Name As String
Dim Sex As String
Dim yuanxi As String, zhuanye As String, jiatingzhuzhi As String
Stu.Sum = Stu.Score1 + Stu.Score2 + Stu.Score3
Stu.average = Stu.Sum / 3
If Stu.Sex = "1 " Then
Stu.Sex = "男"
Else
Stu.Sex = "女"
End If
Print ""
Print Stu.No, Stu.Name, Stu.Sex, Stu.yuanxi, Stu.zhuanye, Stu.jiatingzhuzhi, Stu.Score1, Stu.Score2, Stu.Score3, Stu.Sum, Stu.average
Next j
Close #1
End Sub
Private Sub searchmark_Click()
Unload Me
成绩查询.Show
End Sub
Private Sub information_Click()
Unload Me
信息查询.Show
End Sub
Private Sub mark_Click()
Unload Me
成绩查询.Show
End Sub
Private Sub searchmark录入_Click()
Unload Me
基本信息.Show
End Sub
Private Sub mark录入_Click()
Unload Me
成绩录入.Show
End Sub
Private Sub technology_Click()
Unload Me
技术顾问.Show
End Sub
3. 在系统信息界面菜单栏选择编辑然后再选择基本信息录入或者信息和成绩修改或者删除信息
基本信息录入界面:输入各项数据点添加数据将显示添加数据成功
然后点确定,再点读取数据将在右方显示刚添加的学生数据
源代码:Dim student As StudType
Dim Record_No As Integer
Public i As Integer
Private Sub Command1_Click()
If Option1.Value = True Then
i = 1
End If
If (Text2.Text = "") Then
MsgBox "请输入学号!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If (Text3.Text = "") Then
MsgBox "请输入姓名!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If (Option1.Value = False) And (Option2.Value = False) Then
MsgBox "请选择性别", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If (Text4.Text = "") Then
MsgBox "请输入院系名称!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If (Text5.Text = "") Then
MsgBox "请输入专业名称!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If (Text1.Text = "") Then
MsgBox "请输入家庭住址!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If (Text6.Text = "") Then
MsgBox "请输入英语成绩!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If (Text8.Text = "") Then
MsgBox "请输入VB成绩!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If (Text9.Text = "") Then
MsgBox "请输入数据库成绩!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
student.No = Text2.Text
student.Name = Text3.Text
student.Sex = IIf(Option1.Value, "1 ", "0 ")
student.Score1 = Text6.Text
student.Score2 = Text8.Text
student.Score3 = Text9.Text
student.yuanxi = Text4.Text
student.zhuanye = Text5.Text
student.jiatingzhuzhi = Text1.Text
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
Record_No = LOF(1) / Len(student) + 1
Text7.Text = Record_No
Put #1, Record_No, student
Close #1
MsgBox "添加成功!", vbOKOnly + vbInformation, "恭喜"
Command2.Enabled = True
End Sub
Private Sub Command2_Click()
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
Dim No As Integer
Dim Name As String
Dim Sex As String
Dim yuanxi As String, zhuanye As String, jiatingzhuzhi As String
Picture1.Cls
Record_No = Text7.Text
Get #1, Record_No, student
student.Sum = student.Score1 + student.Score2 + student.Score3
student.average = (student.Score1 + student.Score2 + student.Score3) / 3
If student.Sex = "1 " Then
student.Sex = "男"
Else
student.Sex = "女"
End If
Picture1.Print " 刚添加的学生信息"
Picture1.Print ""
Picture1.Print "学 号:"; student.No
Picture1.Print ""
Picture1.Print "姓 名:"; student.Name
Picture1.Print ""
Picture1.Print "性 别:"; student.Sex
Picture1.Print ""
Picture1.Print "院 系:"; student.yuanxi
Picture1.Print ""
Picture1.Print "专 业:"; student.zhuanye
Picture1.Print ""
Picture1.Print "家庭住址:"; student.jiatingzhuzhi
Picture1.Print ""
Picture1.Print "英 语:"; student.Score1
Picture1.Print ""
Picture1.Print "V B:"; student.Score2
Picture1.Print ""
Picture1.Print "数 据 库:"; student.Score3
Picture1.Print ""
Picture1.Print "总 成 绩:"; student.Sum
Picture1.Print ""
Picture1.Print "平 均 分:"; student.average
Close #1
End Sub
Private Sub Command3_Click()
Unload Me
系统信息.Show
End Sub
Private Sub Form_Load()
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
Text7.Text = LOF(1) / Len(student)
Close #1
Command2.Enabled = False
End Sub
信息和成绩修改界面:打开本界面,按上下翻页键选择你需要修改的数据然后点确认将已经修改信息。
源代码:Private Sub Form_Load()
position = 1
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
Record_No = LOF(1) / Len(student)
xianshi
Close #1
End Sub
Private Sub 取消_Click()
Me.Hide
系统信息.Show
End Sub
Private Sub 确定_Click()
If (Text3.Text = "") Then
MsgBox "输入有误,请重新输入"
Text3.SetFocus
GoTo chonglai
End If
If (Text4.Text = "" > 100) Then
MsgBox "输入有误,请重新输入"
Text4.SetFocus
GoTo chonglai
End If
If (Text5.Text = "" > 100) Then
MsgBox "输入有误,请重新输入"
Text5.SetFocus
GoTo chonglai
End If
If (Text6.Text < 0 Or Text6.Text > 100) Then
MsgBox "输入有误,请重新输入"
Text6.SetFocus
GoTo chonglai
End If
If (Text7.Text < 0 Or Text7.Text > 100) Then
MsgBox "输入有误,请重新输入"
Text7.SetFocus
GoTo chonglai
End If
If (Text8.Text < 0 Or Text8.Text > 100) Then
MsgBox "输入有误,请重新输入"
Text8.SetFocus
GoTo chonglai
End If
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
student.No = Text1.Text
student.Name = Text2.Text
student.yuanxi = Text3.Text
student.zhuanye = Text4.Text
student.jiatingzhuzhi = Text5.Text
student.Score1 = Text6.Text
student.Score2 = Text7.Text
student.Score3 = Text8.Text
If Option1.Value = True Then
student.Sex = "1 "
Else
student.Sex = "0 "
End If
Put #1, position, student
paixu
Close #1
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Visible = False
系统信息.Visible = True
Unload 信息和成绩修改
chonglai:
MsgBox "信息已修改", vbExclamation, "恭喜!"
End Sub
Sub paixu()
For n = 1 To Record_No - 2
For m = 1 To Record_No - 1
Get #1, m, student1
Get #1, m + 1, student2
If student2.average > student1.average Then
student.No = student1.No
student.Name = student1.Name
student.yuanxi = student1.yuanxi
student.zhuanye = student1.zhuanye
student.jiatingzhuzhi = student1.jiatingzhuzhi
student.Score1 = student1.Score1
student.Score2 = student1.Score2
student.Score3 = student1.Score3
'student.Sex = student1.Sex
Put #1, m, student2
Put #1, m + 1, student
End If
Next m
Next n
End Sub
Private Sub 上一个_Click(Index As Integer)
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
If position > 1 Then
position = position - 1
xianshi
ElseIf position = 1 Then
MsgBox "这是第一个记录"
End If
Close #1
End Sub
Private Sub 下一个_Click(Index As Integer)
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
If position < Record_No Then
position = position + 1
xianshi
ElseIf position = Record_No Then
MsgBox "这是最后一个记录"
End If
Close #1
End Sub
删除信息界面:点击本界面进入删除信息窗体:选择按学号删除并输入学号再点查找,查处你确定要删除的信息,然后点确定删除,你所要删除的信息将会被删除。
按姓名查找删除的基本步骤和按学好差不多。
源代码:Dim i%
Dim student As StudType
Private Sub Command1_Click()
If Text1.Text <> "" Then
Open "STUDENT1.DAT" For Random As 1 Len = Len(student)
Open "STUDENT.DAT" For Random As 2 Len = Len(student)
Record_No = LOF(1) / Len(student)
For i = 1 To Record_No
Get #1, i, student
If Trim(Text1.Text) <> Trim(student.No) Then
Put #2, , student
End If
Next
Close
Kill "STUDENT1.DAT"
Name "STUDENT.DAT" As "STUDENT1.DAT"
End If
If Text2.Text <> "" Then
Open "STUDENT1.DAT" For Random As 1 Len = Len(student)
Open "STUDENT.DAT" For Random As 2 Len = Len(student)
Record_No = LOF(1) / Len(student)
For i = 1 To Record_No
Get #1, i, student
If Trim(Text2.Text) <> Trim(Left(student.Name, 4)) Then
Put #2, , student
End If
Next
Close
Kill "STUDENT1.DAT"
Name "STUDENT.DAT" As "STUDENT1.DAT"
End If
Command3_Click
End Sub
Private Sub Command2_Click()
Me.Hide
系统信息.Show
End Sub
Private Sub Command3_Click()
Picture1.Cls
If Option1.Value = True Then
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
Record_No = LOF(1) / Len(student)
For i = 1 To Record_No
Get #1, i, student
student.Sum = student.Score1 + student.Score2 + student.Score3
student.average = student.Sum / 3
If Trim(Text1.Text) = Trim(student.No) Then
If student.Sex = "1 " Then
student.Sex = "男"
Else
student.Sex = "女"
End If
Picture1.Print ""
Picture1.Print "学 号:"; student.No
Picture1.Print ""
Picture1.Print "姓 名:"; student.Name
Picture1.Print ""
Picture1.Print "性 别:"; student.Sex
Picture1.Print ""
Picture1.Print "院 系:"; student.yuanxi
Picture1.Print ""
Picture1.Print "专 业:"; student.zhuanye
Picture1.Print ""
Picture1.Print "家庭住址:"; student.jiatingzhuzhi
Picture1.Print ""
Picture1.Print "英 语:"; student.Score1
Picture1.Print ""
Picture1.Print "V B:"; student.Score2
Picture1.Print ""
Picture1.Print "数 据 库:"; student.Score3
Picture1.Print ""
Picture1.Print "总 成 绩:"; student.Sum
Picture1.Print ""
Picture1.Print "平 均 分:"; student.average
End If
Next
Close #1
Exit Sub
End If
If Option2.Value = True Then
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
Record_No = LOF(1) / Len(student)
For i = 1 To Record_No
Get #1, i, student
If Trim(Text2.Text) = Trim((Left(student.Name, 3))) Then
If student.Sex = "1 " Then
student.Sex = "男"
Else
student.Sex = "女"
End If
Picture1.Print ""
Picture1.Print "学 号:"; student.No
Picture1.Print ""
Picture1.Print "姓 名:"; student.Name
Picture1.Print ""
Picture1.Print "性 别:"; student.Sex
Picture1.Print ""
Picture1.Print "院 系:"; student.yuanxi
Picture1.Print ""
Picture1.Print "专 业:"; student.zhuanye
Picture1.Print ""
Picture1.Print "家庭住址:"; student.jiatingzhuzhi
Picture1.Print ""
Picture1.Print "英 语:"; student.Score1
Picture1.Print ""
Picture1.Print "V B:"; student.Score2
Picture1.Print ""
Picture1.Print "数 据 库:"; student.Score3
Picture1.Print ""
Picture1.Print "总 成 绩:"; student.Sum
Picture1.Print ""
Picture1.Print "平 均 分:"; student.average
End If
Next
Close #1
Exit Sub
End If
End Sub
Private Sub Form_Load()
End Sub
查询窗口分为:信息查询和成绩查询;两窗口布局与内部结构相似所以只演示成绩查询窗口。
成绩查询窗口:进入页面分为按学号查询,按姓名查询和按性别查询,几个查询发时都差不多,所以只演示按性别查询的操作方法和流程;选择按性别查询,然后选择性别,点击查询按钮将显示如下:
源代码:Dim i%
Dim student As StudType
Private Sub Command1_Click()
Text3.Text = ""
If Option1.Value = True Then
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
Record_No = LOF(1) / Len(student)
For i = 1 To Record_No
Get #1, i, student
If Trim(Text1.Text) = Trim(student.No) Then
student.Sum = student.Score1 + student.Score2 + student.Score3
student.average = student.Sum / 3
If student.Sex = "1 " Then
student.Sex = "男"
Else
student.Sex = "女"
End If
Text3.Text = Text3.Text & " " & student.No
Text3.Text = Text3.Text & " " & student.Name
Text3.Text = Text3.Text & " " & student.Sex
Text3.Text = Text3.Text & " " & student.Score1
Text3.Text = Text3.Text & " " & student.Score2
Text3.Text = Text3.Text & " " & student.Score3
Text3.Text = Text3.Text & " " & student.average
Text3.Text = Text3.Text & " " & student.Sum & vbCrLf
Else
End If
Next
Close #1
Exit Sub
End If
If Option2.Value = True Then
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
Record_No = LOF(1) / Len(student)
For i = 1 To Record_No
Get #1, i, student
If Trim(Text2.Text) = Trim((Left(student.Name, 3))) Then
student.Sum = student.Score1 + student.Score2 + student.Score3
student.average = student.Sum / 3
If student.Sex = "1 " Then
student.Sex = "男"
Else
student.Sex = "女"
End If
Text3.Text = Text3.Text & " " & student.No
Text3.Text = Text3.Text & " " & student.Name
Text3.Text = Text3.Text & " " & student.Sex
Text3.Text = Text3.Text & " " & student.Score1
Text3.Text = Text3.Text & " " & student.Score2
Text3.Text = Text3.Text & " " & student.Score3
Text3.Text = Text3.Text & " " & student.average
Text3.Text = Text3.Text & " " & student.Sum & vbCrLf
End If
Next
Close #1
Exit Sub
End If
If Option3.Value = True Then
Open "STUDENT1.DAT" For Random As #1 Len = Len(student)
Record_No = LOF(1) / Len(student)
For i = 1 To Record_No
Get #1, i, student
If student.Sex = "1 " Then
student.Sex = "男"
Else
student.Sex = "女"
End If
If Trim(Combo1.Text) = Trim(student.Sex) Then
student.Sum = student.Score1 + student.Score2 + student.Score3
student.average = student.Sum / 3
Text3.Text = Text3.Text & " " & student.No
Text3.Text = Text3.Text & " " & student.Name
Text3.Text = Text3.Text & " " & student.Sex
Text3.Text = Text3.Text & " " & student.Score1
Text3.Text = Text3.Text & " " & student.Score2
Text3.Text = Text3.Text & " " & student.Score3
Text3.Text = Text3.Text & " " & student.average
Text3.Text = Text3.Text & " " & student.Sum & vbCrLf
End If
Next
Close #1
Exit Sub
End If
Close #1
End Sub
Private Sub Command2_Click()
Me.Hide
系统信息.Show
End Sub
Private Sub Form_Load()
Combo1.AddItem "男"
Combo1.AddItem "女"
End Sub
3.4.2 学生登录操作方法:
若以学生身份登录,只能操作新亭信息界面和,帮助界面,编辑和查询菜单将不能使用具体如下:
点击帮助菜单中的关于将显示如下:
技术顾问将显示如下:
4 设计总结
经过两周的实习和摸索,虽然用VB编写的西安邮电学院学生信息查询系统能够勉强的运行,能够实现老师要求的各个功能,能够基本上实现各个模块的整合,但是程序根本上就算不上什么系统,只能说是一个雏形,经过老师的检查,程序存在的漏洞和不足数不胜数,只是基本上能完成老师的要求而以,现在实习已经结束,我对本次实习做以下两点深刻的总结,对以后的学习有所帮助和激励:
4.1 存在不足:
(1)由于对VB的知识掌握的不够、对很多知识和控件不够熟悉,涉及到的随机文件刚开始根本就不知道,我觉得主要是由于上课没有真正的理解知识点并且课后没有用足够的时间去上机练习,自己没有带电脑并且对电脑知识掌握的不够,平时上机时间也没有抓住时间充分的去熟悉VB这个程序开发环境,可以说在实习之前连一个VB的初学者都不如,很多程序代码都是照着课本上照猫画虎写上去的。故而,虽然程序能够运行,但其中涉及很多问题。
(2)程序中没有完成排序,密码修改和用户注册的功能,这是程序的几大缺陷,学生登录进入系统后没有完成,可以看到所有人的信息,这也是程序的一大不足,修改信息部分只能按序列号进行上下翻页不能实现随意的选择修改;信息查询部分的显示框不能将第二个人的信息进行换行处理等一系列不足,虽然这只是一部分不足但我知道这个程序的不足与漏洞还很多,希望在接下来的日子中能够逐渐完善。
4.2 心得体会
经过两周的刻苦努力,不知有多少次忘记吃饭在机房奋战,课程设计总算是验收通过了。过程中有时感觉很烦躁,甚至有种放弃的冲动,有时看到代码就烦躁,上机上的头昏眼花,但是最终坚持了下来,并且从中收获了很多,让自己巩固了所学的知识,对VB有了全新的认识,对VB的操作有了新的进步。现在自己动手完成一个小系统后,才真正的理解和体会到了VB的妙处。VB学了快一学期了,有很多知识似懂非懂,通过平时上机,自己也了解一些基本控件,但让我有更深的理解和认识则是在本次课程设计中,之前理论知识上的很多疑问也得到了解决,虽然了解和认识不够全面,但是有进步了还是很高兴的。
当老师第一天布置作业后,我感觉自己什么都不懂,当时就有种要疯的感觉,但是在接下来的实习中我能够勤奋的努力,不懂就问,问老师,问同学,我终于对VB有了一定的了解,最终自己也作出了一个程序,能够勉强的运行达到老师的要求,这点我很欣慰,两周的努力没有白费,我感觉一点点地进步也是进步,只要你愿意去坚持。
实习开始的时候,老师就说写代码这一步是很重要的,但是我刚开始连代码都读不懂,只能照猫画虎的去做,经过努力我现在虽然不能了解很多代码,但是一些基础的代码我基本都可以读懂。再有一个就是写好代码后调试阶段是一个相当漫长和乏味的事情,可以说是一处调好另一处又有问题,到处出错,不是语法错误就是逻辑错误调试的人快要疯掉,但是我还是一直坚持调试,有的时候一早上就解决一点点小问题甚至什么问题都没有解决,但是就这样一天天的尝试一天天的坚持,终于在最后慢慢的掌握了调试的技巧也掌握了很多纠错的方法,刚开始我只能找同学去调试帮我解决问题,但是到最后我自己也能调试了,也能自己去编写一些简单的代码,程序的运行也慢慢的很顺利,几乎遇不到什么大的错误。到实习的后期,有时候还能帮其他同学解决一些小小的问题,能够帮其他同学调试程序,这就是实习的一大进步,我感到很欣慰。虽然刚开始的想法很好,但是真正实习起来很费劲,到最后我的程序不是那么的优秀也不是很完善,没有许多高难度的程序代码和亮点。
通过本次程序设计,让我学到了很多。真正的认识到了实践的强大好处,动手能力的重要性,学会了如何去借鉴别人的经验和方法来做自己的东西,学会了在遇到难题时,和同学、老师交流,这给以后的设计论文等打下了好的基础。虽然在编译时会因为出错而感到心烦,但也不失为一件好事,失败的越多积累的东西就越多,对人的考验也多,在最后编译成功时的喜悦也就越浓烈,同时也使自己的各方面能力得到了提高。由于知识的欠缺,这次课程设计不是很好,但其中有自己的努力,总体感觉还不错。这也是我第一次做这么大的课程设计,虽然不是很优秀,但是还是要对自己的努力和付出给一点肯定,毕竟我是自己一点点的努力的结果,里面凝聚着自己的汗水和精力。
西安邮电学院管理工程学院OOP课程设计过程考核表
| 学生姓名 | 王凤龙 | 班级/学号 | 信管1001班 02092021 | |
| 承担任务实验室(单位) | 管工院实验室 | 所在部门 | 管工院 | |
| 实施时间 | 2011年12月5日 —2011年12月17日 | |||
| 具体内容 | 第一周 | 1.第一周的周一(1天):查阅资料、进行需求分析,(图书馆) 2.第一周的周二到周三(2天):进行应用软件的系统分析及初步设计(机房) 3.第一周周四(1天):进行系统详细设计(机房) 4.第一周周五到第二周的周一(2天)完成系统的界面设计(机房) | ||
| 第二周 | 1.第二周的周二到周三(2天)完成系统的编码、调试、测试(机房) 2.第二周的周四(1天):编写开发报告。(机房) 3.第二周的周五:(1天):检查作业,提交报告及软件,分组答辩。(机房) | |||
| 指导教师(师傅)姓名 | 毋建宏 魏笑笑 | 职务或职称 | 副教授 讲师 | |
| 指导教师(师傅) 对学生的评价 | 学习态度 | □ 认真 □ 一般 □ 不认真 | ||
| 学习纪律 | □ 全勤 □ 偶尔缺勤 □ 经常缺勤 | |||
| 实践能力 | □ 很强 □ 一般 □ 较差 | |||
| 指导教师(师傅)对学生专业知识或社会实践能力等情况的意见 | 指导教师(师傅)签字 年 月 日 | |||
| 学生姓名 | 王凤龙 | 班级/学号 | 信管1001 02092021 | |||||
| 进行时间 | 2011年12月5日 —2011年12月17日 | |||||||
| 成绩鉴定 | 过程考核与考勤(20分) | |||||||
| 软件设计质量(40分) | ||||||||
| 设计报告书写鉴定(40分) | ||||||||
| 总分(100分) | ||||||||
| 评阅教师姓名 | 毋建宏 魏笑笑 | 职称 | 副教授 讲师 | 成绩 | ||||
| 评语 | 评阅教师签字 年 月 日
| |||||||