语言课程设计学生成绩管理系统_程序设计语言课程设计

其他范文 时间:2020-02-27 17:18:58 收藏本文下载本文
【www.daodoc.com - 其他范文】

语言课程设计学生成绩管理系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“程序设计语言课程设计”。

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 me1;输出me1 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 me;输出me jmp md1;不相等继续输入学号

qq1_1:;转入修改的值重新输入。mov di,si output me2 output me4 mov si,0 mov cx,3

qq3_1:shuruu;cmp dx,78h;

jbe qq2_1;output ts3;jmp qq1_1;qq2_1:mov buf[si],dl output bg;add si,1 loop qq3_1 mov al,buf[0];mov chi[di],al mov al,buf[1]

分别输入语文,英语,数学成绩,并将其放 在缓冲区buf中 比较输入的成绩是否大于120,如果大于120的 话,那么重 新输入成绩 小于等于则转移到qq2_1 输出ts3 跳转到qq1_1 输出空格 将存入buf中的成绩,分别赋值给存放对应科 目的成绩的数组

mov eng[di],al mov al,buf[2] mov mat[di],al ret modify endp

(3).删除学生的成绩。子程序名:delete 子程序描述:通过子程序删除学生的成绩 代码:

de proc near;删除某个学生的记录 sc1:output me1 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 me;输出me 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)

循环,执行loop的下一条指令 sub n,1 sc3: ret de endp

(3).查询学生的成绩。子程序名:find 子程序描述:通过子程序查询学生的成绩 代码:

find proc near;定义进程子程序:查找学生成绩 call sum;求学生的总成绩 call ping;求学生的平均成绩

bj1:output me1;输出me1 shuru;二位数数据输入 mov bl,n mov bh,0 mov al,dl

mov si,0

bj: cmp al,xh[si];将输入的学号与输入的学号相比,je i;存在的话,将此学生的成绩输出。je表示结果相

等则转移。add si,1 cmp si,bx jbe bj;output me jmp bj1 i: output strr2 shuzi xh[si];shuzi output bg;mov al,chi[si] cbw;shuzii ax;shuzii output bg;mov al,eng[si] cbw;shuzii ax;shuzii output bg

mov al,mat[si] cbw shuzii ax output bg;

mov al,pj[si] cbw

小于等于则转移到bj 为二位数据输出 输出空格 将字节变为字

为三位数据输出。输出空格 将字节变为字

为三位数据输出 输出空格的字符串,用于与标题栏对齐

shuzii ax output bg

mov ax,si mov bl,2 mul bl mov bx,ax shuzii zc[bx];shuzii为三位数据输出

output bg;输出空格的字符串,用于与标题栏对齐 shuzi mc[si];shuzi为二位数据输出 ret find endp

(4).显示学生的成绩排名。子程序名:show 子程序描述:通过子程序显示学生的成绩排名 代码:

show proc near;定义进程子程序:显示结果排名 call sum;调用宏sum call ping;调用宏ping call rank;调用宏rank call shuchu;调用宏shuchu ret show endp

3.2程序运行抓图:

主菜单

修改学生成绩

删除学生成绩

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

4、程序总结

通过两个星期的学习,努力,终于完成了报告。系统可以很好的运行。这两个多星期的时间,几乎每天不是在敲代码,就是在看代码,查书,上网。系统中用到了很多最近才学习的知识,比如宏,子程序。这些都使得代码的运行效率提高了,代码行数减少了。系统还用到了bios的清屏功能。这些功能如果不是做课程设计,我想我很难会接触到这些知识。

由于自己对知识掌握的不是很牢固,其中也会碰到一些困难。每当遇到问题的时候,我会先上网去查找,看看有没有人提过这方面的问题。互联网是强大的,大部分的问题通过网络都可以解决。部分找不到的问题,我就去请教班里学得好的同学。他们对知识的掌握远超过我。这样下来,很多问题都迎刃而解了。

课程设计是一个很好的掌握书本上知识的过程。平时上课之后,自己都不会想着去敲一些代码联系联系。通过做课程设计,将理论与实践结合了起来,对知识的理解更加深入了。

下载语言课程设计学生成绩管理系统word格式文档
下载语言课程设计学生成绩管理系统.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文