汇编语言课程设计报告学生成绩管理

上传人:pu****.1 文档编号:457165650 上传时间:2022-10-06 格式:DOC 页数:26 大小:163KB
返回 下载 相关 举报
汇编语言课程设计报告学生成绩管理_第1页
第1页 / 共26页
汇编语言课程设计报告学生成绩管理_第2页
第2页 / 共26页
汇编语言课程设计报告学生成绩管理_第3页
第3页 / 共26页
汇编语言课程设计报告学生成绩管理_第4页
第4页 / 共26页
汇编语言课程设计报告学生成绩管理_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《汇编语言课程设计报告学生成绩管理》由会员分享,可在线阅读,更多相关《汇编语言课程设计报告学生成绩管理(26页珍藏版)》请在金锄头文库上搜索。

1、课程设计报告课题名称:学生成绩管理程序学生姓名:学 号: 专 业:计算机科学与技术 指导教师:时 间:2010年6月12日至25日 目录课程设计报告11、题目及要求21.3 课题背景22、运行环境 (软、硬件环境)33、功能设计(功能模块及模块图)33.1各模块的主要功能34、详细设计44.1程序功能44.2各模块的程序流程图574.3本设计的重点、难点及解决方法85、总结86、源程序91、题目及要求1.1 题目:学生成绩管理程序1.2 要求设计一个学生管理程序,要求实现以下功能(1)各科成绩的录入、修改、和删除。(2)按姓名查询每个学生哥们成绩。(3)显示查询结果(4)统计各分数段的成绩的人

2、数个分数段的人数。1.3 课题背景 1.3.1汇编语言的优点 汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。用汇编语言等非机器语言书写好的符号程序称为源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁

3、琐费时,通用性也差。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。 1.3.2课题意义 当今社会是一个信息时代的社会,计算机的使用也是越来越普遍了,各行业在管理职员都采用了一些管理软件,不管是银行、学校,大大小小的各种企业,都是使用的相应的 管理软件管理企业的各种信息,我选择的这个汇编语言课程设计题就是一个简单学生信息管理程序,虽然只能处理一些简单操作,但是其意义却是非凡,同过此课程设计,让我了解了一些简单的管理软件的基本原理,更深刻的理解了汇编语言的特点,对汇编语言有了一个跟深层次的理解。1.3.3主要研究内容和功能 利用汇编

4、程序编写一个小型学生成绩管理程序,实现学生信息成绩的插入、修改、显示所有学生的各科成绩,并且可根据输入学生姓名插询该生的各科成绩,可统计所有成绩个各分数段的人数。2、运行环境 (软、硬件环境)硬件:8086以上CPU,内存256M以上。软件:WINDOWS操作系统,MASM,LINK汇编编译链接软件。 3、功能设计(功能模块及模块图)3.1各模块的主要功能3.1.1main主程序模块 用于对各种操作的调用,如插入、删除、显示所有学生的各科成绩等。3.1.2 Insert子程序插入模块用于实现对新增学生的插入,插入至学生文本中,使用时需要调用get_rec子程序实现从键盘输入一个学生的信息。3.

5、1.3get_rec子程序模块 主要被Insert子程序调用,用于从键盘输入一个学生的信息3.1.4 query子程序模块根据学生姓名查询学生的各科成绩,学生姓名由键盘输入,再从文件中一次比较找出要查询学生的信息。3.1.5 modify子程序模块 首先从键盘输入要修改的学生信息,在从学生文件中寻找要修改的学生姓名,并将要修改后的信息写入文件。3.1.6delete子程序模块由用户输入要修改学生的姓名,从学生文件中找出要删除的学生信息,将该学生的各项信息置为0,实现删除的操作。3.1.7 list子程序模块 用于显示学生文件中所有学生的各科成绩的信息,每次从文件读取一个学生的信息并显示。3.1

6、.8 coun子程序模块用于对学生各科成绩的各分数段的统计。4、详细设计4.1程序功能 程序运行时,在出现的主菜单中,按l键,将浏览学生的各科成绩;按i键后,将执行插入功能,可以插入新的学生成绩,按m键,键输入需要修改的学生成绩,也包括不修改的科目;按d键输入要删除的学生姓名,将使其成绩全部变成0;按q键输入 查询的学生的姓名,将其各科成绩显示出来;按下c键将按数学成绩分段结果。 以上功能单独运行可以实现,(即在进入菜单后 选择其中一项功能运行可以成功运行,在关闭后选择另一项功能可以 成功运行),但是在整体运行时得不到想要的结果。所以如果输入有误,按退格键后将会出错,但是此程序没有处理错误的功

