汇编语言课程设计学生成绩管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、课程设计的目的、任务

《汇编语言》课程设计对于巩固汇编语言理论知识,加强学生的实际动手能力和提高学生综合素质十分必要。课程设计的目的主要是通过程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。

2、软件需求分析和设计

2.1学生成绩管理系统是对学生成绩的管理,其中包括以下几个模块:

(1).插入一个数据(插入学生学号以及语数外三个成绩)。

(2)修改一个数据。

(3)删除学生成绩数据。

(4)查找学生成绩。

(5)查看学生成绩的排名

(6)查看学生成绩分布

(7)按esc键退出系统

2.2学生成绩管理系统应该包含以下信息:学号,语文成绩,英语成绩,数学成绩。因此,系统应该提供以下功能:

(1)输出显示菜单。

(2)输入学生的成绩

(3)修改学生成绩

(4)删除学生成绩

(5)查询学生成绩

(6)显示学生成绩排名

(7)显示成绩分布统计

(8)按esc键退出系统

2.3依据程序的功能需求,该系统的功能结构图如下

系统功能结构图

2.4 程序流程图:

主程序流程图查找学生成绩

插入学生学号及成绩修改学生的成绩

显示各个学科各分数段的人数

3、程序实现说明

3.1学生管理系统中各子程序如下:

(1).输入全部学生学号以及语文,英语,数学三科的成绩。

子程序名:insert

子程序描述:该子程序为输入字程序。系统在开始的时候是没有数据的,通过该子程序可以初始化系统,将学生的学号及成绩输入系统。

代码:

insert proc near ;定义进程子程序:插入学生,学号及

成绩

call input ;调用input

add n,1

ret

insert endp

(2).修改输入的成绩。

子程序名:modify

子程序描述:通过子程序修改学生的成绩

代码:

modify proc near ;定义进程子程序:修改学生学号,成绩 md1:output mess1 ;输出mess1

shuru ;调用宏shuru:二位数据输入

mov bl,n

mov bh,0

mov al,dl

mov si,0

md: cmp al,xh[si] ;先查找输入的学生是否存在

je qq1_1 ;查到的话,就跳转到qq1_1输入修改的值,

也就是重新输入。;结果相等则跳转到qq1_1 add si,1

cmp si,bx

jbe md ;小于等于则跳转到md

output mess ;输出mess

jmp md1 ;不相等继续输入学号

qq1_1: ;转入修改的值重新输入。

mov di,si

output mess2

output mess4

mov si,0

mov cx,3

qq3_1:shuruu ;分别输入语文,英语,数学成绩,并将其放

在缓冲区buf中

cmp dx,78h ;比较输入的成绩是否大于120,如果大于120的

话,那么重新输入成绩

jbe qq2_1 ;小于等于则转移到qq2_1

output ts3 ;输出ts3

jmp qq1_1 ;跳转到qq1_1

qq2_1:mov buf[si],dl

output bg ;输出空格

add si,1

loop qq3_1

mov al,buf[0] ;将存入buf中的成绩,分别赋值给存放对应科

目的成绩的数组

mov chi[di],al

mov al,buf[1]

mov eng[di],al

mov al,buf[2]

mov mat[di],al

ret

modify endp

(3).删除学生的成绩。

子程序名:delete

子程序描述:通过子程序删除学生的成绩

代码:

de proc near ;删除某个学生的记录

sc1:output mess1

shuru ;调用宏shuru,接受输入的学号

mov bl,n

mov bh,0

mov al,dl

mov si,0

sc: cmp al,xh[si] ;查询输入学号的学生信息是否存在,不存在的

话,重新输入学号

je sc2 ;相等则转移到sc2

add si,1

cmp si,bx

jbe sc ;小于等于则转移到sc

output mess ;输出mess

jmp sc1

sc2:

sub bx,si

cmp bx,0

je sc3 ;相等则转移到sc3

mov cx,bx

sc4:mov dl,chi[si+1]

mov chi[si],dl

mov dl,eng[si+1]

mov eng[si],dl

mov dl,mat[si+1]

mov mat[si],dl

mov dl,xh[si+1]

mov xh[si],dl

add si,1

loop sc4 ;loop循环指令,执行操作(cx)<--(cx)-1.若

cx!=0,跳转到标号sc处循环执行;cx=0,则推出

循环,执行loop的下一条指令

sub n,1

sc3: ret

de endp

(3).查询学生的成绩。

子程序名:find

子程序描述:通过子程序查询学生的成绩

代码:

find proc near ;定义进程子程序:查找学生成绩

call sum ;求学生的总成绩

call ping ;求学生的平均成绩

bj1:output mess1 ;输出mess1

shuru ;二位数数据输入

mov bl,n

mov bh,0

mov al,dl

相关文档
最新文档