当前位置:文档之家› 汇编课程设计成绩管理系统+源代码

汇编课程设计成绩管理系统+源代码

汇编课程设计成绩管理系统+源代码
汇编课程设计成绩管理系统+源代码

XXXXX

课程设计说明书

汇编语言课程设计

班级: 网络B101 姓名: XXX

学号XXX

设计题目: 学生成绩管理

设计时间: 2012.12.09 至2012.12.21

指导教师: XXX

评语:_______________________________

_______________________________________

_______________________________________

_______________________________________

_______________________________________

评阅成绩:___________评阅教师:____________ 一、课程设计的目的

进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。二、设备与环境

PC兼容机、Windows操作系统、汇编程序masm for windows 2010

三、课程设计要求

1.要求编写并调试通过一个小型软件,实现对软件或硬件的操作。

2.遵循模块化、结构化的程序设计方法。

3.要求程序必须正确。

4.程序简明易懂,多运用输入输出提示,出错信息及必要的注释。

5.要求程序结构合理,语句使用得当。

6.适当追求编程技巧和程序运行效率。

四、课程设计的课题和分析

题目:学生成绩管理

分析:建立学生成绩文档;输入学生各门功课成绩;(假设3门功课);修改指定学号的学生成绩;统计指定学号的学生的平均成绩、总成绩,并在屏幕上显示;统计指定学号课程的平均成绩,并在屏幕上显示;每门课程成绩分析在屏幕上显示3门课程的各个分数段的学生人数;(分数段为:>=90;80~89;70~79;60~69;<=59)此处可以以表格的形式给出数据,或者以坐标曲线的形式给出。对学生成绩记录进行检索(按学号、姓名), 成绩排序(按总成绩降序排列), 退出,最好用到文件处理。

五、流程图、总体设计、详细设计

学生成绩管理,最基本能实现的的功能是输入学号,同时显示该学生的基本的信息,我设计的成绩管理系统功能还包括了显示该生的语文,英语,数学三门学科的成绩,求出了该生的总分,以及该生的平均分,动态输入学生的成绩,而且成绩是按照三位数显示的,可以输入任意多的学生人数,每个学生都是三门课程,最后统计输入所有学生的各科各个分数段的人数,最后显示出所有学生的成绩排名情况。为了使系统更实际一些,我设计的系统包括建立了文件,方便学生

的信息一次录入之后可以保存该数据,将该数据保存在score.txt文件中,而且文件的路径与该软件默认的安装路径一致;为了使系统更方便用户使用,我设计了菜单,菜单中设计了六个功能,包括插入,删除,查询,修改,查看,退出等。以下是对程序中常用的六个个功能进行解析:

1、数据输入功能:这是必不缺少的功能,学号的输入,成绩的输入都离不了这

个功能,在输入成绩时,特地加了一个判断功能,在输入不合理的成绩时,程序将提示出错,并要求重新输入。在输入学生学号的时候,程序首先会判断此学生的成绩是否存在,如果存在,则程序提示需重新输入。插入一条学生记录子模块,搜索可用单元,接收输入的记录,并写入文件。建立成绩表子模块,控制输入界面,并多次调用插入记录子模块,完成成绩的建立。2、修改功能:考虑到会存在在输入成绩时,容易输入错误,或者发生个别学生

的试卷被误判需修改成绩等情况,所以加了此功能,在发生以上情况时可以调用此功能,修改指定学生的成绩。

3、删除学生信息的功能。如果输入的学生信息根本不存在,或者发生其它情况

需删除一个无意义的学生信息时,可以调用此功能。此功能将实现将指定学号学生的信息删除。

4、信息查找功能:当需要查询某个学生的成绩或者检查输入是否有误时,可以

调用此功能,此功能实现将指定学号学生的成绩显示出来。实际上在调用此功能的同时,程序会首先求的总成绩,平均成绩,然后产生排名结果,最后将数据信息显示。

5、显示排名信息功能:此功能会将学生成绩自动相加,得到每位学生的总成绩

及平均成绩,然后进行排名,得到每个学生的名词,最后按照输入顺序将所有学生的学号,语文成绩,英语成绩,数学成绩,平均成绩,总成绩,名次依次输出。模块中排名处理、学科平均成绩计算、均需取出某一学科的所有学生成绩,因而此操作作为公用子程序以供调用。个人总分及平均分处理较为简单,根据索引逐条处理记录。排名处理。排名结果为一维数组,与学科成绩存在对应关系。查询学生记录,先进行学号匹配,再输出一条记录;查询该生的所有信息。

6、文件写入及退出功能。此功能实现将学生的信息保存在一个文件里。此程序

默认将文件放在C盘下,名称为:score,属性为txt格式的文本文档。该文档能够保存数据,以便数据不需要重复录入,是系统更能满足用户需求。写入文件完毕后,关闭文件,并退出程序。

该程序的流程图:

文件创建和菜单显示:

在创建文件时使用命令请求创建文件,以下是菜单显示,首先显示菜单的界面,1号功能接收功能,程序先和菜单中所有的功能都进行比较,假如都不是功能菜单,则提示输入错误,重新输入,假如输入正确,则调用相对应的子程序。

文件内容显示:

在文件查找的子程序会显示该生的学号,三门的成绩,该生的总分,平均分和该生成绩的排名情况,则在显示学生信息之前先处理数据,成绩和总分是按照三位数的处理,学号和名次是按照两位数处理的,总分是字类型,其他的是字节类型,所以必须要转换基址才能找到该生相对应的总分。文件的删除则是先找到该学生的信息,然后显示该生的成绩缓存区的地址的下一位,则显示的是空白。

总分和名次

定义子程序sum proc near,先是从存放各科的缓存区移出数据,然后相加,采用循环,对用户输入的数据都是按照这个规则求出该生的总分;ping proc near 是求出该生的平均分,把之前存放在zc[bx]的总分数据取出来,然后除以3;

六、遇到的问题及解决办法

问题:在编写程序时,不知道删除的程序应该如何实现,以及在创建文件时不知道如何下手,然后老师提示是采用中断,我们需要自学中断,在设置光标和屏幕显示也是采用中断,我自能自学课本的第九章内容,然后再写程序,在文件的删除那里我卡住了研究好久也不知道怎么实现,最后我问了我同学,我们一起讨论出的结果就是让屏幕不显示当前指针指向的内容,显示指针指向的一个内容即可,这样就可以实现删除功能,删除功能就是删除该学号学生的成绩数据,使这些数据全部清空则达到了删除文件的功能;

