欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    VB程序设计实验-学生成绩管理系统.doc

    • 资源ID:5335197       资源大小:184KB        全文页数:16页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VB程序设计实验-学生成绩管理系统.doc

    1、河南工业大学计算机上机实习报告 姓名:张翼飞 序号:11学号:201048060413班级:食工 1004班指导老师: 任老师 张老师日期:2011-03-05 目录一:系统名称:学生成绩管理系统的设计与实现二:设计目的三:程序摘要四:系统设计流程五:相关数据列表六:小结七:程序代码 (1)模块代码 (2)窗体代码一.系统名称:学生成绩管理系统的设计与实现二.设计目的1.熟悉VB 6.0的开发环境,掌握基本的编程方法,熟悉用VB语言完成一个应用程序的设计过程,掌握有关编辑和调试程序的方法和技巧;2. 主要掌握VB语言中的结构体指针及文件操作等内容3. 了解开发简单应用程序的全过程,包括:分析设

    2、计编程调试和编写报告.三.程序摘要先在记事本中创建2个文本文档,分别输入本班24名学生在本学期的5门考试课的成绩和课程名及其学分.在主函数中读入两个原始数据文件的内容,保存在对应的结构体数组中,计算出每个学生5门课的加权平均分,并按平均分排列名次.然后显示菜单,调用各个函数,完成以下功能:1 用VB语言创建一个数据文件,文件名为:“VB课程设计”,用来存放班级的成绩表.2 分别统计全班每门课的平均分和标准差,并计算各分数段(90分以上;8090;7079;6069;60分以下)的学生数3 用VB语言创建一个数据文件,文件名为:“VB课程设计”,用来存放编号,课程名称,课程平均分,标准差,优秀,

    3、良好,中等,及格,不及格.4 打印每名学生成绩条,结果存放到用VB语言创建的一个数据文件中,成绩条格式为名次,学号,姓名,英语,数学,VB语言,物理,化学5 屏幕显示所有存在不及格课程的学生的名单(含学号,不及格课程名称,课程的学分及成绩)6 屏幕显示优等生名单(含学号,N门课成绩,平均分,名次),优等生条件:a) 平均分=90分b) 名次在本班位于前三名c) 平均分=85分,并且至少有一门课的成绩=95四、系统设计流程 系 统 功 能加 权 平 均 分每 门 课 的 平 均 分打 印 学 生 成 绩 总 表成 绩 条不 及 格 学 生 情 况优 秀 学 生 情 况五.相关数据列表1、原始成绩

    4、表2、课程及学分3、计算加权平均分4、按平均分排名次5、打印每位同学的成绩条6、打印不及格的人7、打印优等生情况8、每门课的平均分9、各分数段人数六小结 在这次上机实习过程中,我了解了程序在Visual VB 6.0中调试并运的方法,并上机实践解决了一些平时没有机会解决和一些曾经被自己忽视的问题,如程序的排序对结果显示影响,标点符号对程序结果的影响,并养成了仔细检查程序的好习惯,加强了自己动手的能力。但通过这次上机 让我看到了自己在VB学习中的漏洞,不过看到自己亲自编出的程序,心里非常高兴,这要特别感谢我的辅导老师们的耐心讲解,细心的帮助我调试程序。感谢学校老师给我们这样的机会,它有利于培养我

    5、们独立思考,求异思维的能力。我深信这次课程设计,对我的VB学习以及今后的计算机等级考试的学习和考试会起到很大的促进作用,我从中看到了自己还有很多的不足,在这里真心的感谢两位老师的耐心的指点,今后我会更加努力学好计算机方面的知识!总之,这次实习让我受益良多,我更深的体会了细节决定成败,无论在以后上机还是学习做事中,我一定注意细节。希望学校多给我们这样动手实践的机会,让我们在实践中发现问题,解决问题。我会珍惜加倍这样难得的机会七、程序代码1、模块代码Type xscjb xh As String xm As String cj(1 To 5) As Integer aver As Single m

    6、c As Integer End TypeType kechen 编号 As Integer 课程名称 As String 课程学分 As Single aver As SingleEnd TypePublic stu() As xscjbPublic ke() As kechenPublic N%, M%, Zxf% 总人数,课程数,总学分Public str As String2、窗体代码Private Sub Form_Load()Dim st1$(), str1$Open App.Path + chengji.txt For Input As #1Open App.Path + kec

    7、heng.txt For Input As #2N = 0: M = 0: Zxf = 0 总人数,课程数,总学分Line Input #2, str1Do While Not EOF(2) M = M + 1 ReDim Preserve ke(M) Line Input #2, str1 Text1 = Text1 & vbCrLf & str1 str1 = Trim(str1) str1 = space1(str1) st1 = Split(str1, ) Print st1(0), st1(1) ke(M).编号 = st1(0) ke(M).课程名称 = st1(1) ke(M).

    8、课程学分 = st1(2) Zxf = Zxf + ke(M).课程学分LoopLine Input #1, str1Text1 = str1 Do While Not EOF(1) N = N + 1 ReDim Preserve stu(N) Line Input #1, str1 Text1 = Text1 & vbCrLf & str1 str1 = Trim(str1) str1 = space1(str1) st1 = Split(str1, ) stu(N).xh = st1(0) stu(N).xm = st1(1) stu(N).cj(1) = st1(2) stu(N).c

    9、j(2) = st1(3) stu(N).cj(3) = st1(4) stu(N).cj(4) = st1(5) stu(N).cj(5) = st1(6) stu(N).aver = 0 stu(N).mc = 0LoopEnd SubPublic Function space1(ByVal sss As String) Dim x% x = InStr(sss, ) Do While x 0 sss = Replace(sss, , ) x = InStr(sss, ) Loop space1 = sssEnd FunctionPrivate Sub yuancj_Click() Dim

    10、 i% Cls Print 学号 姓名 化学 工程制图 线代 VB 物理 For i = 1 To N Print stu(i).xh; Tab(12); stu(i).xm; Tab(22); stu(i).cj(1); Print Tab(36); stu(i).cj(2); Tab(46); stu(i).cj(3); Tab(57); stu(i).cj(4); Print Tab(66); stu(i).cj(5); Tab(77) Next iEnd SubPrivate Sub Average_Click() 计算加权平均分 Dim i% For i = 1 To N stu(i

    11、).aver = 0 For j = 1 To M stu(i).aver = stu(i).aver + stu(i).cj(j) * ke(j).课程学分 Next j stu(i).aver = Round(stu(i).aver / Zxf, 2) Next i Cls Print 学号 姓名 平均分 For i = 1 To N Print stu(i).xh; Tab(12); stu(i).xm; Tab(26); stu(i).aver Next iEnd SubPrivate Sub GRS_Click() 统计各分数段人数Dim chengji(1 To 5, 1 To 5

    12、) As Integer Cls For j = 1 To M For i = 1 To NSelect Case stu(i).cj(j)Case Is = 90 chengji(1, j) = chengji(1, j) + 1Case 80 To 89 chengji(2, j) = chengji(2, j) + 1Case 70 To 79 chengji(3, j) = chengji(3, j) + 1Case 60 To 69 chengji(4, j) = chengji(4, j) + 1Case Is 60 chengji(5, j) = chengji(5, j) +

    13、1End Select Next iNext jPrint 范围 化学 工程制图 线代 VB 物理 Print 90分以上 ; Tab(12); chengji(1, 1); Tab(24); chengji(1, 2); Tab(37); chengji(1, 3); Tab(47); chengji(1, 4); Tab(55); chengji(1, 5)Print 80-89分 ; Tab(12); chengji(2, 1); Tab(24); chengji(2, 2); Tab(37); chengji(2, 3); Tab(47); chengji(2, 4); Tab(55)

    14、; chengji(2, 5)Print 70-79分 ; Tab(12); chengji(3, 1); Tab(24); chengji(3, 2); Tab(37); chengji(3, 3); Tab(47); chengji(3, 4); Tab(55); chengji(3, 5)Print 60-69分; Tab(12); chengji(4, 1); Tab(24); chengji(4, 2); Tab(37); chengji(4, 3); Tab(47); chengji(4, 4); Tab(55); chengji(4, 5)Print 59分以下; Tab(12)

    15、; chengji(5, 1); Tab(24); chengji(5, 2); Tab(37); chengji(5, 3); Tab(47); chengji(5, 4); Tab(55); chengji(5, 5)End SubPrivate Sub minci_Click() Dim i%, j%, k%, ti%, ts$, tsn!, ii%, ave!, kk% For i = 1 To N stu(i).aver = 0 For j = 1 To M stu(i).aver = stu(i).aver + stu(i).cj(j) * ke(j).课程学分 Next j st

    16、u(i).aver = Round(stu(i).aver / Zxf, 2) Next i For i = 1 To N - 1 k = i For j = i + 1 To N If stu(k).aver stu(j).aver Then k = j Next j ts = stu(k).xh: stu(k).xh = stu(i).xh: stu(i).xh = ts ts = stu(k).xm: stu(k).xm = stu(i).xm: stu(i).xm = ts tsn = stu(k).aver: stu(k).aver = stu(i).aver: stu(i).ave

    17、r = tsn For ii = 1 To M ti = stu(k).cj(ii): stu(k).cj(ii) = stu(i).cj(ii): stu(i).cj(ii) = ti Next ii Next i k = 1: ave = stu(1).aver For i = 1 To N If stu(i).aver = ave Then stu(i).mc = k Else ave = stu(i).aver k = k + 1 stu(i).mc = k End If Next i Cls Print 学号 姓名 名次 For i = 1 To N Print stu(i).xh;

    18、 Tab(12); stu(i).xm; Tab(22); stu(i).mc Next iEnd SubPrivate Sub MPJ_Click()Dim i%, j% For j = 1 To M ke(j).aver = 0 For i = 1 To N ke(j).aver = ke(j).aver + stu(i).cj(j) Next i ke(j).aver = Round(ke(j).aver / N, 2) Next j Cls Print 化学 工程制图 线代 VB 物理 Print ke(1).aver; Tab(13); ke(2).aver; Tab(26); ke

    19、(3).aver; Tab(36); ke(4).aver; Tab(45); ke(5).aver End SubPrivate Sub Print59_Click()Dim i% Cls Print 学号 姓名 课程名称 课程学分 成绩 For i = 1 To N For j = 1 To M If stu(i).cj(j) = 59 Then Print stu(i).xh; Tab(12); stu(i).xm; Tab(21); ke(j).课程名称; Tab(35); ke(j).课程学分; Tab(47); stu(i).cj(j) End If Next j Next iEn

    20、d SubPrivate Sub printall_Click()Dim i%, j%, k%, ti%, ts$, tsn!, ii%, ave!, kk%For i = 1 To N stu(i).aver = 0 For j = 1 To M stu(i).aver = stu(i).aver + stu(i).cj(j) * ke(j).课程学分 Next j stu(i).aver = Round(stu(i).aver / Zxf) Next i For i = 1 To N - 1 k = i For j = i + 1 To N If stu(k).aver stu(j).av

    21、er Then k = j Next j ts = stu(k).xh: stu(k).xh = stu(i).xh: stu(i).xh = ts ts = stu(k).xm: stu(k).xm = stu(i).xm: stu(i).xm = ts tsn = stu(k).aver: stu(k).aver = stu(i).aver: stu(i).aver = tsn For ii = 1 To M ti = stu(k).cj(ii): stu(k).cj(ii) = stu(i).cj(ii): stu(i).cj(ii) = ti Next ii Next i k = 1:

    22、 ave = stu(1).aver For i = 1 To N If stu(i).aver = ave Then stu(i).mc = k Else ave = stu(i).aver k = k + 1 stu(i).mc = k End If Next i Cls Print 学号 姓名 化学 工程制图 线代 VB 物理 平均分 名次 For i = 1 To N Print stu(i).xh; Tab(12); stu(i).xm; Tab(22); stu(i).cj(1); Print Tab(36); stu(i).cj(2); Tab(46); stu(i).cj(3)

    23、; Tab(57); stu(i).cj(4); Print Tab(66); stu(i).cj(5); Tab(77); stu(i).aver; Spc(6); stu(i).mc Next iEnd SubPrivate Sub PrintCJD_Click()Dim i%, j%, k%, ti%, ts$, tsn!, ii%, ave!, kk%For i = 1 To N stu(i).aver = 0 For j = 1 To M stu(i).aver = stu(i).aver + stu(i).cj(j) * ke(j).课程学分 Next j stu(i).aver

    24、= Round(stu(i).aver / Zxf, 2) Next i For i = 1 To N - 1 k = i For j = i + 1 To N If stu(k).aver stu(j).aver Then k = j Next j ts = stu(k).xh: stu(k).xh = stu(i).xh: stu(i).xh = ts ts = stu(k).xm: stu(k).xm = stu(i).xm: stu(i).xm = ts tsn = stu(k).aver: stu(k).aver = stu(i).aver: stu(i).aver = tsn Fo

    25、r ii = 1 To M ti = stu(k).cj(ii): stu(k).cj(ii) = stu(i).cj(ii): stu(i).cj(ii) = ti Next ii Next i k = 1: ave = stu(1).aver For i = 1 To N If stu(i).aver = ave Then stu(i).mc = k Else ave = stu(i).aver k = k + 1 stu(i).mc = k End If Next i Cls For i = 1 To N Print 学号 姓名 化学 工程制图 线代 VB 物理 平均分 名次 Print

    26、 stu(i).xh; Tab(12); stu(i).xm; Tab(22); stu(i).cj(1); Print Tab(36); stu(i).cj(2); Tab(46); stu(i).cj(3); Tab(57); stu(i).cj(4); Print Tab(66); stu(i).cj(5); Tab(77); stu(i).aver; Tab(85); Tab(90); stu(i).mc Next iEnd SubPrivate Sub PrintGood_Click() Dim i%, j%, k%, ti%, ts$, tsn!, ii%, ave!, kk% F

    27、or i = 1 To N stu(i).aver = 0 For j = 1 To M stu(i).aver = stu(i).aver + stu(i).cj(j) * ke(j).课程学分 Next j stu(i).aver = Round(stu(i).aver / Zxf, 2) Next i For i = 1 To N - 1 k = i For j = i + 1 To N If stu(k).aver stu(j).aver Then k = j Next j ts = stu(k).xh: stu(k).xh = stu(i).xh: stu(i).xh = ts ts = stu(k).xm: stu(k).xm = stu(i).xm: stu(i).xm = ts tsn = stu(k).aver: stu(k).aver = stu(i).aver: stu(i).aver = tsn For ii = 1 To M ti = stu(k).cj(ii): stu(k).cj(ii) = stu(i).cj(ii): stu(i).cj(ii


    注意事项

    本文(VB程序设计实验-学生成绩管理系统.doc)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开