- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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指定的文件并保留文件句柄。
将光标置于界面的下半空白部分开始处,用宏
您可能关注的文档
- 某路拓宽改造工程路灯工程施工方案精选.doc
- 某职业技术学院网络机房装修工程投标书(装修方案)精选.doc
- 某酒业公司促销人员培训手册精选.doc
- 某载货车前轴有限元分析精选.doc
- 某酒店休闲娱乐部管理手册精选.doc
- 某酒店ISO14000环境管理手册精选.doc
- 某造纸厂碱回收及中水回用工程可行性研究报告精选.doc
- 某钢结构工程厂房、办公楼施工组织设计精选.doc
- 某铁路建设工程质量考核办法精选.doc
- 某长江大桥B 段(北岸)施工组织设计精选.doc
- Unit 6 Get Close to Nauture Lesson 22 -课件-2025-2026学年度北京版英语四年级上册.pptx
- Unit 7 Be Together Lesson 23 -课件-2025-2026学年度北京版英语四年级上册.pptx
- 2025食品饮料行业AI转型白皮书-2025食品饮料行业数智化转型领先实践.pdf
- Unit 7 Be Together Lesson 24 -课件-2025-2026学年度北京版英语四年级上册.pptx
- Unit 7 Be Together Lesson 25 -课件-2025-2026学年度北京版英语四年级上册.pptx
- Unit 7 Be Together Lesson 26 -课件-2025-2026学年度北京版英语四年级上册.pptx
- 2025年广州体育职业技术学院单招职业倾向性考试题库完美版.docx
- 软件公司员工考勤异常处理.doc
- 2025年土地登记代理人之土地登记相关法律知识题库500道及完整答案【有一套】.docx
- 2025年四平职业大学单招职业适应性考试题库含答案.docx
文档评论(0)