视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
opp课程设计
2025-09-24 14:05:13 责编:小OO
文档
西安郵電學院

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天):检查作业,提交报告及软件,分组答辩。(机房)

指导教师(师傅)姓名毋建宏

魏笑笑

职务或职称副教授

讲师

指导教师(师傅)

对学生的评价

学习态度□  认真      □  一般        □ 不认真

学习纪律□  全勤      □  偶尔缺勤    □  经常缺勤

实践能力□  很强      □  一般        □  较差

指导教师(师傅)对学生专业知识或社会实践能力等情况的意见

指导教师(师傅)签字           

                                    年    月    日 

西安邮电学院管工院OOP课程设计成绩鉴定表

学生姓名王凤龙班级/学号

信管1001 02092021

进行时间2011年12月5日 —2011年12月17日

成绩鉴定过程考核与考勤(20分)

      
软件设计质量(40分)

设计报告书写鉴定(40分) 

总分(100分)

评阅教师姓名毋建宏

魏笑笑

职称副教授

讲师

成绩
评语

                                评阅教师签字              

    年   月   日      

 

   下载本文
显示全文
专题