课程方案设计方案汇编语言学生成绩管理系统文档格式.docx
- 文档编号:14579313
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:16
- 大小:23.30KB
课程方案设计方案汇编语言学生成绩管理系统文档格式.docx
《课程方案设计方案汇编语言学生成绩管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《课程方案设计方案汇编语言学生成绩管理系统文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
5打印学生成绩。
设计目的用汇编数据的录入、修改和删除操作。
设计要求学习如何用汇编语言进行数据处理。
设计分析1.总体结构
整个程序采用主程序调用子程序的方法。
主程序完成菜单的显示子程序完成一个独立
功能方法的实现。
各子程序的实现方法简要描述如下
1设计INSERT录入子程序先打开文件SCORE.TXT并置文件指针到文件尾然
后调用REC子程序接受用户的输入再把用户的输入写入文件最后关闭文件返回
主程序。
2设计Delete删除子程序先打开文件再调用宏GETIN得到要删除的学生的姓_?
3名然后读文件中的记录直到其记录的名字与所输入的名字相同为止把文件指针后退8
个字符即4门课成绩所占的空间写入8个“0”字符关闭文件返回主程序。
3设计List浏览子程序时先打开文件然后读一个记录并通过调用宏SHOW_ITEM
将其显示到屏幕上入文件指针没有到达文件尾则继续读记录并显示当指针到达文件尾
时则关闭文件返回主程序。
4设计Modify修改子程序时先打开文件SCORE.TXT通用GER_REC得到要修改
的记录然后读文件中的记录并与用户输入的记录做比较只比较记录中的名字部分
若不同则吨下一条记录若相同则将文件指针后退23个字符一个记录为23个字符的长度
然后把用户输入的记录写入文件最后关闭文件返回主程序。
5设计Count统计子程序时先打开文件然后读记录比较记录的第16个字符
数学成绩的高位并统计直到文件指针到达文件尾最后关闭文件调用宏SHOW_ITEM
显示统计结果返会主程序。
6设计Query查询子程序时先打开文件通过调用宏GETIN得到要查找学生的
姓名然后读文件记录并同要查找的学生姓名比较若相同则输出若不同继续读文件记
录最后显示查询结果关闭文件返回程序。
另外还有打印的分数段人数统计这些结合后面的子程序功能分析做详细介绍。
图1是本设计显示记录的界面
图1学生成绩管理系统界面......30
参考文献....._亂
舒
4
入口程序流程图如图2所示
Y
N
AList流程图BInsert流程图打开文件
读一个记录
读错
文件尾?
显示记录
显示错误信息
关闭文件
返回
入口
打开文件
置指针到文件尾
从终端接收用户输入的记录
记录写入文件
4、裘雪红李伯成刘凯。
微型计算机詆亂zu?
5
YY
NN
NY入口
打开文件
读一个记录是否为所寻找
的记录
显示记录关闭文件
读一个记录是否为要修
改的记录
文件指针后退一个记录
写入修改记录并关闭文件返回
入口打开文件
对数学成绩分段并统计
指针到达文件尾显示统计结果
关闭文件返回
接收被删除记录的学生姓名
读一条记录
姓名相同删除记录
返回文件
返回?
6
Y
在大型的程序中为了使程序清晰、可读性好一般会大量使用宏和子程序因此充分了
解这些宏和子程序才能掌握程序的编制方法。
开始显示菜单
输入一个字符
是L
是Q是
D
是M
是C
是I
是E
结束
调用Iist子程序
调用Query子程序
调用Delete子程序
调用Modify子程序
调用Count子程序
调用Insert子程序
后调用REC子程序接受用户的输入再把用户的输入5亂(_?
72.宏的分析
本题中使用了下列宏其作用如下
SHOW用来指定地址的显示字符串有一个地址参数
SET_P1设定光标位置有一个可变参数a作用是讲光标置于坐标a36处使
用了BIOS中断10H的2号功能。
SET_P2将光标置于122处。
SET_P3将光标置于130处。
CLEAR清除整个屏幕用BIOS中断10H的7号功能实现范围是从坐标00到
2479将整个区域变为空白。
CLEAR1清除有半部分屏幕清除范围从坐标436到1079结果是擦出此
区域的显示内容。
CLEAR2清除下半部分屏幕清除范围是从坐标120到2479结果是擦
除此区域的显示内容。
NNWLINE回车换行。
SHOE_ITEM显示记录内容执行后显示名称然后依次显示4项功课成绩各项成
绩间空3个空格最后换行。
这个宏包含的语句较多如果每次都直接用语句实现非常冗长
使用宏后则主程序就很简洁充分体现了使用宏的优点。
GETIN获取学生的信息这也是一个使用频繁的宏其中含有很多的指令它带有
ADDRS和COUNT2两个参数ADDRS是存放信息的数据段位置CIUNT2是接受的字符数。
子程序分析下面详细分析程序中用的的主要的子程序。
1INSERT子程序
INSERT子程序的功能是录入一条记录。
首先保留现场入栈然后DOS中断3D号功能打开FNAME指定的文件然后宏GETIN
清除屏幕右半部分的记录输入区域。
在记录的第一项处置光标用GET_REC获取记录内容
用DOS中断42H号功能将指针移到文件末尾。
再用DOS中断40H号功能将放在BUFFER缓冲区的23个字节的内容写到文件中接着
].O)亂4箧
8关闭文件重新设置光标位置在显示记录位置。
最后弹栈恢复现场。
2GET_REC子程序
GER_REC子程序的功能是获取新的记录内容。
首先用宏GETIN获取学生的姓名放入BUFF2中最多15个字符如果遇到回车键则
提前结束。
再用循环方式将BUFFER2中的15个字符送到BUFFER1中。
然后用宏SET_P1将光标置于数学成绩输入项后等待键盘输入。
输入的成绩先放在
BUER2中然后加到BUFFER1中的姓名后面。
输入为2个字符后遇到回车键提前结束。
接着用同样的方法输入英语成绩计算机成绩和中文成绩。
完成后这个程序就得到了一个记录的所有信息。
3OPENF子程序
OPENF是个一个非常简单的子程序。
它的作用是打开一个文件并把一个文件句柄保存在
数据段的handle缓冲区中。
4QUERY子程序
QUERY是查询一条记录。
首先保留现场。
然后分别清除界面右上方和下边的区域。
打开FAME指定的文件并保留
文件句柄。
将光标至于界面的下半空白部分开始处用宏GETIN获取最多15个字符的输入然后
将BUFFER1中的内容与BUFFER2中进行比较看是否相同。
如果不同再继续向下从文件
中读出23个字节比较循环向下直到相同或文件结束为止。
如果不同则显示该条记录
然后关闭文件恢复现场。
B:
MOVAH,3FH;
读文件
MOVCX,23读23个字节记录长度
MOVDX,OFFSETBUFFER2放在BUFFER2中
INT21H
LEASI,BUFFER2
LEADI.BUFFER1
MOVCX,15循环次数
C:
MOVAL,BYTEPTR[SI]接着
www.do+亂6蹑
9CMPAL,BYTEPTR[DI]比较BUFFER1和BUFFER2
JNZB不同则转B
INCSI
INCD
LOOPC
5MODIFY子程序
MODIFY
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程 方案 设计方案 汇编语言 学生 成绩管理系统
![提示](https://static.bdocx.com/images/bang_tan.gif)