ImageVerifierCode 换一换
格式:DOC , 页数:30 ,大小:293.50KB ,
资源ID:1264817      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1264817.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汇编课程设计成绩管理系统+源代码.doc)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、XXXXX课程设计说明书汇编语言课程设计班级: 网络B101 姓名: XXX 学号 XXX 设计题目: 学生成绩管理 设计时间: 2012.12.09 至 2012.12.21 指导教师: XXX 评 语:_评阅成绩:_评阅教师:_一、 课程设计的目的进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。二、 设备与环境PC兼容机、Windows操作系统、汇编程序masm for windows 2010三、课程设计要求 1要求编写并调试通过一个小

2、型软件,实现对软件或硬件的操作。2遵循模块化、结构化的程序设计方法。3.要求程序必须正确。4.程序简明易懂,多运用输入输出提示,出错信息及必要的注释。5.要求程序结构合理,语句使用得当。6.适当追求编程技巧和程序运行效率。四、课程设计的课题和分析题目:学生成绩管理分析: 建立学生成绩文档;输入学生各门功课成绩;(假设3门功课);修改指定学号的学生成绩;统计指定学号的学生的平均成绩、总成绩,并在屏幕上显示; 统计指定学号课程的平均成绩,并在屏幕上显示; 每门课程成绩分析在屏幕上显示3门课程的各个分数段的学生人数;(分数段为:=90;8089;7079;6069;=59)此处可以以表格的形式给出数

3、据,或者以坐标曲线的形式给出。对学生成绩记录进行检索(按学号、姓名), 成绩排序(按总成绩降序排列), 退出,最好用到文件处理。五、流程图、总体设计、详细设计 学生成绩管理,最基本能实现的的功能是输入学号,同时显示该学生的基本的信息,我设计的成绩管理系统功能还包括了显示该生的语文,英语,数学三门学科的成绩,求出了该生的总分,以及该生的平均分,动态输入学生的成绩,而且成绩是按照三位数显示的,可以输入任意多的学生人数,每个学生都是三门课程,最后统计输入所有学生的各科各个分数段的人数,最后显示出所有学生的成绩排名情况。为了使系统更实际一些,我设计的系统包括建立了文件,方便学生的信息一次录入之后可以保

4、存该数据,将该数据保存在score.txt文件中,而且文件的路径与该软件默认的安装路径一致;为了使系统更方便用户使用,我设计了菜单,菜单中设计了六个功能,包括插入,删除,查询,修改,查看,退出等。以下是对程序中常用的六个个功能进行解析:1、 数据输入功能:这是必不缺少的功能,学号的输入,成绩的输入都离不了这个功能,在输入成绩时,特地加了一个判断功能,在输入不合理的成绩时,程序将提示出错,并要求重新输入。在输入学生学号的时候,程序首先会判断此学生的成绩是否存在,如果存在,则程序提示需重新输入。插入一条学生记录子模块,搜索可用单元,接收输入的记录,并写入文件。建立成绩表子模块,控制输入界面,并多次

5、调用插入记录子模块,完成成绩的建立。2、 修改功能:考虑到会存在在输入成绩时,容易输入错误,或者发生个别学生的试卷被误判需修改成绩等情况,所以加了此功能,在发生以上情况时可以调用此功能,修改指定学生的成绩。3、 删除学生信息的功能。如果输入的学生信息根本不存在,或者发生其它情况需删除一个无意义的学生信息时,可以调用此功能。此功能将实现将指定学号学生的信息删除。4、 信息查找功能:当需要查询某个学生的成绩或者检查输入是否有误时,可以调用此功能,此功能实现将指定学号学生的成绩显示出来。实际上在调用此功能的同时,程序会首先求的总成绩,平均成绩,然后产生排名结果,最后将数据信息显示。5、显示排名信息功

6、能:此功能会将学生成绩自动相加,得到每位学生的总成绩及平均成绩,然后进行排名,得到每个学生的名词,最后按照输入顺序将所有学生的学号,语文成绩,英语成绩,数学成绩,平均成绩,总成绩,名次依次输出。模块中排名处理、学科平均成绩计算、均需取出某一学科的所有学生成绩,因而此操作作为公用子程序以供调用。个人总分及平均分处理较为简单,根据索引逐条处理记录。排名处理。排名结果为一维数组,与学科成绩存在对应关系。查询学生记录,先进行学号匹配,再输出一条记录;查询该生的所有信息。6、 文件写入及退出功能。此功能实现将学生的信息保存在一个文件里。此程序默认将文件放在C盘下,名称为:score,属性为txt格式的文

