计算机组成原理与汇编语言课程设计学生成绩管理Word文档格式.docx
- 文档编号:16172119
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:20
- 大小:356.41KB
计算机组成原理与汇编语言课程设计学生成绩管理Word文档格式.docx
《计算机组成原理与汇编语言课程设计学生成绩管理Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理与汇编语言课程设计学生成绩管理Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
二、需求分析2
2.1功能描述2
2.2功能模块分析2
2.2.1学生信息输入功能2
2.2.2学生信息修改功能:
2
2.2.3学生信息删除功能2
2.2.4学生信息查找功能2
2.2.5显示排名信息功能3
2.2.6文件写入及退出功能3
三、设计方案4
3.1系统流程图4
3.2子程序模块设计5
3.3详细设计7
3.4程序调试结果及分析10
四、结论与心得14
4.1自我评价14
4.2缺点和不足14
4.3开发感悟14
五、参考文献15
一、课题分析
题目:
学生成绩管理
分析:
首先需要建立学生成绩文档;
然后依据学号输入学生各门功课成绩(假设3门功课);
功能上要求修改指定学号的学生成绩;
统计指定学号的学生的平均成绩、总成绩,并在屏幕上显示;
统计指定学号课程的平均成绩,并在屏幕上显示;
每门课程成绩分析在屏幕上显示3门课程的各个分数段的学生人数(分数段为:
>
=90;
80-89;
70-79;
60-69;
<
=59)此处可以以表格的形式给出数据,或者以坐标曲线的形式给出。
对学生成绩记录进行检索(按学号、姓名),成绩排序(按总成绩降序排列),退出,最好用到文件处理。
二、需求分析
2.1功能描述
学生成绩管理,最基本能实现的的功能是输入学号,同时显示该学生的基本的信息,我设计的成绩管理系统功能还包括了显示该生的语文,英语,数学三门学科的成绩,求出了该生的总分,以及该生的平均分,动态输入学生的成绩,而且成绩是按照三位数显示的,可以输入任意多的学生人数,每个学生都是三门课程,最后统计输入所有学生的各科各个分数段的人数,最后显示出所有学生的成绩排名情况。
为了使系统更实际一些,我设计的系统包括建立了文件,方便学生的信息一次录入之后可以保存该数据,将该数据保存在名为score的txt文件中,而且文件的路径与该软件默认的安装路径一致;
为了使系统更方便用户使用,我设计了菜单,菜单中设计了六个功能,包括插入,删除,查询,修改,查看,退出等。
2.2功能模块分析
2.2.1学生信息输入功能
这是必不缺少的功能,学号的输入,成绩的输入都离不了这个功能,在输入成绩时,特地加了一个判断功能,在输入不合理的成绩时,程序将提示出错,并要求重新输入。
在输入学生学号的时候,程序首先会判断此学生的成绩是否存在,如果存在,则程序提示需重新输入。
插入一条学生记录子模块,搜索可用单元,接收输入的记录,并写入文件。
建立成绩表子模块,控制输入界面,并多次调用插入记录子模块,完成成绩的建立。
2.2.2学生信息修改功能
考虑到会存在在输入成绩时,容易输入错误,或者发生个别学生的试卷被误判需修改成绩等情况,所以加了此功能,在发生以上情况时可以调用此功能,修改指定学生的成绩。
2.2.3学生信息删除功能
如果输入的学生信息根本不存在,或者发生其它情况需删除一个无意义的学生信息时,可以调用此功能。
此功能将实现将指定学号学生的信息删除。
2.2.4学生信息查找功能
当需要查询某个学生的成绩或者检查输入是否有误时,可以调用此功能,此功能实现将指定学号学生的成绩显示出来。
实际上在调用此功能的同时,程序会首先求的总成绩,平均成绩,然后产生排名结果,最后将数据信息显示。
2.2.5显示排名信息功能
此功能会将学生成绩自动相加,得到每位学生的总成绩及平均成绩,然后进行排名,得到每个学生的名词,最后按照输入顺序将所有学生的学号,语文成绩,英语成绩,数学成绩,平均成绩,总成绩,名次依次输出。
模块中排名处理、学科平均成绩计算均需取出某一学科的所有学生成绩,因而此操作作为公用子程序以供调用。
个人总分及平均分处理较为简单,根据索引逐条处理记录。
排名处理。
排名结果为一维数组,与学科成绩存在对应关系。
查询学生记录,先进行学号匹配,再输出一条记录;
查询该生的所有信息。
2.2.6文件写入及退出功能
此功能实现将学生的信息保存在一个文件里。
此程序默认将文件放在C盘下,名称为:
score,属性为txt格式的文本文档。
该文档能够保存数据,以便数据不需要重复录入,是系统更能满足用户需求。
写入文件完毕后,关闭文件,并退出程序。
三、设计方案
开始
3.1系统流程图
打开文件
显示菜单
置文件指针到文件尾
输入一个字符
Y
是i?
从终端接收用户的输入记录
调用Insert子程序
N
记录写入文件
是m?
调用Modify子程序
关闭文件并返回
是f?
图2Inset子程序
调用Find子程序
是s?
调用Rank子程序
是c?
读一个记录
调用Count子程序
是esc?
是否为要修改记录
结束程序
文件指针后退一个记录
图1主程序
写入修改记录并关闭文件
返回
图3modify子程序
接收删除记录
读一条记录
对数学成绩分段并统计
学号相同?
指针到文件尾
删除该记录
显示统计结果
关闭文件
图4delete子程序
图5count子程序
3.2子程序模块设计
(1)INSERT子程序
INSERT子程序的功能是录入一条记录。
首先保留现场入栈,然后DOS中断3D号功能打开FNAME指定的文件,然后宏GETIN清除屏幕右半部分的记录输入区域。
在记录的第一项处置光标,用INTPUT获取记录内容,用DOS中断42H号功能将指针移到文件末尾。
再用DOS中断40H号功能将放在BUFFER缓冲区的23个字节的内容写到文件中,接着关闭文件,重新设置光标位置在显示记录位置。
最后弹栈恢复现场。
(2)MODIFY子程序
MODIFY子程序的功能是修改记录。
先保护现场,然后清除右上部分的记录输入区域,接着打开文件。
用input子程序获取输入的记录信息,并存入BUFFER1中。
从打开的文件中读取一个记录的内容(23个字节)放在BUFFER2中。
比较记录前面的15个字节(姓名),如果不同,则读取下一个记录;
如果相同,则回移一个记录的指针,回到刚才这条记录的位置(因为读取一个记录后,指针已移到下一条记录上)。
将放在BUFFER1中的输入的记录写到刚才这条记录在文件中的位置上,从而实现此记录的修改。
最后关闭程序,恢复现场。
(3)DELETE子程序
DELETE子程序的功能是删除一条记录。
首先保留现场,清除屏幕。
然后打开文件,保留文件句柄。
用宏GETIN获取15个字节的姓名字符,放在BUFFER1中。
读取一条记录(23个字节),放在BUFFER2中,然后和BUFFER1中内容比较,如果不同,读取下一条记录。
如果姓名相同,则把指针后移6个字符(3门功课所占空间),写入6个“0”字符。
关闭文件,恢复现场并退出。
(4)FIND子程序
FIND子程序的功能是打印文件中的记录。
用OPENF子程序打开文件。
读取一条记录,汇编语言提供了自定义数据结构的结构定义语句,可将不同的数据类型放在一个数据结构中,便于处理,在本程序中的记录就采用了结构定义语句。
这里读取记录也用了结构的方法。
接着用DOS中断21H的5号功能,逐字打印存放在BUFFER1中的所以字符。
一条记录打完后,打印回车符换行。
然后用同样方法继续读取下一条记录并打印,直到文件结束为止。
最后关闭文件退出。
(5)COUNT子程序
COUNT子程序的作用是统计各分数段小说人数,并简化程序,作为示例,本程序只统计记录数学各分数段的人数。
首先显示统计结果的标题:
maths<
60<
70<
80<
90<
100。
然后打开文件。
读取记录,将记录的第16个字符(数学分数的高位)取出比较。
统计结果依次放在以BUFFER3开头的内存单元中,如果小于60,则将小于60的记录单元BUFFER3加一;
若小于70,则将小于70的记录单元BUFFER3加一,即BUFFER3下一个地址单元内容加一,依次类推。
处理完后再读取下个记录,作同样处理,直到文件结束为止。
接着显示放在BUFFER3中的各分数段的人数的统计结果,最后关闭文件结束。
从程序中可以看出,统计时程序有个限制,本例每个分数段最多不能超过9个人。
3.3详细设计
insertprocnear
callinput
addn,1
ret
insertendp
inputprocnear
e6:
outputmess1
shuru
movbl,n
movbh,0
movxh[bx],dl
cmpbx,0
jeqq1
movcl,n
cbw
movsi,0
moval,xh[bx]
e7:
cmpal,xh[si]
jee5
addsi,1
loope7
jmpqq1
e5:
outputts4
jmpe6
qq1:
outputmess2
outputmess4
movsi,0
movcx,3
qq3:
shuruu
cmpdx,78h
jbeqq2
outputts3
qq2:
movbuf[si],dl
outputbg
loopqq3
movbl,n
cbw
moval,buf[0]
movchi[bx],al
moval,buf[1]
moveng[bx],al
moval,buf[2]
movmat[bx],al
inputendp
modifyprocnear
md1:
outputmess1
movbl,n
movbh,0
moval,dl
md:
cmpal,xh[si]
jeqq1_1
cmpsi,bx
jbemd
outputmess
jmpmd1
qq1_1:
movdi,si
outputmess2
outputmess4
movcx,3
qq3_1:
shuruu
cmpdx,78h
jbeqq2_1
outputts3
jmpqq1_1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 汇编语言 课程设计 学生 成绩 管理