资源描述:
《VB课程设计报告 (3)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VB课程设计报告(3)一.系统名称:简易学生成绩管理系统的设计与实现二.设计目的1.熟悉VB6.0的开发环境,掌握基本的编程方法,熟悉用VB语言完成一个应用程序的设计过程,掌握有关编辑和调试程序的方法和技巧;2.主要掌握VB语言中的标准模块的建立﹑数据文件的读出与写入、数组与选择结构的运用,图形操作等内容3.了解开发简单应用程序的全过程,包括:分析﹑设计﹑编程﹑调试和编写报告.三.程序摘要先在记事本中创建2个文本文档,分别输入本班25名学生在本学期的5门考试课的成绩和课程名及其学分.在主函数中读入两个原始数据文件的
2、内容,保存在对应的结构体数组中,计算出每个学生5门课的加权平均分,并按平均分排列名次.然后显示菜单,调用各个函数,完成以下功能:1.根据以上两个文件内容分别计算每个学生N门课程的加权平均分(保留两位小数,四舍五入),按平均分排列名次,平均分相同则名次并列。用VB创建一个数据文件,存放班级的成绩表。2.分别统计全班每门课的平均分,并计算各分数段(9019分以上;80~89;70~79;60~69;60分以下)的学生数。.1.打印每名学生成绩条(并将结果存放到用VB创建的一个新的数据文件中)。2.显示所有存在不及格课程
3、的学生的名单(含学号,不及格课程名称,课程的学分及成绩)。3.屏幕显示优等生名单及打印每门课程成绩分布图。优等生条件(只要满足三个中任一个就可以):a)平均分>=90分b)名次在本班位于前四名c)平均分>=85分,并且至少有一门课的成绩>=95分四.系统设计流程图系统功能文件分析与处理数据输出学生成绩课程学分计算加权平均分按平均分排名次打印成绩分布图各科成绩分布图打印学生成绩条打印不及格情况打印优等生情况各科平均分五.系统实现(见附录列表)六.相关数据列表19源文件19运行效果1919(此处仅以化学为例)19七.小
4、结1.综述通过这次上机实习,我充分运用了自己在课堂中所学到的知识,同时也清楚地认识到自己的不足之处。很多东西自己以为已经掌握了,而实际上没有。正所谓“纸上得来终觉浅,绝知此事要躬行”,通过实习,我对已掌握的知识加深了了解,以往没掌握的知识有了一定的掌握,体会到VB语言编写程序的乐趣。在此,向悉心教导我的胡、江两位老师与耐心帮助我的同学致以诚挚的2.出现的主要问题与解决办法(1)在计算加权平均分前要将数据文件中的数据读出再进行处理,但始终出现“下标越界”的问题。分析与解决办法:在用split函数将整条数据分开时,由于
5、原始数据存储时的格式问题,有时会将空格作为数据分出并赋值给数组,这样程序在执行时会因数组长度确定而出现下标越界。解决的办法在于修改原始数据的存放,把格式进行调整,将空格数目固定下来。(2)在按加权平均分排名时出现排名错误。分析与解决办法:经过仔细检查发现错误原因在于利用选择法排序时最后的顺序交换出错,错误在于交换时中间变量使用有误。解决的办法在于修改交换数据的部分代码,正确使用中间变量。(3)在“打印优等生名单”中代码中要有一个对成绩大于95分课程数目的统计,试图用一个子过程加以实现,但发现难以实现。19分析与解决
6、办法:子过程在该处使用存在困难,难以达到目的,不妨改变思路,在标准模块中多加一个变量,定义为对成绩大于95分课程数目的统计。这样可以先期将每个同学的情况都算出,再在该处直接引用。八.附录(主要程序代码)(1)标准模块TypestuscorexuehaoAsStringnameAsStringchengji(1To5)AsIntegerpaimingAsIntegerjiaquanAsSingleksAsIntegerEndTypeTypecourse编号AsInteger课程名称AsString课程学分AsSing
7、leEndTypePublicstu()AsstuscorePublickc()Ascourse19Publica%,b%,c%,jiaquan!()PrivateSubarrange_Click()(2)显示排名Dimi%,j%,k%,sAsstuscore,e%Fori=0Toa-1k=iForj=i+1ToaIfstu(j).jiaquan>stu(k).jiaquanThenk=jNextjs=stu(i)stu(i)=stu(k)stu(k)=sNextiPicture1.ClsPicture1.Prin
8、t"学号姓名化学制图线代物理实验平均分排名"Fore=0To24stu(e).paiming=e+1Picture1.Printstu(e).xuehao;Spc(4);stu(e).name;Spc(4);stu(e).chengji(1);Spc(4);stu(e).chengji(2);Spc(4);stu(e).chengji(3);Spc(4);s