关键代码:此段代码时是实现数据段插入功能首先提示输入学号的语句,然后调用shuru的宏定义,这个宏定义是接收键盘输入的两位数,然后处理成十进制输出,比较符合实际,然后把n学生个数给bl,将输入的学生学号保存在xh[bx]数组中,方便使用,然后判断该学号是否为第一次输入,是则跳转,假如不是第一次输入,则提示用户该学号已经存在,需要重新输入,跳转到输入成绩的子程序,在调用shuruu宏,此功能是处理三位数,使成绩是按照三位数显示的,而且必须是在合理的范围内的,假如输入的数据是不合理的则又跳转到重新输入的界面,要求用户输入有效数据,数据输入完成之后则存入相对应的缓存区。

;*********************************************

input proc near ;输入学生学号,成绩

e6: output mess1

shuru

mov bl,n ;统计输入学生个数

mov bh,0

mov xh[bx],dl ;输入的个数同时以地址指针形式显示

cmp bx,0 ;判断是不是第一次输入,如果是,则跳过比较程序

je qq1 ;继续输入成绩

mov cl,n ;如果不是第一次输入则要将输入的学号与以前输入的比较

cbw

mov si,0

mov al,xh[bx]

e7: cmp al,xh[si]

je e5

add si,1

loop e7

jmp qq1

e5: output ts4

jmp e6

qq1:output mess2 ;如果不是重复的学号则可以继续输入成绩和其他信息

output mess4

mov si,0

mov cx,3

qq3:shuruu

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

jbe qq2

output ts3 ;提示输入错误

jmp qq1

qq2:mov buf[si],dl ;把输入的学生信息保存在缓存区

output bg

add si,1

loop qq3

mov bl,n

cbw

mov al,buf[0] ;以下是把之前的成绩数据保存到相对应的缓存区

mov chi[bx],al

mov al,buf[1]

mov eng[bx],al

mov al,buf[2]

mov mat[bx],al

ret

input endp

;**********************************************

该关键代码是实现该学号学生的总分和名次的交换以及显示,首先是先把即将要用到的存储器全部清零,将名次mc[si]初值为1,si依次+1,因为存放名次的数组是字节类型的,然后把n学生的个数赋给cl,接下来就是处理查找总分的地址指针,因为总分数组是字型所以需要使bl*2,然后cx清零,按照学号找到相对应该生的总分,两个总分相比较此时大的则暂时为第一名,然后再继续接受总分,接受的总分又要和之前暂时的第一比较然后和暂时的第二名比较,循环找出第一名,继续循环,显示总分和名次。

;**********************************************

rank proc near ;排名

mov cl,n

mov ch,0 ;将用到的存储器清零

mov si,0

rrc:mov mc[si],1 ;将存储名次的存储器给予的初值是1

add si,1 ;

loop rrc

mov al,n ;此处2n最后放到al中,是为了下面总分的输出

mov bl,2

mul bl

mov cl,n

mov ch,0

mov si,0

mov bx,0

mov di,0

rrb: mov dx,zc[di]

rra: cmp dx,zc[bx] ;总分之间的比较

jge continue ;大于等于的那个分数则为第一名add mc[si],1

continue:

add bx,2

loop rra ;余下的继续比较依次排出名次mov cl,n

cbw

add si,1 ;名次是字节类型的

add di,2 ;总分是字类型的

mov bx,0

cmp si,ax ;ax里面是2n为了找到总分输出

jbe rrb

ret

rank endp

;************************************************** 七、结果显示

菜单显示界面图:

首次输入学生信息界面;修改学生信息界面;查看学生各个分数段的界面;

删除学生信息界面:

查看学生成绩排名情况界面:

八、感想、收获及体会

终于完成了一门课程设计,比起之前完成的综合实验我觉得自己又上升了一个台阶,学到的东西更多了,虽然自己付出了两周的时间,但是一个好的程序员就需要舍得花时间去创建更加完美的程序,完成更多的功能,满足用户更多的要

求。这次的课程设计和自己上课学到的东西有很多不同,需要自己去查看中断的代码,因为此次课程设计老师要求我们必须有文件的创建和文件存储和文件关闭,给课程设计增加了难度,课设正是这样,所以在完成这门课设之后,我真心觉得自己的编程水平又上升,同时也说明了好多东西是可以靠自己领悟和自学得来的;课程设计完成了,但是我设计的成绩管理系统还是存在不足:成绩都是用整数表示的,没有实现浮点运算;平均成绩也是按照整型的,查询功能中只能通过学号查询,没有实现学号或者通过姓名查询的选择;主菜单界面设计不够人性化,不够简单明了,缺少美观,没有使用彩色的界面。虽然我的程序中出现那么多的不完美,但是只有我有一颗追求完美的心,则我就会有一个继续学下去的心。

此次的课程设计,我还是和以前的综合实验的感触有些类似,在此之前,大多数时候都在用高级语言编写程序,已经习惯了高级语言的方便灵活的语法形式。一下子突然转为用汇编语言进行程序设计,总是要经过一个很不习惯的适应过程。但是我们学习编语言,可以让我们更好地理解程序设计的本质和原理。对以后的学习和工作都带好很多好处。这次在编写和调式汇编程序过程中体会最深的就是,没有好的工具,汇编程序的调式工作太困难了!这次使用的是微软的masm5.0编译工具,是DOS底下的编译工具,但是没有其它可视化的调式工具,只能利用DOS底下的debug命令进行调式。程序稍微长一点的时候,调试起来就不是那么方便了,主要问题是在debug中虽然可以反汇编,但是反汇编后的源程序与自己写的不太一样了(符号常量和标号都变成了数字地址),不方便辨认当前调式程序对应于源代码中的哪一行。这些疑问都是我完成课设的难点,自己学的不是很透彻,在完成报告之前,我花了一天的时间和同学讨论我的程序,通过对这学生成绩管理的的设计,使我对汇编语言的基本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在作业完成过程中通过和同学的交流,也增加了合作的技巧。通过查阅资料也学到了一些课本上没有的东西,有幸接触到中断这个功能,同时更是让我明白了即使是低级的汇编语言也可以完成高级语言可以完成的程序,历时两周终于完成,这次课程设计中有很多源程序的子程序的源代码可以从资料中或获得,但有很多都需要我们仔细琢磨才能明白其中的原理,同时程序中需要调用大量的BIOS和DOS系统功能调用,如显示字符串的功能调用、光标设置的功能的调用、清屏的功能调用等,这些问题如不查询资料就

