(汇编)学生成绩管理系统

(汇编)学生成绩管理系统

ID:27636389

大小:657.50 KB

页数:10页

时间:2018-12-05

(汇编)学生成绩管理系统_第1页
(汇编)学生成绩管理系统_第2页
(汇编)学生成绩管理系统_第3页
(汇编)学生成绩管理系统_第4页
(汇编)学生成绩管理系统_第5页
资源描述:

《(汇编)学生成绩管理系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、学生成绩管理系统一、实验题目设计学生成绩管理程序(3门课程),实现以下功能:1.各科成绩的录入、修改和删除(10个学生,每人3门成绩,分别按学生存放。即学生编号*,语文成绩*,语文成绩名次,数学成绩*,数学成绩名次,英语成绩*,英语成绩名次,后面的三个单元存放该生总成绩、名次、平均成绩)带*号的为录入值2.排序:(1)单科课程成绩排序(分数从高到低):结果放到每门成绩之后的名次单元中(2)总成绩排序(分数从高到低):结果放到每个学生后面的名次单元中3查找:(1)查询某位同学某课程成绩及名次;总成绩及名次.(2)查询单科课程不及格

2、同学名单4.统计:(1)单科平均分(2)总成绩平均分(3)单科各分数段人数(60以下,60~70,70~80,80~90,90~100)二、设计思路1.数据定义。每个学生记录由学生编号,语文成绩,语文成绩名次,数学成绩,数学成绩名次,英语成绩,英语成绩名次,总成绩、名次、平均成绩组成。其它数据,单科平均成绩,总成绩平均分,单科各分数段人数。学生编号=0{数字字符串}5成绩=0{数字字符串}3名次=1{数字字符串}2分数段人数=5{数字字符串}5索引表元素=无符号双字节数所有成绩数据,语文成绩、数字成绩、英语成绩、总成绩、平均成绩

3、,均采用上述成绩的定义;所有名次数据,均采用上述名次定义。1.数据存储。所有数据存储于文件中。每条学生记录占用70个字节,实际有效字节为24字节,记录最后两个字节是回车换行符,其余字节为空字符,学生记录从第0个字节开始存储。第1000个字节开始用以存储索引表。单科平均成绩,总成绩平均分,单科各分数段人数存储在所有学生记录之后的单元中。成绩数据,占用三个字节,排名数据占用两个字节,学号数据占用五个字节,各科分数段人数占用五个字节,有效字节不足时,在其后补上空字符,即0,如,成绩100存储为31H,30H,30H;90存为39H,3

4、0H,00H。2.系统结构系统分为四部分:插入记录、删除记录、数据处理和查询。结构图如下:1.1.插入模块,包括建立成绩表、插入一条学生记录两个子模块。插入一条学生记录子模块,搜索可用单元,接收输入的记录,并写入文件。建立成绩表子模块,控制输入界面,并多次调用插入记录子模块,完成成绩的建立。1.2.删除模块,包括学号查询匹配、删除处理子模块。学号设计为定长,长度为2字节,搜索以完全匹配的方式进行。删除处理,完成对索引表的修改。1.3.数据处理模块,包括计算个人总分、平均分,计算单科平均分,成绩排名处理,统计各科分数段人数子模块,

5、各子模块完成相应的功能,并把结果写入文件。1.4.查询模块,完成数据的显示功能,包括查询某个学生个人记录,查询不及格名单,查询各科分数段人数及输出所有记录一、算法设计。1.所有数据在文件中的修改以覆盖的方式进行,因此将为每个数据分配固定长度的存储空间。根据以上数据的定义,数据写入文件前必须“规格化”,使其符合定义。从键盘输入学号、成绩数据到缓冲区,最后一个字符是0DH,且长度不等,需去掉回车符,补上空字符。总分、平均分的计算。从文件中读出数据,需先转换成二进制数再进行计算,结果必须转换成符合格式的字符串写入文件。从字符串到数字的

6、转换算法流程图如下:STR表示从文件读出的符合格式的字符串。第一个循环用以算出有效数字位数,作为第二个循环的循环次数。第二个循环,AX作累加器,循环体是“乘10、加上数字”,循环结束算出其值从数字转换成字符串,算法程序图:1.程序采用索引表的方式,完成记录的删除、插入与查询;由于不要求学号有序,因而可以采用索引表,对记录和文件空间进行管理。其优点是管理较为简单,可以进行随机访问,能够满足插入删除的需求;缺点是难以实现学号有序。索引表设计如下:记录最大容量设计为MAX,链表长度为2*MAX+2个字节,即MAX+1个字长。最后一个字

7、存放尾指针目前学生记录数目;空闲的位置值为0,否则为1.学生的记录从第0个字节的位置开始存放,每70个字节为一条记录。程序初始化时,将索引表读取到缓冲区INDEX;索引位置表LP与相应文件空间的指针FP换算方式是:FP=(LP/2)*70例如,WORDPTR[INDEX+4]值为1,它所表示文件中开始指针值为140,长度为70字节的空间已经使用,即已经存有记录;否则表示空间可用。遍历索引表,搜索全部记录:从索引表第一个字开始,顺序扫描索引表。找到非0,将索引表位置LP转换成文件指针FP,读取数据,直到遇到0结束。转换成文件指针的

8、宏定义是:LOCATEMACROBXREGPUSHAXPUSHBXMOVAX,BXREGMOVBX,2DIVBLMOVBX,70MULBXMOVDX,AXPOPBXPOPAXENDMLOCATE宏参数是目前索引表位置BX,结果得到对应记录的文件指针送BX。1.插

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。