资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
华 北 科 技 学 院课程设计说明书课程名称: 汇编语言 班级: 计算机B08-1 姓名:_ _ 学号:_ _设计题目:_ 学生成绩管理 _设计时间: 2010.06.21至 2010.07.02_ 指导教师:_ _ _ _ _评 语:_评阅成绩: 评阅教师: 一、课程设计目的进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。二、课程设计要求 1要求编写并调试通过一个小型软件,实现对软件或硬件的操作。2遵循模块化、结构化的程序设计方法。3.要求程序必须正确。4.程序简明易懂,多运用输入输出提示,出错信息及必要的注释。5.要求程序结构合理,语句使用得当。6.适当追求编程技巧和程序运行效率。三、课程设计题目:学生成绩管理四、课题分析学生成绩管理,顾名思义,就是管理学生的成绩,站在使用者的立场上来看,最基本需求的便是将学生成绩输入,求和并进行排名,当然还有其它更为人性化的需求,比如顺便得到学生的平均成绩,统计各科各个分数段的人数等等,甚至为了保存结果,可以将学生的所有成绩及排名保存在一个文件里面,以便以后调用。所以经过缜密思虑,确定学生成绩管理的一下几个功能:1, 数据输入功能。这是必不缺少的功能,学号的输入,成绩的输入都离不了这个功能,在输入成绩时,特地加了一个判断功能,在输入不合理的成绩时,程序将提示出错,并要求重新输入。在输入学生学号的时候,程序首先会判断此学生的成绩是否存在,如果存在,则程序提示需重新输入。2, 修改功能。考虑到会存在在输入成绩时,容易输入错误,或者发生个别学生的试卷被误判需修改成绩等情况,所以加了此功能,在发生以上情况时可以调用此功能,修改指定学生的成绩。3, 删除学生信息的功能。如果输入的学生信息根本不存在,或者发生其它情况需删除一个无意义的学生信息时,可以调用此功能。此功能将实现将指定学号学生的信息删除。4, 信息查找功能。当需要查询某个学生的成绩或者检查输入是否有误时,可以调用此功能,此功能实现将指定学号学生的成绩显示出来。实际上在调用此功能的同时,程序会首先求的总成绩,平均成绩,然后产生排名结果,最后将数据信息显示。5, 显示排名信息功能。此功能会将学生成绩自动相加,得到每位学生的总成绩及平均成绩,然后进行排名,得到每个学生的名词,最后按照输入顺序将所有学生的学号,语文成绩,英语成绩,数学成绩,平均成绩,总成绩,名次依次输出。6, 课程成绩分析功能。此功能实现在屏幕上显示三门课程的各个分数段的学生人数,以表格的形式在屏幕上显示。(分数段为:=90;8089;7079;6069;=59)7, 文件写入及退出功能。此功能实现将学生的信息保存在一个文件里。此程序默认将文件放在C盘下,名称为:score,属性为txt格式的文本文档。写入文件完毕后,关闭文件,并退出程序。五、流程图: 主程序流程图开始创建文件显示主菜单输入功能号Ni?Nm?N提示输入有误d?Yf?NYNs?Yc?e?NYYY调用子程序insert调用子程序modify调用子程序de调用子程序find调用子程序showw调用子程序showY结束返回主菜单大于120NY调用input子程序输入学号学号是否存在提示重新输入学号输入成绩YN子程序的流程图调用input子程序调用宏shuru 学号是否存在?输入学号YN修改成绩学号是否存在提示输入有误重新输入N 大于120Y提示重新输入学号N输入成绩返回主菜单 (a)子程序insert 流程图 (b)子程序modify流程图调用宏shuru,输入学号调用宏shuru,输入学号NN学号是否存在?学号是否存在?YY显示查询结果删除记录返回主菜单返回主菜单 (c) 子程序del流程图 (d)子程序find流程图将计数数组清零将名次清零调用rank子程序调用countt子程序调用相关宏调用shuchu子程序返回主菜单返回主菜单 (e)子程序show流程图 (f)子程序showw流程图设置读写指针写入文件关闭文件结束 (g)子程序exit流程图六、程序源代码zhuanss macro j,t ;将三位数的数据转换成为三个对应的字符,并将其存入缓冲区zs中 push bx mov si,t mov ax,j mov bl,100 div bl add al,30h mov zssi,al add si,1 mov al,ah cbw mov bl,10 div bl add al,30h add ah,30h mov zssi,al add si,1 mov zssi,ah add si,1 pop bx endmclear MACRO ;清屏 MOV AH,2 MOV DH,0 MOV DL,0 INT 10H MOV AH,6 MOV AL,0 MOV BH,7 MOV CH,0 MOV CL,0 MOV DH,24 MOV DL,79 INT 10HENDM kong macro ;回车换行 mov ah,2 mov dl,0ah int 21h mov ah,2 mov dl,0dh int 21hendmoutput macro p ;字符串输出 mov dx,offset pmov ah,9int 21hendmshuru macro ;二位数数据输入 mov ah,01int 21hsub al,30hcbwmov bl,10mul bl mov dl,al mov ah,01hint 21hsub al,30h add dl,alendm 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 zssi,al add si,1 mov zssi,ah add si,1 pop bxendm zhuans macro f,s ; 将三位数成绩转换成为对应的三个字符,并存入缓冲区zs中 push bx mov si,s mov al,f cbw mov bl,100 div bl add al,30h mov zssi,al add si,1 mov al,ah cbw mov bl,10 div bl add al,30h add ah,30h mov zssi,al add si,1 mov zssi,ah add si,1 pop bx endmshuzi macro r ;二位数据输出 mov al,r cbw mov bl,10 div bl mov bl,ah mov dl,al add dl, 30hmov ah,2int 21h mov dl,bladd dl,30hmov ah,2int 21hendmshuruu macro ;三位数数据输入 shuru mov al,dl mov dl,10 mul dl mov dx,ax mov ah,1 int 21h sub al,30h cbw add dx,axendmshuzii macro u ;三位数数据输出 mov ax,u mov bl,100 div bl mov bl,ah mov dl,al add dl,30h mov ah,2 int 21h shuzi blendm DATAS SEGMENTm 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) ;记录所查询科目分数段的
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号