无法理解,因为上汇编语言基础时对这些DOS和BIOS的系统功能了解很少,所以我们需要查询DOS和BIOS功能的系统调用的基本信息。还有在一些循环结构设计上也有许多不能理解的地方,都需要加以深刻的理解才能将问题顺利的解决,多整个程序的理解也有了更进一步的了解。有时候遇到自己查资料和不能理解的地方时,自己不能解决时,先找同学讨论一下,会有意想不到的收获,有些问题就会迎刃而解。即使是花了两个周的时间完成一个程序,但是我可以骄傲的告诉别人我完成一个程序了,完成了一个设计,将来我更有底气的告诉别人这个是我的成品,就如老师说的,我们可以骄傲的告诉面试老师我曾经完成的作品。

目前已是大三的我们,我们完成的课程设计已经很多了,但是我对此次的课设感慨真的很多,因为这次完成真的太不容易,因为我自己本人觉得我真的一点都学不会,居然也可以完成如此浩大的程序编写,真的是我想不到的,虽然此程序我参考了资料,咨询了同学,但是那些收获是我都很惊叹的,进一步的拓宽了我的汇编知识,同时最重要的一点是要学的精通可以靠自己自学,很多知识是我们自己就可以领悟的。虽然本程序仍然存在不少缺点和不足,但是只要我有心,只要我舍得花时间去自学,看看视频,一定能使我的编程能力提升,克服所以的不足,设计出更出色的作品。

九参考文献

[1]郑晓薇编著,《汇编语言》机械工业出版

[2]《IBM—PC汇编语言程序设计实验教程》

[3]《IBM—PC汇编语言程序设计(第2版)》

十附录。

①用户手册使用说明:可以根据我上面粘贴的运行界面进行使用,选择自己需要的功能

②源程序清单:

huancun macro j,t ;将三位数的数据转换成为三个对应的字符,并将其存入缓冲区zs中j,t是两个哑元

push bx ;入栈是对存储器里面的值进行保护

mov si,t ;对两个哑元进行说明

mov ax,j

mov bl,100 ;对输出的数据进行处理,显示出百位十位个位

div bl

add al,30h

mov zs[si],al ;把处理好的百位进行缓存区

add si,1

mov al,ah

cbw

mov bl,10 ;对十位的处理

div bl

add al,30h

add ah,30h

mov zs[si],al

add si,1

mov zs[si],ah ;对个位的处理,

add si,1 ;对输入的数据反复处理,指针下移

pop bx ;存储器出栈

endm

clear MACRO ;清屏的宏定义

MOV AH,2 ;设置光标位置

MOV DH,0 ;行号

MOV DL,0 ;列号

INT 10H ;屏幕及光标控制int 10h

MOV AH,6 ;屏幕开窗口

MOV AL,0

MOV BH,7 ;颜色属性是正常显示,黑底白字

MOV CH,0 ;左上角的行号

MOV CL,0 ;左上角的列号

MOV DH,24 ;右上角的行号

MOV DL,79 ;右上角的列号

INT 10H ;调用10号功能,设置屏幕的坐标是(0,0)(24,79)ENDM

kong macro ;回车换行的宏定义

mov ah,2 ;2号功能输出回车换行

mov dl,0ah

int 21h

mov ah,2

mov dl,0dh

int 21h

endm

output macro p ;字符串输出

mov dx,offset p

mov ah,9

int 21h

endm

shuru macro ;二位数数据输入

mov ah,01 ;1号功能的输入,输入的值放在dl中int 21h

sub al,30h ;对输入的数据先减掉30h

cbw ;字节扩展成字类型

mov bl,10 ;对输入的数据进行乘以10

mul bl

mov dl,al ;把al中的乘积取出来,放在dl中

mov ah,01h

int 21h

sub al,30h ;处理完了要加上30h再用一号功能输出

add dl,al

endm

zhuane macro e,b ;将二位数转换成对应两个字符,并将其存入缓冲区zs

push bx

mov si,b ;以下是对两个哑元的说明

mov al,e

cbw

mov bl,10 ;对二位数据的处理就是先显示出十位然后显示出个位

div bl

add ah,30h

add al,30h

mov zs[si],al ;处理好的数据存放在zs存储区

add si,1

mov zs[si],ah

add si,1 ;指针再下移,继续处理下一个

pop bx

endm

zhuans macro f,s ; 将三位数成绩转换成为对应的三个字符,并存入缓冲区zs中

push bx

mov si,s

mov al,f

cbw ;需要扩展,字节扩展成字

mov bl,100

div bl

add al,30h

mov zs[si],al ;百位存放在存储区

add si,1

mov al,ah ;把余数取出来

cbw ;字节扩展成字

mov bl,10

div bl

add al,30h ;把ah中的余数取出来再进行除以10,最后的余数还是存放在ah中,此次的商放在存储区zs中

add ah,30h

mov zs[si],al

add si,1

mov zs[si],ah ;最后的余数在ah中,其实就是三位数的个位

add si,1 ;指针下移

pop bx

endm

shuzi macro r ;二位数据输出,以下是对数据输出的处理

mov al,r

cbw

mov bl,10 ;对数据的输出和输入一样也需要进行处理,以十进制显示出来 div bl

mov bl,ah

mov dl,al

add dl, 30h

mov ah,2 ;2号功能显示十位

int 21h

mov dl,bl

add dl,30h

mov ah,2 ;2号功能显示个位

int 21h

endm

shuruu macro ;三位数数据输入

shuru

mov al,dl ;用1号功能的输入值存放在dl中,首先把dl中的值存放在al中

mov dl,10

mul dl

mov dx,ax ;乘以10以后的值存放在ax中;需要取出放在dx中

mov ah,1

int 21h

sub al,30h

cbw ;加完30h再把字节扩展成字

add dx,ax

endm

shuzii macro u ;三位数数据输出

mov ax,u

mov bl,100 ;对百位的处理,把100赋给bl

div bl

mov bl,ah ;商在al中,余数在ah中

mov dl,al ;把商从al中取出来

add dl,30h ;在显示百位之前加30h,再放到dl中

mov ah,2 ;2号功能显示

int 21h

shuzi bl

endm

DATAS SEGMENT

m dw 0 ;移动文件指针时,选择绝对移动方式,则m代表指针偏移量

zs db 18 dup (?) ;缓冲区用来存放单个学生信息的字符

pathnam db 'C:\score.txt',00h ;建立目录项

handle dw ? ;文件句柄

buf db 3 dup(?) ;输入缓冲区

zc dw 100 dup(?) ;存放总成绩的数组

pj db 100 dup(?) ;存放平均成绩数组

n db 0 ;存放输入的学生信息的个数

gs0 db 5 dup (0) ;记录所查询科目分数段的

gs1 db 5 dup(0)

gs2 db 5 dup(0)

mc db 100 dup (1) ;存放学生的名次的数组

chi db 100 dup (?) ;存放学生成绩的数组

eng db 100 dup (?)

mat db 100 dup (?)

xh db 100 dup (?) ;存放学生学号的数组

