vb实习报告.docx

上传人:b****6 文档编号:8183877 上传时间:2023-01-29 格式:DOCX 页数:15 大小:3.13MB
下载 相关 举报
vb实习报告.docx_第1页
第1页 / 共15页
vb实习报告.docx_第2页
第2页 / 共15页
vb实习报告.docx_第3页
第3页 / 共15页
vb实习报告.docx_第4页
第4页 / 共15页
vb实习报告.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

vb实习报告.docx

《vb实习报告.docx》由会员分享,可在线阅读,更多相关《vb实习报告.docx(15页珍藏版)》请在冰豆网上搜索。

vb实习报告.docx

vb实习报告

计算机上机实习(vb)

专业班级:

油工10901

学生学号:

200906829

学生姓名:

方飞飞

班级序号:

4

指导老师:

冯翠丽

完成日期:

2010-12-17

 

一.设计题目

学生成绩管理系统

二.设计思路

从文本中读取文件数据,利用split函数对读取的数据进行分割并赋值,利用VB的顺序结构,选择结构,循环结构编写程序代码,最终将各代码写入界面设计中的各菜单下。

三.程序实现的目标

本程序将实现从文本中读取数据,赋值数据,运算数据,实现对学生的加权平均值,名次,全班每门课的分数段,不及格同学名单,优等生名单等运算,并写入文件。

四.

程序设计框图

五.数据处理

原始成绩

课程学分

成绩

学分

加权平均分

排名

不及格学生名单

优等生名单

各分数人数

六.源程序

模块:

Typestudent

snoAsString*6

snameAsString*3

a(1To5)AsInteger

averAsSingle

mcAsInteger

feiAsInteger

EndType

Typekechen

bhAsString

kcmAsString

xfAsSingle

f(1To5)AsInteger

EndType

窗体代码:

Dimkc()Askechen

DimmAsInteger

Dimstud()Asstudent

DimstAsString

DimnAsInteger

Dimst2AsString

DimzxfAsInteger

PrivateSubAverage_Click()

Picture1.Cls

Forj=1Ton

stud(j).aver=0

Fori=1To5

stud(j).aver=stud(j).aver+Val(stud(j).a(i))*Val(kc(i).xf)

Nexti

stud(j).aver=stud(j).aver/zxf

Nextj

Picture1.Printst;Space(4);"平均分"

Fori=1Ton

Picture1.Printstud(i).sno;Space(5);stud(i).sname;Space

(2);

Forj=1Tom

Picture1.Printstud(i).a(j);Space(3);

Nextj

Picture1.PrintFormat(stud(i).aver,"0.00")

Nexti

EndSub

PrivateSubForm_Load()

DimchAsString,c()AsString,i%,d()AsString

n=0:

k=0

OpenApp.Path+"\成绩.txt"ForInputAs#1

LineInput#1,st

Printst

DoWhileNotEOF

(1)

LineInput#1,ch

ch=Trim(ch)

ch=delspace(ch)

c=Split(ch,"")

n=n+1

ReDimPreservestud(n)

stud(n).sno=c(0)

stud(n).sname=c

(1)

stud(n).a

(1)=c

(2)

stud(n).a

(2)=c(3)

stud(n).a(3)=c(4)

stud(n).a(4)=c(5)

stud(n).a(5)=c(6)

Loop

Close#1

OpenApp.Path+"\学分.txt"ForInputAs#1

LineInput#1,st2

DoWhileNotEOF

(1)

LineInput#1,ch

ch=Trim(ch)

ch=delspace(ch)

d=Split(ch,"")

m=m+1

ReDimPreservekc(1Tom)

kc(m).bh=d(0)

kc(m).kcm=d

(1)

kc(m).xf=d

(2)

zxf=zxf+kc(m).xf

Loop

Close#1

EndSub

PublicFunctiondelspace(sAsString)AsString

k=InStr(s,"")

DoWhilek>0

s=Replace(s,"","")

k=InStr(s,"")

Loop

delspace=s

EndFunction

PrivateSubfsd_Click()

Picture1.Cls

Dimfw(1To5)AsString

Picture1.Cls

fw

(1)=">=90"

fw

(2)="80-89"

fw(3)="70-79"

fw(4)="60-69"

fw(5)="<60"

OpenApp.Path+"\各分数段人数.txt"ForOutputAs#1

Fori=1Ton

Forj=1Tom

Ifstud(i).a(j)>=90Then

kc(j).f

(1)=kc(j).f

(1)+1

ElseIfstud(i).a(j)>=80Then

kc(j).f

(2)=kc(j).f

(2)+1

ElseIfstud(i).a(j)>=70Then

kc(j).f(3)=kc(j).f(3)+1

ElseIfstud(i).a(j)>=60Then

kc(j).f(4)=kc(j).f(4)+1

Else

kc(j).f(5)=kc(j).f(5)+1

EndIf

Nextj

Nexti

Picture1.Print"范围英语制图数学物理化学"