7、本文档。该文档能够保存数据,以便数据不需要重复录入,是系统更能满足用户需求。写入文件完毕后,关闭文件,并退出程序。该程序的流程图:文件创建和菜单显示:在创建文件时使用命令请求创建文件,以下是菜单显示,首先显示菜单的界面,1号功能接收功能,程序先和菜单中所有的功能都进行比较,假如都不是功能菜单,则提示输入错误,重新输入,假如输入正确,则调用相对应的子程序。创建新文件mov ah,3eh设置属性设置路径保存文件菜单的显示选择系统功能插入调用insertY修改N调用modifyY删除N调用deleteY调用show排名分段调用countNNNagainY创建成功ESC调用escYYY文件内容显示:在

8、文件查找的子程序会显示该生的学号,三门的成绩,该生的总分,平均分和该生成绩的排名情况,则在显示学生信息之前先处理数据,成绩和总分是按照三位数的处理,学号和名次是按照两位数处理的,总分是字类型,其他的是字节类型,所以必须要转换基址才能找到该生相对应的总分。文件的删除则是先找到该学生的信息,然后显示该生的成绩缓存区的地址的下一位,则显示的是空白。 调用总分子程序调用平均分子程序学号存在开始N输出三门成绩以si和n的比较输出学生信息按三位处理Y输出平均分需要扩展si指针依次下移2输出总分输出名次结束 调用二位学号输入的子程序学号存在开始N地址相减YAdd si,1删除完成显示内容为空循环删除之后内容

9、n减1结束为0为零则retYN总分和名次定义子程序sum proc near,先是从存放各科的缓存区移出数据,然后相加,采用循环,对用户输入的数据都是按照这个规则求出该生的总分;ping proc near是求出该生的平均分,把之前存放在zcbx的总分数据取出来,然后除以3;存储器清零cx,si循环开始开始NMov Mcsi,1名次初值是1Yjge continue总分进行比较Zcbx与Zcdiadd mcsi,1把学生个数给bx结束大于或者等于mov dx,zcdiYN名次为字节则si+1Si 与ax比较为0YN六、遇到的问题及解决办法问题:在编写程序时,不知道删除的程序应该如何实现,以及在

10、创建文件时不知道如何下手,然后老师提示是采用中断,我们需要自学中断,在设置光标和屏幕显示也是采用中断,我自能自学课本的第九章内容,然后再写程序,在文件的删除那里我卡住了研究好久也不知道怎么实现,最后我问了我同学,我们一起讨论出的结果就是让屏幕不显示当前指针指向的内容,显示指针指向的一个内容即可,这样就可以实现删除功能,删除功能就是删除该学号学生的成绩数据,使这些数据全部清空则达到了删除文件的功能;关键代码:此段代码时是实现数据段插入功能首先提示输入学号的语句,然后调用shuru的宏定义,这个宏定义是接收键盘输入的两位数,然后处理成十进制输出,比较符合实际,然后把n学生个数给bl,将输入的学生学

11、号保存在xhbx数组中,方便使用,然后判断该学号是否为第一次输入,是则跳转,假如不是第一次输入,则提示用户该学号已经存在,需要重新输入,跳转到输入成绩的子程序,在调用shuruu宏,此功能是处理三位数,使成绩是按照三位数显示的,而且必须是在合理的范围内的,假如输入的数据是不合理的则又跳转到重新输入的界面,要求用户输入有效数据,数据输入完成之后则存入相对应的缓存区。;* input proc near ;输入学生学号,成绩e6: output mess1 shuru mov bl,n ;统计输入学生个数 mov bh,0 mov xhbx,dl ;输入的个数同时以地址指针形式显示 cmp bx,

12、0 ;判断是不是第一次输入,如果是,则跳过比较程序 je qq1 ;继续输入成绩 mov cl,n ;如果不是第一次输入则要将输入的学号与以前输入的比较 cbw mov si,0 mov al,xhbxe7: cmp al,xhsi je e5 add si,1 loop e7 jmp qq1e5: output ts4 jmp e6 qq1:output mess2 ;如果不是重复的学号则可以继续输入成绩和其他信息 output mess4 mov si,0 mov cx,3qq3:shuruu cmp dx,78h ;比较输入的成绩是否大于120,如果大于120的话,那么重新输入成绩 jb

13、e qq2 output ts3 ;提示输入错误 jmp qq1qq2:mov bufsi,dl ;把输入的学生信息保存在缓存区 output bg add si,1loop qq3 mov bl,n cbw mov al,buf0 ;以下是把之前的成绩数据保存到相对应的缓存区 mov chibx,al mov al,buf1 mov engbx,al mov al,buf2 mov matbx,al retinput endp;*该关键代码是实现该学号学生的总分和名次的交换以及显示,首先是先把即将要用到的存储器全部清零,将名次mcsi初值为1,si依次+1,因为存放名次的数组是字节类型的,然后把n学生的个数赋给cl,接下来就是处理查找总分的地址指针,因为总分数组是字型所以需要使bl*2,然后cx清零,按照学号找到相对应该生的总分,两个总分相比较此时大的则暂时为第一名,然后再继续接受总分,接受的总分又要和之前暂时的第一比较然后和暂时的第二名比较,循环找出第一名,继续循环,显示总分和名次。;*

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1