cour0 db 'chinese','$';语文

cour1 db 'english','$';英语

cour2 db 'maths ','$';数学

ts db 13,10,'You are successful,press anykey to continue!',13,10,'$';以下是提示语句 ts1 db 13,10,'You are wrong , Try again!',13,10,'$'

ts3 db 13,10,'The score you input is bigger than 127,input agian!',13,10,'$'

ts4 db 13,10,'The school number you input is exist,please try again!',13,10,'$'

cai0 db '* The Student Grade Management System *',0ah,0dh,'$'

cai00 db '* made by wei qiao yuan *',0ah,0dh,'$'

cai db '* Insert a data ',13,10,'$';菜单的格式 cai1 db '* Modify a data ',13,10,'$'

cai2 db '* Delete a data ',13,10,'$'

cai3 db '* Find a data ',13,10,'$'

cai4 db '* Show the rank ',13,10,'$'

cai6 db '* Show the count ',13,10,'$'

cai5 db '* Exit with the keyboard of ESC ',13,10,'$'

ts2 db 'Please choose the Function',13,10,'$'

mess db 13,10,'The data you input is not exist,input again',13,10,'$' mess1 db 13,10,'Please input the school number(2) ',13,10,'$'

mess2 db 13,10, 'Please input three scores(0-120)',13,10,'$'

mess4 db 'chinese english maths ',13,10,'$'

mess3 db ' Thank you ',13,10,'$'

strr1 DB '********************score and rank*******************',13,10,'$' strr2 DB 13,10,'number wen eng math average sum rank ',13,10,'$' strr3 db 13,10,'course >=90 >=80 >=70 >=60 <60 ',13,10,'$'

bg db ' ','$'

DATAS ENDS

STACKS SEGMENT

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

MOV AX,DATAS

MOV DS,AX

mov es,ax

mov ah,3ch ;请求创建文件

mov cx,00 ;默认属性

lea dx,pathnam ;装入pathnam的地址

int 21h

mov handle,ax ;保存文件句柄

main: ; 主菜单显示

output cai0

output cai00

output cai

output cai1

output cai2

output cai3

output cai4

output cai6

output cai5

output ts2

mov ah,1 ;输入字符,选择功能键

int 21h

cmp al,'i'

jne n1

call insert ;调用insert子程序,输入学生学号,成绩

jmp rk

n1: cmp al,'m'

jne n2

call modify ;调用modify子程序,修改指定学生的成绩

jmp rk

n2: cmp al,'d' ;调用de子程序,删除制定学生的成绩

jne n3

call de

jmp rk

n3: cmp al,'f' ;调用find子程序,显示指定学生的成绩及名次

jne n4

call find

jmp rk

n4: cmp al,'s' ;调用show子程序,显示所有学生的各科成绩,平均成绩,总成绩及名次 jne n5

call show

jmp rk

n5: cmp al,'c' ;调用showw子程序,显示各科各分数段的学生数量

jne n6

call showw

jmp rk

n6: cmp al,1bh ;调用exit子程序,将数据保存到score.txt文件中,并退出程序

jne n7

call exit

n7: clear ;清屏

output ts1 ;以上都不选择则说明出错

jmp main ;再次跳转到菜单

rk:

output ts

mov ah,1

int 21h

clear

jmp main

;****************************************

exit proc near ;退出

mov cl,n ;写入文件的次数

cbw

mov bx,0

mov di,0

zh: push di ;保存di,cx,bx中的内容

push bx

push cx

mov si,0 ;对si进行赋初值

zhuane xh[bx],si ;调用宏zhuane将两位数的学号转换为对应的二个字符,并存放到zs缓冲区中

zhuans chi[bx],si ;调用宏zhuans将三位数的语文成绩转换为对应的三个字符,并存放到zs缓冲区中 zhuans eng[bx],si ;调用宏zhuans将三位数的英语成绩转换为对应的三个字符,并存放到zs缓冲区中 zhuans mat[bx],si ;调用宏zhuans将三位数的数学成绩转换为对应的三个字符,并存放到zs缓冲区中 zhuans pj[bx],si ;调用宏zhuans将三位数的平均成绩转换为对应的三个字符,并存放到zs缓冲区中 huancun zc[di],si ;调用宏zhuanss将三位数的总成绩成绩转换为对应的三个字符,并存放到zs缓冲区中

zhuane mc[bx],si ;调用宏zhuane,将两位数的名词,转换为对应的二个字符,并存放到zs缓冲区中 mov ah,42h ;移动读写指针

mov al,00 ;移动方式为绝对移动方式

mov bx,handle

mov cx,00

mov dx,m ;指针偏移量

int 21h

add m,20

mov ah,40h ;调用40h功能,请求写文件

mov bx,handle ;获取文件句柄

mov cx,19 ;写入长度为19个字节

lea dx,zs ;将缓冲区zs中的内容写入文件score.txt

int 21h

pop cx

pop bx

pop di

add di,2 ;目的指针加2

add bx,1

sub cx,1 ;输入一个之后cx统计的个数就依次减1

cmp cx,0 ;判断写入是否完毕

jg zh

mov bx,handle ;写入完毕,关闭文件

mov ah,3eh

int 21h

clear

output mess3 ;关闭文件之后就显示提示语句

MOV AH,4CH ;退出程序

INT 21H

ret

exit endp ;子程序结束

;********************** ******************

sum proc near ;求学生的总成绩

mov cl,n ;对运用到的存取器进行清零

mov ch,0

mov si,0

mov bx,0

sss:mov al,chi[si] ;将三科成绩相加,将总成绩传给数组zc

mov ah,0 ;高位清零

mov dl,mat[si] ;存放数学的数组

mov dh,0

add ax,dx ;数学和语文相加

mov dl,eng[si]

mov dh,0

add ax,dx

mov zc[bx],ax ;最后把语文数学和英语的三门成绩总分存放在zc总分的缓存区 add bx,2

add si,1

loop sss ;运用循环对输入的三门成绩求总分

ret

sum endp

;***************************************

ping proc near ;求学生的平均成绩

mov cl,n ;n是统计输入学生信息的个数

cbw

mov si,0

mov bx,0

p_p:

汇编语言课程设计

沈阳大学