Print#1,"范围英语制图数学物理化学"

Forj=1To5

Print#1,fw(j);Space(4);

Picture1.Printfw(j);Space(4);

Fori=1Tom

Print#1,kc(i).f(j);Space(3);

Picture1.Printkc(i).f(j);Space(4);

Nexti

Picture1.Print

Print#1,

Nextj

Close#1

EndSub

PrivateSubminci_Click()

Picture1.Cls

Fori=1Ton

stud(i).mc=1

Forj=1Ton

Ifstud(i).aver

stud(i).mc=stud(i).mc+1

EndIf

Nextj

Nexti

Picture1.Print"学号","姓名","名次"

Fori=1Ton

Picture1.Printstud(i).sno,stud(i).sname,stud(i).mc

Nexti

EndSub

PrivateSubPrint59_Click()

Picture1.Cls

OpenApp.Path+"\不及格学生名单.txt"ForOutputAs#1

Picture1.Print"学号姓名不及格课程名成绩学分"

Print#1,"学号姓名不及格课程名成绩学分"

Fori=1Ton

Forj=1Tom

Ifstud(i).a(j)<60Then

Print#1,stud(i).sno;Space(4);stud(i).sname;;Space(5);kc(j).kcm;Space(9);stud(i).a(j);Space(4);kc(j).xf

Picture1.Printstud(i).sno;Space(4);stud(i).sname;;Space(5);kc(j).kcm,Space(7);stud(i).a(j);Space(4);kc(j).xf

EndIf

Nextj

Nexti

Close#1

EndSub

PrivateSubPrintCJD_Click()

Picture1.Cls

OpenApp.Path+"\成绩单.txt"ForOutputAs#1

Print#1,st,"平均分","名次"

Picture1.Printst,"平均分","名次"

Fori=1Ton

Print#1,stud(i).sno;Space(5);stud(i).sname;Space

(2);

Picture1.Printstud(i).sno;Space(5);stud(i).sname;Space

(2);

Forj=1Tom

Print#1,stud(i).a(j);Space(3);

Picture1.Printstud(i).a(j);Space(3);;

Nextj

Print#1,Space(4);Format(stud(i).aver,"0.00");Space(9);stud(i).mc

Picture1.PrintSpace(4);Format(stud(i).aver,"0.00");Space(9);stud(i).mc

Nexti

Close#1

EndSub

 

PrivateSubPrintGood_Click()

Picture1.Cls

OpenApp.Path+"\优等生名单.txt"ForOutputAs#1

DimssAsInteger

Fori=1Ton

ss=0:

stud(i).fei=0

Forj=1Tom

Ifstud(i).a(j)>=95Then

ss=ss+1

EndIf

Nextj

Ifss>=2Then

Ifstud(i).aver>=85Then

stud(i).fei=1

EndIf

EndIf

Nexti

Print#1,st;Space(3);"平均分";Space(3);"名次"

Picture1.Printst;Space(3);"平均分";Space(3);"名次"

Fori=1Ton

Ifstud(i).mc<4Orstud(i).aver>=90Orstud(i).fei=1Then

Print#1,stud(i).sno;Space(5);stud(i).sname;Space

(2);

Picture1.Printstud(i).sno;Space(5);stud(i).sname;Space

(2);

Forj=1Tom

Print#1,stud(i).a(j);Space(3);

Picture1.Printstud(i).a(j);Space(3);

Nextj

Print#1,Format(stud(i).aver,"0.00");Space(4);stud(i).mc

Picture1.PrintFormat(stud(i).aver,"0.00");Space(4);stud(i).mc

EndIf

Nexti

Close#1

EndSub

 

PrivateSubyaunkc_Click()

Picture1.Cls

Picture1.Print"编号课程名称课程学分"

Fori=1Tom

Picture1.Printkc(i).bh,kc(i).kcm,kc(i).xf

Nexti

EndSub

PrivateSubyuancj_Click()

Picture1.Cls

Picture1.Printst

Fori=1Ton

Picture1.Printstud(i).sno;Space(5);stud(i).sname;Space

(2);

Forj=1Tom

Picture1.Printstud(i).a(j);Space(3);

Nextj

Picture1.Print

Nexti

EndSub

七.小结

在这次VB程序设计实习中,我逐渐了解了程序在VB6.0中调试并运行的方法,在其过程中,遇到了很多问题和困难,发现在之前的学习中,所学的东西不能完全掌握。

这次实习,是我在学习上的一次考验,让我深深体会到了实训操作的重要性。

同时感谢老师给予的耐心讲解,细心的帮助调试程序。

虽然此次实习已结束,时间不长,但意义很大。

它使我了解自己的短处,让我知道要从什么方面对自己进行补充,同时培养了我独立思考,求异思维的能力。

我深信这次课程设计,对我的VB学习以及今后的计算机等级考试的学习和考试会起到很大的促进作用,这对我今后的学习和工作将产生很大的影响。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1