


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机上机实习报告学院:石油工程学院班级:储运11204姓名:魏亚荣学号:XXXXXXX班内序号:XX指导教师:XXX-3四 . 系统设计分析-3五窗体设计与程序代5六心得体会二、实习目的:综合应用所学理论知识, 联系实际开发一个具备简易功能的班级学生成绩管 理系统。熟悉程序编写与调试,熟悉数据文件的创建、打开、读写、关闭等相关 操作,同时让我们熟悉VB6.0的开发环境,掌握基本的编程方法,熟悉用VB语言 完成一个应用程序的设计过程 , 掌握有关编辑和调试程序的方法和技巧 。1、用记事本新建一个文本文件,将本班的 M名学生的有关信息及本学期的 N门 考试课的成绩 (要求用假想分数, 并要求将自
2、己的每门课的放在第一列) 输入到 这个文件中 , 建议按如下形式存放 ( 注:三、系统功能概要为例 ):序号姓名幸运日 出生日期英语VB数学 体育7作者自己8 1992.12.19 99100 9898 10010张某677768089855李某189889997953王某656764354772刘某382878579891孙某245566665684赵某582965685556陈某386866686879周某556966556568钱某656655656562、将本学期的N门课程及其学分(16学时为1 个学分 ) 输入到另一个数据文件20< MK 50、5< NW 8,下文以 M
3、=10,N=5上题)中,建议如下列形式存放:专业课文件类型同号课程名称课程学分1英语5.02vb程序设计43数学4.54体育3.05专业课10.0编1)找出“出生日”与幸运日相同的人,并打印出其信息(每行输出一个人信息)2) 统计出分别拥有幸运数字 1, 2,3,4,5,6,7,8,9,0 的人数3)能查出任何一个你感兴趣的人的信息4)可新添加一个人的信息5)和删除一个人的信息6)可以对某个人的幸运数字进行修改,只改变其幸运数字,其他信息不变7)根据以上两文件内容分别计算每个学生N门课的加权平均分(保留2位小数,4舍5入),按平均分排列名次,平均分相同则名次并列,如第1、2、2、4、5、5、7
4、名。用 VB创建一个数据文件,存放班级的成绩表,建议按以下形式存放。学号姓名英语vb程序设计数学 平均成绩 名次1张某76898980.522李某91966778.233王某75585688.814赵某58677768.548)分别统计全班每门课的平均分,并计算各分数段(60分以下;6069; 7079; 8089;90分以上)的学生人数。用 VB创建一个新的数据文件,在该文件中存放数据的格式如下:范围 .英语 VB .>=9035.80-891012.9)打印每名学生成绩条(并将结果存放到用 VB创建的一个新的数据文件中)。10)打印所有存在不及格课程学生的名单 (含学号、不及格课程名
5、称、 课程的学分及成绩) 。11)打印优等生名单(学号、N门课成绩、平均分名次) 优等生条件:a)平均分 90 分b)名次在本班位于前三名c)平均分 85分,并且有二门课的成绩都 95 分选做内容: 打印每门课成绩分布图说 明:所有输出结果应写入用 VB创建的文件中,格式要整齐,并有适当的文字说明。 实习报告要求 :应包括分析设计与说明、部分过程(函数)的源程序清单、程序调试过程中 遇到的问题及解决方法, 有待改善或改进的意见, 对本次实习的意见与建议、收获等。 其中 原始数据及程序运行的结果应作为附录附于实习报告之后。四、系统设计分析 :1、该成绩管理系统中要同时表示学生的学号、 姓名、成绩
6、等一些信息, 及课程、 课程学分等一些信息,由于每项信息的意义不同,数据类型也不同,但还要 同时作为一个整体来描叙和处理,因此需要通过用户自定义来解决。所以在 编程之前新建一个标准模块用来定义自定义类型。2、为了便于后面执行求加权平均分、排名等命令,在 Forml发生Load事件时 应将学生信息和课程信息读取并放到两个数组中,由于这两个数组在该管理 系统的全程序都要用到,因此应定义为全局类型。如是在标准模块中定义两 个数组。3、由于原始数据文件中相邻的两列之间空格的长短不一, 因此在调用 Split 函 数之前应窗体通用模块中自定义一个 space1 函数将原始数据文件中相邻的 两列之间空格数
7、变为相同。4、在编写程序时,由于该系统的程序代码较多,因此在编写时要合理。5、在打印成绩条、不及格名单、优等生等信息时,应边用 write 语句分别将数 据存入一个新的文件中。6、实习必须按着老师的严格要求完成所有的实习任务,并整理成文件打印。五.窗体设计与程序代码1.此次窗体设计使用了 11个命令按钮分别对应不同的系统功能要求,具体界 面如下2.程序代码统计“出生日”与幸运日相同的人Dim stu() As stude nt, n%, kc() As keche ng, x%Private Sub Comma nd1_Click()ClsFor i = 1 To UBou nd(stu()I
8、f Right(stu(i).birthday, 2) = stu(i).luckyday ThenPrint stu(i). num; stu(i). name; stu(i ).lu ckyday; stu(i).birthday;Forj = 1 To 5Print stu(i).score(j);Next jPrintEnd IfNext iEnd Sub统计不及格学生的名单Private Sub Comma nd1O_Click()CisPrint "序号"Spc(3);" 姓名"Spc;" 成绩"Spc;" 学分
9、"Spc;" 课程"For i = 1 To UBou nd(stu()Forj = 1 To 5If stu(i).score(j) < 60 ThenPrint Tab(0);stu(i). num;Spc(3); stu(i). name; Spc(2);stu(i).score(j); Spc(3); kc(j).xf; Spc(3); kc(j).km;End IfNext jNext iEnd Sub打印优等生名单Private Sub Comma nd11_Click()ClsPrint " 学号""英语"
10、;Space(3); "VB" Space(3);" 数学"Space(3);" 体育 "Space(3);" 专业课"Space(3);" 排名"Dim zxf%, i%, j%, k%For i = 1 To UBou nd(kc()zxf = zxf + kc(i).xfNext iFor j = 1 To UBou nd(stu()For k = 1 To 5stu(j).average = stu(j).average + stu(j).score(k) * kc(k).xf / zx
11、f stu(j).average = Format(stu(j).average, "0.00")Next kNext jFor m = 1 To UBou nd(stu()stu(m).ra nk = 1For n = 1 To UBou nd(stu()If stu(m).average < stu (n ).average Thenstu(m).ra nk = stu(m).ra nk + 1End IfNext nNext mFor i = 1 To UBou nd(stu()k = 0Forj = 1 To 5If stu(i).score(j) >=
12、 95 Thenk = k + 1End IfNext jIf stu(i).average >= 90 Or stu(i).ra nk <= 3 Or (stu(i).average >= 85And k >= 2) ThenPrint stu(i). num; Space(3); stu(i). name;For m = 1 To 5Print stu(i).score(m); Spc(4);Next mPrint stu(i).ra nkEnd IfNext iEnd Sub统计各幸运数字的人数Private Sub Comma nd2_Click() ClsFo
13、r i = 0 To 9Dim luckypeople%For j = 1 To UBou nd(stu()If Val(stu(j).luckyday) = i The nluckypeople = luckypeople + 1End IfNext jPrint "幸运数字为"& i;"的人数为:"& luckypeopleluckypeople = 0Next iEnd Sub查询信息Private Sub Comma nd3_Click()ClsDim rm As Stri ng, i%, j%rm = In putBox(&qu
14、ot;请输入你想要查询的同学的姓名")For i = 1 To UBou nd(stu()If Trim(stu(i). name) = rm ThenPrint stu(i). num; stu(i). name; stu(i) .lu ckyday; stu(i).birthday;Forj = 1 To 5Print stu(i).score(j);Next jEnd IfNext iEnd Sub添加信息Private Sub Comma nd4_Click()ClsDim xin xueshe ng As Stri ngxin xueshe ng = In putBox(&
15、quot;请依次按照序号,姓名,幸运日,出生日期,英语,vb,数学,体育,专业课的顺序输入新同学的信息,中间用空格隔开")Open "e:vb 作业 1.txt" For Append As #1Print #1, xin xueshe ngPrintClose #1Do While In Str(Trim(x in xueshe ng), " ") <> 0xin xueshe ng = Replace(Trim(x in xueshe ng),"","")Loopa = Split(x i
16、n xueshe ng,"")n = n + 1ReDim Preserve stu( n)stu( n).num = a(0)stu( n). name = a(1)stu (n).lu ckyday = a(2)stu( n).birthday = a(3)For i = 1 To 5stu (n ).score(i) = a(3 + i)Next iFor i = 1 To UBou nd(stu()Print stu(i). num; stu(i). name; stu(i) .lu ckyday; stu(i).birthday;Forj = 1 To 5Prin
17、t stu(i).score(j);Next jPrintNext iEnd Subfc电£m聲臣毎占Li同r''t忻盂干+12202bIB2耳 sfss*二lileTlM 拒羊 王歹t':-AVI 2 3 寸 nGTMsG 1 llllllull :Q 戈一199-a. i im1004. UL 021W, 01. 18:1995. 02. 03 199JI. OR. J5 1994. 10. 02LM4. 02. 30L993. OB. 9119CP. CIS. d£> 他 3M. 10 的呼窗p 1M4. 0C-02 3W3. M. 15
18、 m4. 10. <36 3M4. 0£ 131 嘶 g 211996. 10.2E 辭M IQ. 20 1M4. Olr Zi lW4.01-2( lr-. 01. 02:i-7172J J239-s二-?5LI yl&w E 二居 1;. - Tosa-I o s h- - i -1 fl- 6 s - I & -Q s 6 - i _s I -j 7 -I 495 Ml 00 74 林76昶51 知 7E91 鸵78 騎527 0SQ76 甜56-甘 t:6- 旳L .-7o 目二ai::: 切5:E0冊涉;雀碾阵也T9 7 9 丁6* 8flc eb1
19、t n Bbl,“出生日'与葺:运曰帕同的氐| 齢h&宇运蚊匸曲人甜團除倚担|忸畝幸运数I讨梅忙事主的平均分统计康SB些玮I訂EP学主或锻备|平艮幡爭空霉单 打印优等呈g单弓 I 净-1I3O-*!*-帕I/佃IVO1 1宦也讣 wlrtw 呼u-:尹1Wifi "HPI VV九1 *>«>:!*1却于1931 W*e 191*3 IUVLI i9*h T"LJ IQfh I MM2和丿蜚HM 皈zn1¥nn?!>.Hd I:O:E;:1;»5林 f 北H5? nJfiHJfiHT 0¥0>a
20、h nTST5?7 A77TSan?»tl A<杓理95 S67119”S3”H& HD2HUi樺刊N2W H斥斗弋W耳7 ft fl产加 A M7 HI0 7*«?JS5:删除信息Private Sub Comma nd5_Click()CisDim rm As Stri ngrm = In putBox("请输入你要删除的同学的姓名")For i = 1 To nIf Trim(stu(i). name) = rm ThenExit ForEnd IfNext iFor j = i To n - 1stu(j) = stu(j + 1)
21、Next jReDim Preserve stu(n - 1)For i = 1 To UBou nd(stu()Print stu(i). num; stu(i). name; stu(i) .lu ckyday; stu(i).birthday;Forj = 1 To 5Print stu(i).score(j);Next jPrintNext iEnd Sub22182o2616o 1 a. - 3 4-3-6 M i . i 會 cp I1 T11- 1 i 1* 1111 A/- n-卷4三:i:;u.t 上7|7? 王sf XJK-TPLIF忘R3Q1W4. 1LC0199-1.
22、12. 021993. 01.1B1995.02 0» 】砂W. 021994. 02. 501995. 08. 911094. 00, QB】网,07. 101993. «.2C1994. 0*0. 02 1W3-Q9. 15 曲4. 10- 0S1QM 应 132K5.O4- 211M. 10.25 】航IG 20IWip ALM m4. 01 20 86书4 i ;8 8a 91 需 -IJD 鼻 7S &4 6: 71 7£ EE7172由4 I33fl 8 W ,.-3 9 r二c-v .-!一二 1 d - 1 :¥n二一 c -Q
23、.b - I - i Ah s- -5 p- - - -V- -u.-苗 _ I - i - I 7 * I 4i 口3。;订95I:I:-63LSS-52巫5i6G53£0so6645907862 鮎 鼠I7S 时73Bl卍607ES2OS6C- 餡86816&I?燔改幸运竝孚河牛学空的平峋井議计良维廿布I打S爭生魄谊埶丰及榕学生足单修改幸运数子Private Sub Comma nd6_Click()CisDim rm As Stri ng, shuzi As Stri ng, i%, j%rm = In putBox("请输入你要修改的同学的姓名")
24、 shuzi = InputBox("请输入你要修改后的幸运数字")For i = 1 To UBou nd(stu()If Trim(stu(i). name) = rm Thenstu(i ).lu ckyday = shuziPrint stu(i). num; stu(i). name; stu(i ).lu ckyday; stu(i).birthday;Forj = 1 To 5Print stu(i).score(j);Next jEnd IfNext iEnd SubIta x&畅対世村io射.心烧能匸币凶制计算每个学生的平均分Private Sub
25、 Command7_Click()ClsDim zxf%, i%, j%, k%For i = 1 To UBound(kc()zxf = zxf + kc(i).xfNext iFor j = 1 To UBound(stu()For k = 1 To 5stu(j).average = stu(j).average + stu(j).score(k) * kc(k).xf / zxfstu(j).average = Format(stu(j).average, "0.00")Next kNext jFor m = 1 To UBound(stu()stu(m).rank
26、 = 1For n = 1 To UBound(stu()If stu(m).average < stu(n).average Thenstu(m).rank = stu(m).rank + 1End IfNext nNext m成绩单 .txt" For Append As #3Print #3, " 序号" Space(3); " 姓名" Space(3); " 幸运日 " Space(3); " 出 生日期" Space(4); " 数学" Space(4); "
27、 英语" Space(4); "vb" Space(4); "物理" Space(3); " 专业课" Space(3); " 平均分" Space(3); " 排名" For i = 1 To UBound(stu()Print #3,Print #3, stu(i).num; Space(3); stu(i).name; Space(3); stu(i).luckyday;Space(3); stu(i).birthday; Space(3);For j = 1 To 5Print
28、 #3, stu(i).score(j); Space(3);Next jPrint #3, stu(i).average; Space(3); stu(i).rank;Next iClose #3End Sub12356 7il出生日期数竽英皓yb物理专平彫1 w11.09968995899017S.82199M-12.02tC08918578102.361993.01.18777595S215®.902 >0378757h961&2B2fi1993 08.1588656S673810.0285ASTiBae151&3fi1 0蚀02.309189867817
29、2.361M3.08.31詐75283911A1.1219911.DA.0986916573isa.&a1993,C7.I075S368S91D6.20tl82787578151.1119911.Q9.fl?R11S?nn1IIT.Mim.09-15SIS7Sfi7 ft10,nfl佔fi77Ss?1U7.AUB5 _137172A5気&1U7 _1HTfi81S2S3as154-111 995 .1fl_256575so85ia.2o7173008296阿仏EII.2U727576SBaiQI.707?72AS统计成绩分布Private Sub Comma nd8_Click
30、()CisDim i%, j%, bsix%, ss%, se%, en%, anine%, a(1 To 25) As Integer, b(1 To5) As In teger, c(1 To 5) As In teger, d(1 To 5) As In teger, e(1 To 5) AsIn teger, o(1 To 5) As In teger, p(1 To 5) As In teger, q(1 To 5) As In teger, r(1 To 5) As In teger, s(1 To 5) As In tegerFor i = 1 To 5kc(i).zf = 0F
31、or j = 1 To UBou nd(stu()kc(i).zf = kc(i).zf + stu(j).score(i)Next jkc(i).average = kc(i).zf / UBo un d(stu()kc(i).average = Format(kc(i).average, "0.00")Print kc(i).averageNext i成绩分布.txt" For Append As #4Print #4," 范围"Space(8);" 数学"Space(3);" 英语"Space(3)
32、; "vb"Space(3);"物理"Space(3);" 专业课"For i = 1 To 5For j = 1 To UBou nd(stu()If stu(j).score(i) >= 90 The no(i) = o(i) + 1ElseIf stu(j).score(i) >= 80 The np(i) = p(i) + 1ElseIf stu(j).score(i) >= 70 Then q(i) = q(i) + 1ElseIf stu(j).score(i) >= 60 Then r(i) =
33、r(i) + 1Elses(i) = s(i) + 1End IfNext jNext iPrint #4, ">=90" Spc(8);For i = 1 To 5Print #4, o(i); Spc(4);Next iPrint #4,Print #4, ">=80" Spc(8);For i = 1 To 5Print #4, p(i); Spc(4);Next iPrint #4,Print #4, ">=70" Spc(8);For i = 1 To 5Print #4, q(i); Spc(4);Nex
34、t iPrint #4,Print #4, ">=60" Spc(8);For i = 1 To 5Print #4, r(i); Spc(4);Next iPrint #4,Print #4, " 其他" Spc(8);For i = 1 To 5Print #4, s(i); Spc(4);Next iPrint #4,Close #4End SubB12 B-UH 7. Gd L(11)打印学生成绩条Private Sub Comma nd9_Click()Dim stu(1 To 20) As Stri ng成绩单.txt" Fo
35、r In put As #5For i = 1 To 20Line In put #5, stu(i): Print stu(i)Next iClose #5End Sub细HEJUrh呻 吐瑞WM.£t-6 srBsflaM 93L&孕-ld&l G6iCl£irfl-Q H 13 2B<OI± B *p 晅9IB4I-R-9-r9TlgTEoaBs'0A&571&3L4s52cifli3o2a乩创&晶亦月&和 RTHC:日-IJCDRE nlo5戌町911HG 丄E 也卫0 frvlIB:»&tiiE>FEsfl.7 6&7.>站 uaR廉flm 廿冷?冷1721 o 3-n.fi fi c 7 6 7 76 3 c . o1 o > 2 21 21日 0 二B.o-讥 MLAo-版區0.6 lo&il4 43 6 344-34 5 JI1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行街区活动方案
- 装饰公司收楼活动方案
- 焊锡考试题目及答案
- 歌曲写作考试题及答案
- 防水卷材考试题及答案
- 宾语从句详解:八年级英语中级语法课程
- 大学美学考试题及答案
- 项目风险管理分析与应对措施表
- 企业节用能源承诺书4篇
- 出口商品代理协议
- 苏州市建设工程档案立卷程序与标准
- 2025年上半年湖北十堰竹山招募三支一扶高校毕业生聘用为事业单位人员12人易考易错模拟试题(共500题)试卷后附参考答案
- 餐饮服务明厨亮灶建设工作方案
- 兽医化验员专业知识考试题及答案
- 福建台湾海峡大桥建设工程可行性研究报告
- (完整)注册安全工程师考试题库(含答案)
- 高考作文素材积累与写法总结27 自知与知人作文审题指导及素材积累
- 电子政务概论-形考任务5(在线测试权重20%)-国开-参考资料
- 2024年贵州省贵阳市中考生物地理合卷试题(含答案逐题解析)
- DNDC模型使用手册
- 起重机械生产单位质量安全总监-特种设备考试题库
评论
0/150
提交评论