2.3 MASM的介绍 MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发,历经二三十年的发展,目前MASM的版本已升至6.15,支持MMX Pentium、Pentium II、Pentium III及Pentium 4等指令系统。 2.4总体设计功能 本次课程设计的内容是采用汇编语言设计一个运行于计算机的“霓虹灯”的模拟显示 程序,由$及*字符相间,从两侧向中间螺旋汇聚直至形成一个矩形,这就要求该霓虹灯能够动态地进行变化;霓虹灯模拟显示程序主要是进行程序循环调用,可以通过CMP、JMP、JZ、RET等命令进行跳转。由于是霓虹灯的模拟显示,因此在进行程序循环调用前需要进行数据段定义,以使子程序在进行调用时能够根据数据段的定义来执行,最后显示结果。 定时器中断处理程序:计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1秒)。 视频显示程序设计:一般由DOS 或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT 10H中断即可建立某种显示方式。用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令INT 21H来实现调用。 键盘扫描程序设计:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器,以及检测键盘状态,有无输入,并检测输入各值。 2.5详细功能设计 2.5.1主程序功能 主程序通过调用各个子程序来实现清屏,改变图形等功能,具体调用过程如图1所示。 沈阳大学

#数据结构课程设计-学生成绩管理系统

淮阴工学院 数据结构课程设计报告 选题名称:学生成绩管理系统 系(院):数理学院 专业:信息和计算科学 班级:计科1102班 姓名:徐连喜学号: 1104101233 指导教师:周海岩 学年学期:2011 ~ 2012 学年第 1 学期 2012 年06 月06 日 【摘要】

21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的讯速发展和广泛使用,对社会的政治,经济,军事,文化等领域产生越来越深刻。学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。本论文叙述到的学生成绩管理系统是用IIS+ASP网页编程+ACCESS数据库+DREAMWEAVER MX 2004+SQL查询语言实现的。重点介绍了学生成绩管理系统的实现过程:包括系统分析,系统调查,功能设计,数据库设计,系统实现,系统测试和调试等。本系统主要功能有查询学生成绩、单个添加学生成绩、批量添加学生成绩、删除学生成绩、管理页面和修改管理员密码等内容。 【关键词】 成绩管理;成绩查询;C++

目录 中文摘要。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 1 1绪论。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 4 1.1 选题背景。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 5 1.2 需求分析。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 6 2总体设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。7 2.1程序设计组成框图。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。8 2.2 模块功能说明。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。9 2.3 程序流程图。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10 2.4 主要函数之间相互调用。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11 3 在设计过程中的感受。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。12 致谢。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。13 参考文献。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。14附录:源程序清单。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15 1.绪论 1.1 选题背景 为了提高高校学生信息的管理效率,方便对学生信息进行管理、学校里面的学生和管理员方便去管理和查询学生信息,如再要进行查询,就得在众多的学生信息中查找自己的成绩信息,面对学院大量的学生信息,怎么可以即时而方便的管理,学生只要登录本系统就可以查找到自己的成绩信息,而管理员也方便去管理每学期的学生的成绩信息。建立一个学生信息管理系统,使学生信息管理工作规范化,系统化,程序化,避免学生管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改学生信息是必须而且十分迫切的工作。 2.1 需求分析

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

c语言学生成绩管理系统含源代码

C 语言程序设计作业 一设计项目:学生成绩管理系统 二总体设计: 2:模块功能说明: 1 输入功能:输入学生姓名学号及成绩。 2 查看功能:输出姓名学号及各科成绩。 3 查询功能:通过学号查询学生姓名及各科成绩。 4 统计功能:统计班级学生及格率,优秀率,各个学生成绩方差等。 5 修改功能:通过输入学号修改指定学生的错误信息。 6添加功能:添加学生信息。 7删除功能:通过输入学号输入指定学生信息。 8保存功能:将学生信息保存。 9 退出系统。 3:主要函数之间的调用关系及各自功能: 主要函数的函数原型 void inputscore(void); void savescore(void); void avergescore(void); void modifyscore(void); void lookscore(void); void searchscore(void); void statistic(void); void add(void); void modify(void);

void delscore(void); void menu(void); i.在菜单界面输入1,调用函数inputscore( )实现输入学生成绩信息功能。ii.在菜单界面2,调用函数lookscore( )实现学生成绩按平均分高低排序输。 出,同时lookscore()函数调用avergescore()函数实现各个学生平均分的计 算。 iii.在菜单界面输入3,调用searchscore()函数实现通过学号查找学生成绩信息功能。 iv.在菜单界面输入4,调用statistic()函数输出班级及格率,优秀率,学生成绩方差,不及格学生名单。 v.在菜单界面输入5,调用modify()函数实现通过学号修改学生成绩的功能vi.在菜单界面输入6,调用add()函数实现添加学生成绩。 vii.在菜单界面输入7,调用delscore()函数实现删除指定学生成绩。 viii.在菜单界面输入8,调用savescore()函数将学生成绩信息保存。 ix.在菜单界面输入9,退出成绩管理系统。

汇编语言-课程设计1

) 汇编语言课程实验报告 实验名称 课程设计1 实验环境 硬件平台:Intel Core i5-3210M 操作系统:DOSBox in Windows 软件工具:Turbo C , Debug, MASM 实验内容 《 将实验7中的Power idea公司的数据按照下图所示的格式在屏幕上显示出来。 实验步骤 1.要完成这个实验,首先我们需要编写三个子程序。第一个子程序是可以显示字符串到屏 幕的程序,其汇编代码如下: ;名称:show_str

;功能:在屏幕的指定位置,用指定颜色,显示一个用0结尾的字符串 ;参数:(dh)=行号,(dl)=列号(取值范围0~80),(cl)=颜色,ds:si:该字符串的首地址 ;返回:显示在屏幕上 ¥ show_str: push ax push cx push dx push es push si push di mov ax,0b800h - mov es,ax mov al,160 mul dh add dl,dl mov dh,0 add ax,dx mov di,ax mov ah,cl . show_str_x: mov cl,ds:[si] mov ch,0 jcxz show_str_f mov al,cl mov es:[di],ax inc si inc di 【 inc di jmp show_str_x show_str_f: pop di pop si pop es pop dx pop cx } pop ax ret 2.第二个程序是将word型数据转换为字符串,这样我们才能调用第一个程序将其打印出

数据库学生成绩管理系统课程设计

河南理工大学 计算机科学与技术学院 课程设计报告 200 7 — 200 8 学年第二学期 课程名称数据库课程设计 设计题目学生成绩管理系统 学生姓名 ^0^ 学号 专业班级 指导教师申自浩 2008 年 7 月 1 日

