汇编语言程序设计课程设计报告-学生成绩管理系统程序设计精选.docVIP

汇编语言程序设计课程设计报告-学生成绩管理系统程序设计精选.doc

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言程序设计课程设计报告-学生成绩管理系统程序设计精选

学生成绩管理系统程序设 1、需求说明 用汇编语言编写一个学生成绩管理系统,实现基本学生成绩管理,功能包括添加学生信息、修改学生信息、删除学生信息、打印学生信息、浏览学生信息存储文件以及粗略的统计学生信息,程序界面友好,有输入界面提示,有菜单功能。 2、设计要求 2.1设计说明 该程序要求具备的功能:清晰且易于操作的用户界面,在文本编辑界面中输入学生成绩。 其中“I”表示插入,“L”表示浏览,“Q”表示查询,“E”表示退出,“D”表示删除,“M”表示修改,“c”表示统计各分数段人数,“P”表示打印.以上各功能应该能单独运行和连续运行。 2.2开发平台与开发工具 该程序使用DOS操作系统32位实模式汇编语言编写,使用的编译器为微软的MASM5.0,调试工具为DOS下的debug.exe程序。 2.3数据结构 程序采用静态链表的方式来存储学生信息,链表结点描述如下: Student struc m_sName db 6 dup( ) m_sNum db 8 dup( ) m_sScore db 3 dup( ) Student ends 设计思路 3.1设计方案及基本流程 3.11总体结构分析 整个程序采用总程序调用子程序的方式。主程序完成菜单的显示,子程序完成一个独立功能的方法实现。各子程序的实现方法简要描述如下: 1、设计Insert(录入)子程序时,先打开文件SCORE.TXT,并置文件指针到文件尾,然后调用GET_REC子程序接受用户的输入,再把用户的输入写入文件,最后关闭文件返回主程序。 2、设计Delete(删除)子程序时,先打开文件,再调用宏GETIN得到要删除的学生的姓名,然后读文件中的记录,直到其记录的名与所输入的名字相同为止,把文件指针后退8个字符(即4门课程所占的空间),写入8个“0”字符,关闭文件返回主程序。 3、设计List(浏览)子程序时,先打开文件,然后读一个记录,并通过调用宏SHOW_ITEM将其显示到屏幕上,若文件指针没有到达文件尾,则继续读记录并显示,当文件指针到达文件尾时,则关闭文件返回主程序。 4、设计Modify(修改)子程序时,先打开文件SCORE.TXT,调用GET_RECZ子程序得到要修改的记录,然后读文件中的记录,并与用户输入的记录作比较(只比较记录中的名字部分),若不同则读下一个记录,若相同则将文件指针后退23个字符(一个记录为23个字符的长度),然后把用户输入的记录写入文件,最后关闭文件返回主程序。 5、设计Count(统计)子程序,先打开文件,然后读记录,比较记录的第16个字符(数学成绩的高位)并统计,直到文件指针到达文件尾,最后关闭文件调用宏SHOW_ITEM显示统计结果,返回主程序。 6、设计Query(查询)子程序时,先打开文件,通过宏GETIN得到要查找学生的姓名,然后读文件记录,并同要查找的学生姓名比较,若相同则输出,若不同则继续读文件记录,最后显示查询结果,关闭文件返回程序。 3.12单元子程序设计 下面详细分析程序中用到的主要的子程序。 (1)INSERT子程序 INSERT子程序的功能是录入一条记录。 首先保留现场入栈。然后用DOS中断3d号功能打开FNAME指定的文件。然后用宏CLEARI清除屏幕右半部的记录输入区域。在记录的第一项处置光标,用GET_REC子程序获取内容。用DOS中断42h号功能将指针移到文件末尾。 在用DOS中断40h号功能将放在BUFFER缓冲区的23个字节的内容写到文件中,接着关闭文件,重新设置光标置在显示记录位置。 最后弹栈恢复现场。 (2)GET_REC子程序的功能是获取新的记录内容。 GET_REC子程序的功能是获取新的记录内容。 首先用宏GETIN获取学生的姓名,放入BUFFER2中,最多15个字符,如果遇到回车键则提前结束。 再用循环方式格将BUFFER2中的15个字符送到BUFFER1中。 然后用宏SET_PI将光标置于数字成绩输入项后,等待键盘输入。输入的成绩,先放在BUFFER2中,然后加到BUFFER1中的姓名后面。输入为2个字符或遇到回车键时提前结束。 接着用同样的方法输入英语成绩、计算机成绩和中文成绩。 完成后,这个子程序就得到了一个记录的所以信息。 (3)OPENF子程序 OPENF是一个非常简单的子程序。它的作用是打开一个文件并把文件句柄保存在数据段的handle缓冲区中。 (4)QUERY子程序 QUERY子程序的作用上查询一条记录。 首先保留现场(这些操作每个子程序都基本相同,以后不在赘述)。然后分别清除界面右上方和下边的区域。打开FNAME指定的文件并保留文件句柄。 将光标置于界面的下半空白部分开始处,用宏

文档评论(0)

feixiang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档