7、能,因此再输入时要特别注意。注:此程序除了源程序外还需要一个学生文件,该程序命名为score.txt,该文件用于存放学生信息,在源程序中程序数据段中fname的值应与文件的存放位置一致。4.2各模块的程序流程图 N打开文件读一个记录读错?文件显示记录显示错误信息返回关闭文件打开文件置文件指针到文件末尾从终端接收用户输入记录记录写入文件关闭文件返回YN list 流程图 insert流程图 query流程图打开文件读一个记录是否为所寻找记录? 显示记录关闭文件返回NY Modify流程图打开文件读一个记录文件指针后退一个记录写入修改记录并关闭文件是否为修改的记录返回YN N coun流程图打开文

8、件读一个记录对所有成绩的分数段统计显示统计结果关闭文件指针到文件尾返回Y显示菜单输入一个字符call councall insertcall listcall querycall deletecall modify开始是l?是q?是d?是m?是C是i?结束是e?YYYYYYYNNNNNNN主程序流程图4.3本设计的重点、难点及解决方法4.3.1重点难点开始拿到课题感觉很简单,主要是因为以前C语言曾经做过类似的题,思路大概差不多,但是实际下笔写的时候,遇到的最大的困难对于一些系统调用存在很大的问题,对DOS和BIOS的系统调用还比较模糊,在使用时DOS和BIOS中的系统功能调用不是很熟悉,所以需

9、要先理解这些后,然后才正式开始写程序开始写好了程序的主干,实现了主要功能,在写插入、查询等功能时遇到了一些问题,但通过仔细琢磨和请教老师、同学,最终还是成功解决,完成程序后,就开始了程序的编译,找错、改错、链接等,但是程序有些地方还是不是很完善。4.3.2调试过程1)编译源文件,命名为 s.ASM。2)采用命令格式。MASM s.ASM将生成一个OBJ文件,检查源程序中的错误,并改正。3)键入连接命令:LINK cjgl.OBJ,回车,即可生成s.exe可执行文件。4)执行s.exe选择其一功能,能正常执行,在关闭后,在进入运行别的功能。5、总结通过对这学生成绩管理的的制作,使我对汇编语言的基

10、本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在作业完成过程中通过和同学的交流,也增加了合作的技巧。通过查阅资料也学到了一些课本上没有的东西,拓宽了自己的知识面,增加了学好汇编语言的信心。 这不是第一次用汇编语言来设计一个小程序,平时做了很多实验,写了很多小程序。但这次是一个综合的程序,平时的很多程序都用到了。历时两周终于完成,其间有不少感触。这次课程设计中有很多源程序的子程序的源代码可以从资料中或获得,但有很多都需要我们仔细琢磨才能明白其中的原理,同时程序中需要调用大量的BIOS和DOS系统功能调用,如显示字符串的功能调用、光标设置的功能的调用、清屏的功能调用等,这些问题如不查询

11、资料就无法理解,因为上汇编语言基础时对这些DOS和BIOS的系统功能了解很少,所以我们需要查询DOS和BIOS功能的系统调用的基本信息。还有在一些循环结构设计上也有许多不能理解的地方,都需要加以深刻的理解才能将问题顺利的解决,多整个程序的理解也有了更进一步的了解。有时候遇到自己查资料和不能理解的地方时,自己不能解决时,先找同学讨论一下,会有意想不到的收获,有些问题就会迎刃而解,有时也会遇到比较顽固的问题,大家冥思苦想,也找不出一个令人满意的答案,但是通过询问老师,查阅更多的资料,问题也最终得到了解决。当这些问题得到解决时,心情是一种豁然开朗、柳暗花明又一村的旷达。这次课程设计的大部分程序,都可

12、以在书上找到,这对我们的程序设计很有帮助,从这些资料中,我们可以看出这个学生管理程序的基本主干,修改某些地方就可以实现改程序的基本功能,不可否认,本程序仍然存在不少缺点和不足,但通过这次的课程设计找出了自己在学习上的不足,有些地方仍然还存在许多问题,但是我相信通过努力,在以后的学习中会克服这些不足,达到熟练掌握汇编语言的目的!6、源程序data segmentmess1 db student grade management system,0ah,0dh,$mess2 db this is main menu,0ah,0dh,$mess3 db insert (i) name :,0ah,0dh,$mess4 db modify (m) maths(a) :,0ah,0dh,$mess5 db delete (d) English(b) :,0ah,0dh,$mess6 db query (q) computer(c) :,0ah,0dh,$mess7 db count (c) Chinese(d) :,0ah,0dh,$mess8 db exit (e),0ah,0dh,$mess9 db *$mess10 db *$mess11 db name Ma En Co Ch,0ah,0dh,$mess13 db list (l) please input:,0ah,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号