? 1 问题描述 1.1 背景 1)某大学有学生若干万名,每个学生每学期必须学习若干门课程。 2)每个学生有学号、姓名、性别、班级、出生日期等基本信息。 3)每门课程有课程号,课程名称、任课教师、学分等信息。 4)学校需要对每个学生的基本信息、所学课程、成绩进行统一管理,以便于对信息进行查询、浏览和修改。 1.2 数据需求 学生成绩管理系统主要用于学生成绩信息管理,据分析学生成绩管理系统的数据表可浓缩为:学生基本信息表、课程基本信息表和学生成绩信息表。根据学校的情况,可按下面的步骤来分析: (1) 确定学生所在的院系、所学的专业以及所在的班级。 (2) 确定学生所在班级的课程以及该课程学生的成绩;另外还需要知道学生所在 班级、学号和学期。 (3) 分析学生的基本信息,如姓名、性别、出生年月、家庭住址、联系电话。 (4) 用户信息分析,通常包括用户名和密码。 ? 2 解决方案 ( 或数据库系统设计 ) 2.1 E-R 模型设计 课程 学生 班级 学号 出生日期 姓名 查询成绩 任课教师 课程号 课程名称 学分 成绩 性别

根据E—R图,将其转化为如下数据实体,数据库:学生成绩管理系统.dbc,包括如下的表和视图: 1)学生登记表——学生表.dbf。 字段名称字段类型字段宽度 xh 字符型 10 xm 字符型 6 xb 字符型 2 csrq 日期型 8 bj 字符型 4 2)课程登记表——课程表.dbf。 字段名称字段类型字段宽度 kch 字符型 2 kcm 字符型 10 js 字符型 10 xf 字符型 10 3)成绩登记表——成绩表.dbf 字段名称字段类型字段宽度 xh 字符型 10 kch 字符型 2 cj 数值型 3 4) 借书视图(lyxview)。 为了进行浏览总表的需要,需要设计了一个总表浏览视图,该视图从学生表.dbf等3个表中提取了10个字段的数据: 学生表.xh 学生表.xm 学生表.xb 学生表.csrq 学生表.bj 课程表.kch 课程表.kcm 课程表.js 课程表.xf 成绩表.cj 其视图关系可由以下SQL语句定义: SELECT 学生表.*, 课程表.*, 成绩表.cj;

微机原理与汇编语言课程设计报告

西北师范大学 计算机科学与工程学院 微机原理与汇编语言 课程设计报告 设计题目:中断控制点阵显示与音乐模块姓名: 学号: 专业班级: 系所中心: 指导老师: 起讫时间: 设计地点: 2016年8月20日

摘要 使用8086汇编语言,在唐都TD-PITE实验箱上进行硬件连线,在计算机上采用与该实验箱配套的软件进行输入,观察实验结果。设计思路是利用在实验箱上i386内集成的两片8259芯片分别进行中断,通过实验箱上的两个脉冲开关发送信号到总线上开放的两个中断口,送入CPU内部的8259中。此时按下脉冲开关kk1+,第一个中断发生,在16*16点阵上循环滚动显示“西北师大汇编设计李泓毅”,若按下kk2+则第二个中断发生,执行音乐模块子程序,利用8254芯片开始响应预先编排好的音乐。 【关键词】级联中断;8259芯片;16*16点阵;8254芯片;SPK音乐模块;脉冲信号

目录 摘要 (2) 第一章课程设计 (2) 1.1 目的和任务 (2) 1.2 设计环境、设备与器材 (2) 第二章设计内容和方案 (3) 2.1 设计内容 (3) 2.2 设计方案 (3) 第三章课程设计相关原理简述 (3) 第四章设计实现 (4) 4.1 系统设计框架结构 (4) 4.2 系统硬件设计 (4) 4.3 系统软件设计 (6) 4.4 程序流程图 (6) 4.5 核心数据结构 (8) 4.6 关键代码片段分析 (10) 第五章设计验证 (10) 5.1 验证步骤及结果 (10) 5.2 数据分析 (10) 5.3 遇到的问题及解决 (11) 5.4 需要讨论的其它问题 (11) 5.5 结论 (11) 第六章设计总结 (12) 第七章本课程教学建议 (13) 第八章参考文献 (13) 第九章附录:源代码 (13) 第一章课程设计 1.1 目的和任务 使用8259芯片进行中断程序设计,在第一个中断中响应字模显示模块,在第二个中断中响应音乐发声模块。

学生成绩管理系统源代码

学生成绩管理系统源代码-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

#include #include #include #include #include #include #include #include #define PRINT1 textcolor(12); cprintf("\r 请按任意键返回主菜单 \n\r");textcolor(10); getch();clrscr(); break; int shoudsave=0; struct student /* 学生信息结构体定义*/ { char num[10],name[20],cla[4]; int score1,score2,score3,total,ave; }; typedef struct node { struct student data; struct node *next; }Node,*L; void print1() { cprintf("\r============================================================= ==================="); } void print2() { cprintf("\n\r 1.输入学生成绩信息在这里你可以按照提示输入学生的班级,学号,姓名及各科成绩.\n"); cprintf("\n\r 2.注销学生成绩信息在这里你可以按照学号或姓名将某名学生的信息从本系统中删除.\n"); cprintf("\n\r 3.查询学生成绩信息在这里你可以按照学号或姓名查询某一名学生的信息.\n"); cprintf("\n\r 4.修改学生成绩信息在这里你可以按照提示修改某一名学生的学号,姓名及各科成绩."); cprintf("\n\r 5.学生成绩信息排序在这里你可以看到所有学生的各科成绩.\n"); cprintf("\n\r 6.学生成绩信息统计在这里本系统将为你显示所有科目的最高分及最低分所得学生.\n"); cprintf("\n\r 7.显示学生成绩信息在这里你可以看到系统中所有学生的信 息.\n"); cprintf("\n\r 8.保存学生成绩信息在这里你可以将学生你信息保存到内存 中.\n");

汇编课程设计

燕山大学 汇编语言课程设计说明书 题目:计算机钢琴程序 交通灯控制系统 学院(系):信息科学与工程学院 年级专业: 10级计算机科学2班 学号: 100104010113 学生姓名:马强 学号: 100104010116 学生姓名:夏洋 指导教师:何海涛、邹晓红 完成日期: 2013年7月3日

目录 1.课程设计的目的和意义........................................................................................................... - 2 - 1.1课程设计目的................................................................................................................ - 2 - 1.2课程设计的意义............................................................................................................ - 2 - 2.题目一:计算机钢琴程序....................................................................................................... - 2 - 2.1系统的主要功能............................................................................................................ - 2 - 2.2总体设计方案................................................................................................................ - 2 - 2.2.1扬声器驱动方式................................................................................................. - 2 - 2.2.2延时原理............................................................................................................. - 3 - 2.2.3键盘控制发声程序............................................................................................. - 4 - 2.2.4设计总结............................................................................................................. - 5 - 2.3作品使用说明................................................................................................................ - 6 - 3.题目二:交通灯控制系统....................................................................................................... - 6 - 3.1系统的主要功能............................................................................................................ - 6 - 3.2 系统工作原理............................................................................................................... - 6 - 3.2.1 8259的工作原理................................................................................................ - 6 - 3.2.2 8255A的工作原理:...................................................................................... - 7 - 3.2.3 8253的工作原理:............................................................................................ - 7 - 3.3总体设计方案................................................................................................................ - 7 - 3.3.1程序流程图......................................................................................................... - 8 - 3.3.2接口电路图....................................................................................................... - 11 - 3.4交通灯的设计总结...................................................................................................... - 11 - 4.课程设计心得体会................................................................................................................. - 12 - 5.参考文献................................................................................................................................. - 12 - 6.附录:程序代码..................................................................................................................... - 12 - 6.1计算机钢琴程序代码.................................................................................................. - 12 - 6.2交通灯控制系统代码.................................................................................................. - 14 -

汇编语言课程设计报告——实现加减乘除四则运算的计算器

汇编语言课程设计报告 ( 2011 -- 2012 年度第 2 学期) 实现加减乘除四则运算的计算器 专业 计算机科学与技术 学生姓名 班级 学 号 指导教师 完成日期

目录 目录 (2) 1概述 (1) 1.1 设计目的 (1) 1.2 设计内容 (1) 2系统需求分析 (1) 2.1 系统目标 (1) 2.2 主体功能 (1) 2.3 开发环境 (1) 3 系统概要设计 (2) 3.1 系统的功能模块划分 (2) 3.2 系统流程图 (3) 4系统详细设计 (3) 5测试 (4) 5.1 测试方案 (4) 5.2 测试结果 (4) 6小结 (5) 参考文献 (6) 附录 (7) 附录源程序清单 (7)

实现加减乘除四则运算的计算器 1 概述 1.1 设计目的 本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题、解决问题的综合应用能力。 1.2 设计内容 能实现加、减、乘、除的计算;该程序接受的是16进制数;执行时,需要在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下: c:\tasm>js 3+2 5 2 系统需求分析 2.1 系统目标 本次汇编语言课程设计的最终目的是要实现一个简单加减乘除四则运算的计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。比如,十进制数的加减乘除四则运算。我们曾经学习过两个具体数字进行加减法运算,但是对于简单计算器用汇编语言实现难点在于这两个要做运算的数是未知的,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个数进行运算,而且做的是加法运算、减法运算乘法运算还是除法运算也未可知,为此我们还要判断用户所输入的运算是四则运算中的哪一个运算。此外,运算过程中的进位或是借位,选择用什么样的方式进行输出,如何实现清屏等也是要解决的问题。 2.2 主体功能 系统分析主要包括设计的功能分析和系统的流程,功能分析放在首位,每一个软件都要能满足一定的功能才有使用价值。根据功能需求来创建应用程序。 本设计的功能如下: 1、输入2个数,先判断是加减运算还是乘除运算,再进行计算 2、判断符号是否为运算符 3、回车为换行符 4、用十进制或十六进制输出运算结果 2.3 开发环境 TASM5.0集成环境

学生成绩管理系统(数据结构C语言版源代码)54843943

天天都是一个出发点,每天都有一点提高,每天都有一点收成! #include #include #include struct students{ char Sex[3]; /*字符型学生性别*/ double English; /*双精度实型英语成绩*/ double Java; /*双精度实型Java成绩*/ double Sjjg; /*双精度实数据结构*/ double Szdl; /*双精度实型数字电路*/ double Jsj; /*计算机组成原理*/ struct students *next; /*用与构建连表指向下一结点*/ }; FILE *fp; /*定义全局变量fp*/ void Revisemenu();/*修改菜单*/ void Sortmenu();/*排序菜单*/ void menu();/*主菜单*/ void secret();/*安全验证*/ struct students * Input();/*新建学生信息*/ void fprint(struct students *head);/*将信息导入文件可追加*/ void fprint_(struct students *head);/*将信息导入文件并覆盖*/ void Browse(struct students *head);/*浏览全部学生信息*/ struct students * create(struct students *head int *n);/*从tushu_list中读取数据构建链表*/ void SortEnglish(struct students * head);/*按英语成绩排序*/ void SortJava(struct students * head);/*按Java成绩排序*/ void SortSjjg(struct students * head);/*按数据结构成绩排序*/ void SortSzdl(struct students * head);/*按数字逻辑电路成绩排序*/ void SortJsj(struct students * head);/*按计算机组成原理成绩排序*/ struct students * Delete(struct students * head struct students * Revise();/*修改学生信息(按编号修改)*/ /*主菜单*/ void menu() { printf("\n\n"); printf("***************************************************\n"); printf(" 学生成绩管理系统 \n"); printf(" 1-添加新同学 2-浏览学生信息 \n"); printf(" 5-按成绩排序 6-修改学生信息 \n"); printf(" 7-删除学生信息 0-退出系统 \n"); printf("___________________________________________________\n");

数据结构课程设计学生成绩管理系统

2020/3/27 淮阴工学院 数据结构课程设计报告 选题名称: 学生成绩管理系统 系(院): 数理学院 专业:信息与计算科学 班级: 计科1102班 姓名: 徐连喜学号: 33 指导教师: 周海岩 学年学期: 2011 ~ 2012 学年第 1 学期 2012 年 06 月 06 日 1 2020/3/27 【摘要】 21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的讯速发展和广泛应用,对社会的政治,经济,军事,文化等领域产生越来越深刻。学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对

于学校的决策者和管理者来说都至关重要。本论文叙述到的学生成绩管理系统是用IIS+ASP网页编程+ACCESS数据库+DREAMWEAVER MX 2004+SQL查询语言实现的。重点介绍了学生成绩管理系统的实现过程:包括系统分析,系统调查,功能设计,数据库设计,系统实现,系统测试和调试等。本系统主要功能有查询学生成绩、单个添加学生成绩、批量添加学生成绩、删除学生成绩、管理页面和修改管理员密码等内容。 【关键词】 成绩管理;成绩查询; C++ 2 2020/3/27 目录 中文摘要。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 1。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。1绪论。。。。。。。。。。。 4。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 5选题背景。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 6需求分析2总体设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 7。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 8程序设计组成框图。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。9模块功能说明。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10程序流程图。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 11主要函数之间相互调用3 在设计过程中的感受。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。12 致谢。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 13参考文献 14。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。附录:源程序清单。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 15

汇编课程设计报告

汇编课程设计报告

学 号: 课程设计 题目打印水仙花数 学院计算机科学与技术 专业计算机科学与技术 班级 姓名 指导教师

武汉理工大学《汇编语言程序设计》课程设计 2012 年 6 月28 日 课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:计算机科学与技术学院 题目: 打印水仙花数 初始条件: 理论:完成了《汇编语言程序设计》课程, 对微机系统结构和80系列指令系 统有了较深入的理解,已掌握了汇 编语言程序设计的基本方法和技 巧。 实践:完成了《汇编语言程序设计》的4 个实验,熟悉了汇编语言程序的设 计环境并掌握了汇编语言程序的 调试方法。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 进一步理解和掌握较复杂程序的设计方 法,掌握子程序结构的设计和友好用户界 3

2.1简要分析 2.1.1原理说明 可以用标签来接收三位数,标签的好处在于可以限制输入的位数,并且通过实际输入位数可以直接进行一部分的异常处理。 将数存到标签后,因为是以ASCII码的形式存的,所以需要进行转换,将其变成十六进制数,转换后将数字存到申请的内存字中。在转换成十六进制数的过程中,可以对输入的数进行异常处理,判断是否输入有误。 在输出水仙花数时,设置一个计数器,从100开始循环判断,直到等于用户输入的数为止,依次判断是否为水仙花数,决定是否输出该数。 在输出时,分别取出水仙花数的个、十、百位数,转换成ASCII码再输出。 系统提示是否继续后,程序对用户输入的信息进行判断,若为y或Y则系统回到初始状态,若为n或N则退出系统,若为其他则提示输入错误并重新输入。 2.1.2程序流程图

(新)汇编语言课程设计四则运算

计算机与信息工程学院《汇编语言》课程设计四则运算器的设计 专业:计算机科学与技术 班级:控制11-2班 姓名: 倪天天 学号:2011025745 指导教师:郝维来 2013年6月28日

摘要 计算器是最简单的计算工具,简单计算器具有加、减、乘、除四项运算功能。想要用汇编语言实现简单的计算器,就必须通过对数据存储,寄存器的使用,加减乘除相关指令以及模块的调用等汇编语言知识进行运用,以实现一个基本功能完善,界面友好,操作简便易行的计算器。用汇编语言实现简单计算器还涉及到输入输出模块的设计,加减乘除运算的判断以及退出程序的判断的设计。通过对各种指令的合理使用,设计各个功能模块。当实现各个程序模块后,通过程序的调用最终实现一个简单的计算器。 关键词:计算器,汇编语言,四则运算,功能模块

Abstract Calculator is the easiest calculation tools, a simple calculator with addition, subtraction, multiplication, division four arithmetic functions. Want to use assembly language to achieve a simple calculator, you must pass on the data storage, register usage, addition, subtraction, and related instructions such as assembly language module calls the use of knowledge in order to achieve a basic functional, user-friendly, easy to operate easy calculator. Using assembly language to achieve a simple calculator also involves the design of input and output modules, the judgment of arithmetic operations and exit the program to judge design. Through the rational use of various commands, design various functional modules. When implementing various program modules, through a call to the ultimate realization of the program a simple calculator. Keyword:Calculator, assembly language, four arithmetic, functional modules

数据结构课程设计-学生成绩管理系统

任务书

摘要 管理信息系统正在向着网络化、智能化和集成化等趋势发展。学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。它对于一个学校是不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要。学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段,实现学生基本信息、成绩的录入,删除,查询,维护以及成绩的统计分析等几方面的功能,是现实问题的迫切要求。 本系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化。达到提高学生成绩管理效率的目的。与传统管理方法相比有明显的优点:查找方便,可靠性高,保密性好,成本低。彻底改变了以前繁杂的管理模式,实现全面的、相对集中的、职能化的信息综合管理。 计算机被用到信息管理系统的环境正是适应了当今时代飞速发展的信息时代。人们深刻的认识到了计算机功能的强大,对于复杂的信息管理,计算机充分发挥着它的优越性。检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低,这些优点极大地减轻了学院教学人员的工作量,缩小开支,提高了学生档案管理的效率和准确性,能够合理的安排时间,学生能够尽快的知道自己的考试成绩。同时,学生管理系统的应用也为今天的教育在未来市场的竞争力有所提高。

目录 1.引言 数据结构在界至今没有标准的定义。个人根据各自的理解的不同而有不同的表述方法: 在他的《数据结构、算法与应用》一书中称:“数据结构是,以及存在于该对象的和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的来给出。”他将数据对象()定义为“一个数据对象是实例或值的集合”。在《》一书中的定义是:“数据结构是()的物理实现。” 在《数据结构与程序设计》一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。其中,抽象层是指抽象数据类型层,它讨论数据的及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。数据结构具体指同一类数据元素中,各元素之间的相互关系,包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构。 1.1. 重要意义 一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数

汇编语言课程设计报告

课程设计报告 课程名称课题名称 汇编语言程序设计 1.显示彩色菱形 2.显示系统当前时间 专业 班级 学号 姓名 指导教师 年月日

课程设计任务书 课程名称汇编语言程序设计 课题 1.显示彩色菱形 2.显示系统当前时间专业班级 学生姓名 学号 指导老师 审批 任务书下达日期年月日 任务完成日期年月日

一、设计内容与设计要求 1.设计内容:通过本周的课程设计,学生能够巩固所学的基础知识,并能 够使学生更加熟练运用汇编程序设计语言来掌握综合汇编程序设计的方法和过程,以及为设计其它应用软件提供帮助,进而提高学生的软件设计能力。 (1)、编制一计算比赛成绩的程序,要求完成以下功能: a、9 名评委,每个评委给分范围为 0~100(整数); b、9名评委给分中,去掉一个最高分和一个最低分,剩余7 名评委的平均分即为参赛者的得分(精确到小数点二位); c、将得分在光标位置处显示出来。 (2) 、编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于30 字的 grade 数组中,各数据的格式为: 学号,成绩 1,成绩 2,?,成绩 5 然后根据 grade 中的学生成绩,把学生名次填入rank 数据组中,并显示出来,格式为:学号,名次 (3)、利用 INT 1CH(大约每秒中断 18.2 次)编写一个中断驻留程序,要求在屏幕的右 上角显示计算机中当前系统时间,显示格式为 时:分: 秒:1/100 秒 (4)、输入一个菱形的两条对角线长,在屏幕上用‘ * ’号画出一个彩色的菱形。 (5)、设置图形方式并显示彩条,要求: 选择背景色为蓝色,调色板为0,然后每行显示一种颜色,每四行重复一次, 一直到整个屏幕都显示出彩条 2.设计要求: 掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一 些实际的问题,为将来编写软件积累一些典型的案例处理经验。 (1)、设计正确,方案合理。 (2)、界面友好,使用方便。 (3)、程序精炼,结构清晰。 (4)、设计报告 5000 字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。 (5)、上机演示。 (6)、按学号顺序选课题号,并在规定的时间内独自完成相关课题的汇编源程序编

相关主题
文本预览
相关文档 最新文档