专业综合实践 说明书.docx
《专业综合实践 说明书.docx》由会员分享,可在线阅读,更多相关《专业综合实践 说明书.docx(20页珍藏版)》请在冰豆网上搜索。
![专业综合实践 说明书.docx](https://file1.bdocx.com/fileroot1/2022-11/24/9055a4f5-f7f8-4e88-a7a8-49ad50c31592/9055a4f5-f7f8-4e88-a7a8-49ad50c315921.gif)
专业综合实践说明书
目录
第一章绪论1
1.1课题简介1
1.2设计内容1
第二章软件设计与实现2
2.1主界面的设计与实现2
2.2登陆界面的设计与实现3
第一章绪论
1.1课题简介
VisualBasic是一种由Microsoft公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。
从任何标准来说,VB都是世界上使用人数最多的语言——不管是盛赞VB的开发者还是抱怨VB的开发者的数量。
它源自于BASIC编程语言。
VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。
程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
VB的中心思想就是要便于程序员使用,无论是新手或者专家。
VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。
VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法。
因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。
过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。
窗体控件的增加和改变可以用拖放技术实现。
一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。
每个控件都有自己的属性和事件。
默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。
很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。
举个例子来说:
窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。
在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。
VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。
有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。
1.2设计内容
整个学生信息管理系统主要分为四个部分,按照主界面的菜单项分为登陆,信息录入,信息显示和信息查询四个主要功能。
其中登陆功能为整个系统运行的前提,信息录入是信息查询和信息显示的基础。
整个系统运用数组的方式将同行元素看做一条学生信息或课程信息,在完成对数组信息补充之后将会利用数组角标定位记录,其中学生的基本信息的存储主要是以学生号为主要索引,而课程基本信息和选课情况则是以课程号和记录号为索引来实现查找和翻阅。
整个学生信息管理系统的结构图如下
第二章软件设计与实现
2.1主界面的设计与实现
PrivateSubform_load()
iTotalStudent=0'系统刚显示的时候,学生数为0
EndSub
PrivateSubIDM_DISPLAYStudent_Click()
FrmDisplayStudent.Show
EndSub
PrivateSubIDM_INPUTStudent_Click()
FrmInputStudent.Show
EndSub
PrivateSubIDM_LOGIN_Click()
FrmLogin.Show
EndSub
PrivateSubIDM_INPUTCourse_Click()
FrmInputclass.Show
EndSub
PrivateSubIDM_INPUTXK_Click()
FrmInputsc.Show
EndSub
PrivateSubIDM_SEARCH_cno_Click()
Frmsearchcno.Show
EndSub
PrivateSubIDM_DISPLAYCourse_Click()
Frmdisplaycno.Show
EndSub
PrivateSubIDM_STATISTICS_total_Click()
Frmtotal.Show
EndSub
PrivateSubIDM_SEARCH_score_Click()
Frmscore.Show
EndSub
2.2登陆界面的设计与实现
PrivateSubBtnExit_Click()
End
EndSub
PrivateSubBtnLogin_Click()
IfTxtUser.Text="student"AndTxtPwd.Text="1218260103"Then
Me.Hide:
FrmMain.Show
Else
MsgBox"账号不存在!
"
EndIf
EndSub
PrivateSubCommand1_Click()
EndSub
PrivateSubmodkey_Click()
FrmModkey.Show
EndSub
2.3修改密码界面的设计与实现
PrivateSubCommand1_Click()
IfTxtcno.Text="student"AndTxtoldKey.Text="1218260103"Then
key
(2)=Trim(Txtnewkey.Text)
MsgBox"密码修改成功",vbInformation,"提示"
Me.Hide:
FrmMain.Show
Else
MsgBox"账号和密码不匹配!
"
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
2.4学生基本信息录入界面的设计与实现
PrivateSubcmdAdd_Click()
DimiAsInteger'用来临时保存最后一个学生的序号
i=iTotalStudent
Ifi>=100Then
MsgBox"数据过多,需要先删除数据",vbInformation,"提示"
Else
Forn=0ToiTotalStudent
IfTxtNo.Text=Sno(n)Then
MsgBox"数据已经录入无需重新录入",vbInformation,"提示"
Else学号检查的代码如果已经存在,提示不能录入该条数据
IfTxtNo.Text<1000Then
MsgBox"学生成绩信息录入成功",vbInformation,"提示"
Sno(i)=Trim(TxtNo.Text)'学号信息
Sname(i)=Trim(TxtName.Text)
SYX(i)=Trim(CmbYX.Text)
sClass(i)=Trim(TxtClass.Text)
sJG(i)=Trim(TxtJG.Text)
iTotalStudent=iTotalStudent+1
TxtNo.Text=""
TxtName.Text=""
CmbYX.ListIndex=0
Else'检查录入格式是否正确的代码,比如学号位数等
MsgBox"学位号码格式有误,请重新输入",vbInformation,"提示"
EndIfEndIfExitForNextnEndIf
EndSub
PrivateSubCmdQuit_Click()
UnloadMe
EndSub
PrivateSubform_load()
CmbYX.AddItem("外语学院")
CmbYX.AddItem("机械学院")
CmbYX.AddItem("化工学院")'演示组合框的用法
CmbYX.ListIndex=0
EndSub
2.5课程基本信息录入界面的设计与实现
PrivateSubCommand1_Click()
DimiAsInteger'
i=iTotalcno
Ifi>=100Then
MsgBox"数据过多,需要先删除数据",vbInformation,"提示"
Else
Forn=0ToiTotalcno
IfTxtcno.Text=Cno(n)Then
MsgBox"课程数据已经录入无需重新录入",vbInformation,"提示"
Else
IfTxtcno.Text<100Then
MsgBox"课程基本信息录入成功",vbInformation,"提示"
Cno(i)=Trim(Txtcno.Text)'
Cname(i)=Trim(Txtcname.Text)
teacher(i)=Trim(Txtteacher.Text)
msh(i)=Trim(Txtmsh.Text)
iTotalcno=iTotalcno+1
Txtcno.Text=""
Txtcname.Text=""
Txtmsh.Text=""
Txtteacher.Text=""
Else
MsgBox"课程号码格式有误,请重新输入",vbInformation,"提示"
EndIf
EndIf
ExitFor
Nextn
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
2.6显示学生基本信息界面的设计与实现
DimiCurrentStudentAsInteger'用来保存当前正在浏览第几条学生记录,注意数组下表是从零开始的,iTotalStudent从1开始
PrivateSubCmdExit_Click()
UnloadMe
EndSub
'显示下一条学生信息
PrivateSubCmdNext_Click()
IfiTotalStudent=0Then
MsgBox"尚未录入数据",vbInformation,"提示"
Else
iCurrentStudent=iCurrentStudent+1
IfiCurrentStudent=iTotalStudentThen
iCurrentStudent=iTotalStudent-1
EndIf
DisplayStudent(iCurrentStudent)
EndIf
EndSub'显示上一条学生信息
PrivateSubCmdPrev_Click()
IfiTotalStudent=0Then
MsgBox"尚未录入数据",vbInformation,"提示"
Else
iCurrentStudent=iCurrentStudent-1
IfiCurrentStudent<0Then
iCurrentStudent=0
EndIf
DisplayStudent(iCurrentStudent)
EndIf
EndSub
PrivateSubform_load()
TxtJG.Enabled=False'演示代码,设置属性可以通过代码,也可以通过直接设置
TxtNo.Text=""
TxtName.Text=""
IfiTotalStudent=0Then
MsgBox"尚未录入数据",vbInformation,"提示"
Else
DisplayStudent(0)
EndIf
iCurrentStudent=0'当前要显示第几个学生,刚启动的显示第一个
EndSub
PrivateSubDisplayStudent(iAsInteger)'自定义过程,用来显示第i个学生的信息
TxtNo.Text=Sno(i)
TxtName.Text=Sname(i)
CmbYX.Text=SYX(i)
TxtClass.Text=sClass(i)
TxtJG.Text=sJG(i)
EndSub
2.7显示课程基本信息界面的设计与实现
PrivateSubCommand1_Click()
DimiAsInteger
Ifi>=100Then
MsgBox"数据过多,需要先删除数据",vbInformation,"提示"
Else
Forn=0ToiTotalcno
IfTxtcno.Text=Cno(n)Then
MsgBox"课程数据已经录入无需重新录入",vbInformation,"提示"
Else'
IfTxtcno.Text<100Then
MsgBox"课程基本信息录入成功",vbInformation,"提示"
'此段代码将窗体中的数据保存在对应的数组中
Cno(i)=Trim(Txtcno.Text)'学号信息
Cname(i)=Trim(Txtcname.Text)
teacher(i)=Trim(Txtteacher.Text)
msh(i)=Trim(Txtmsh.Text)
iTotalcno=iTotalcno+1
Txtcno.Text=""
Txtcname.Text=""
Txtmsh.Text=""
Txtteacher.Text=""
Else'此处可以增加检查录入格式是否正确的代码,比如学号位数等
MsgBox"课程号码格式有误,请重新输入",vbInformation,"提示"
EndIfEndIfExitForNextnEndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
2.8查询课程基本信息界面的设计与实现
DimiCurrentcnoAsInteger
PrivateSubCommand1_Click()
iCurrentcno=yizhicno.Text
iCurrentStudent=iCurrentStudent+1
IfiTotalcno=0Then
MsgBox"尚未录入课程数据",vbInformation,"提示"
ElseIfiCurrentcno<0Then
iCurrentcno=0
ElseIfiCurrentcno>0AndiCurrentcno<1000Then
Forn=1ToiTotalcno
IfiCurrentcno=Cno(n)Then
Txtcname.Text=Cname(n)
TxtTeacher.Text=teacher(n)
describe.Text=msh(n)
EndIf
Nextn
ExitFor
EndIf
EndIf
EndIf
EndSud
PrivateSubCommand2_Click()
UnloadMe
EndSub
2.9查询学生成绩界面的设计与实现
PrivateSubCommand1_Click()
iCurrentcno=Val(Txtcno.Text)
iCurrentsno=Val(Txtsno.Text)
IfiTotalscore=0Then
MsgBox"尚未录入成绩数据",vbInformation,"提示"
ElseIfiCurrentscore<0Then
iCurrentscore=0
ElseIfiCurrentscore>0AndiCurrentscore<1000Then
Forn=1ToiTotalscore
IfTxtcno=ACno(n)AndTxtsno=ASno(n)Then
Txtcno.Text=ACno(n)AndTxtsno.Text=ASno(n)
Txtscore.Text=Score(n)
EndIf
ExitFor
Nextn
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
2.10统计选课人数界面的设计与实现
DimiCurrentcnoAsInteger
PrivateSubCommand1_Click()
iCurrentcno=Val(Txtcno.Text)
DimnumberAsInteger
number=1
Forn=0ToiTotalStudent
IfTxtcno.Text=Cno(n)Then
nunber=number+1
EndIf
ExitFor
Nextn
Txttotal.Text=number
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub