2 njs1677460925 njs1677460925 于 2016.03.30 14:42 提问

汇编语言实现学生成绩管理

设计实现一个学生成绩查询的程序。
1、实验背景
在以BUF为首址的字节数据存储区中,存放着n个学生的课程成绩表(百分制),每个学生的相关信息包括:姓名(占10个字节,结束符为数值0),语文成绩(1个字节),数学成绩(1个字节),英语成绩(1个字节),平均成绩(1个字节)。
例如:
N EQU 1000
BUF DB ‘zhangsan’,0,0 ;学生姓名,不足10个字节的部分用0填充
DB 100, 85, 80,? ; 平均成绩还未计算
DB ‘lisi’,6 DUP(0)
DB 80, 100, 70,?
DB N-3 DUP( ‘TempValue’,0,80,90,95,?) ;除了3个已经具体定义了学生信息的成绩表以外,其他学生的信息暂时假定为一样的。
DB ‘wangwu’,0,0,0,0

DB 85, 85, 100, ?

2、功能一:提示并输入学生姓名
(1)使用9号DOS系统功能调用,提示用户输入学生姓名。
(2)使用10号DOS系统功能调用,输入学生姓名。输入的姓名字符串放在以in_name为首址的存储区中。
(3)若只是输入了回车,则回到“(1)”处重新提示与输入;若仅仅输入字符q,则程序退出,否则,准备进入下一步处理。

3、功能二:以学生姓名查询有无该学生
(1)使用循环程序结构,在成绩表中查找该学生。
(2)若未找到,就提示用户该学生不存在,并回到“功能一(1)”的位置,提示并重新输入姓名。
(3)若找到,则将该学生课程成绩表的起始偏移地址保存到POIN字变量中。
提示:字符串比较时,当采用输入串的长度作为循环次数时,若因循环次数减为0而终止循环,则还要去判断成绩表中名字串的下一个字符是否是结束符0,若是,才能确定找到了。

4、功能三:计算所有学生的平均成绩
使用算数运算相关指令计算并保存每一个学生的平均成绩。
平均成绩计算公式:(A*2+B+C/2)/3.5,即将语文成绩A乘以权重2、英语成绩C除以权重2后,与数学成绩B一起求和,再计算该生的平均成绩。要求避免溢出。
提示:使用循环程序结构,注意寻址方式的灵活使用。把小数3.5转换成分数后再运算避免使用浮点数指令。

5、功能四:将功能二查到的学生的平均成绩进行等级判断,并显示判断结果。

(1)平均成绩等级显示方式:若平均成绩大于等于90分,显示“A”;大于等于80分,显示“B”;大于等于70分,显示“C”;大于等于60分,显示“D”;小于60分,显示“F”。
提示:使用分支程序结构,采用2号DOS系统功能调用显示结果。
(2)使用转移指令回到“功能一(1)”处(提示并输入姓名)。

6、思考与选做功能
(1)对输入的姓名进行合法性检查,比如:是否存在大小写字母之外的字符,等等;若存在非法的输入情形,则提示之后重新输入。
(2)对BUF中预先定义的课程成绩表中的所有成绩项进行合法性检查,判断是否符合实际(如超过100分等),不符合则提示并退出程序。预先定义的学生姓名中,如果有重名如何处理?
(3)除了显示平均成绩的等级外,还将平均成绩同时显示。
(4)由于有些课程体系中,成绩的满分可能会达到300分,此时,成绩项的定义必须采用字类型,那么,如何改造程序呢?采用数据结构来定义BUF存储区是否会更好?

2个回答

u013538542
u013538542   2016.03.30 14:48

太复杂了~~~~, 用个别的语言实现还凑合

CSDNXIAON
CSDNXIAON   2016.03.30 14:53

c 实现学生成绩管理
java实现学生成绩管理(未连数据库)
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
汇编语言学生成绩管理系统(一)结构体的使用
1 .定义结构体结构 其一般说明格式如下: 结构名 STRUC [Alignment][NONUNIQUE]  数据定义语句序列  结构名 ENDS 对齐方式(Alignment):可用1、2或4来指定结构中字段的字节边界(Byte boundary),其缺省值为1。一般不用管  NONUNIQUE:要求结构中的字段必须用全名才能访问。一般不用管 STUDENT STRUC
学生成绩管理系统 汇编语言
这是一个学生成绩管理系统,其中 “i”表示插入, “l”表示浏览, “q”表示查询, “e”表示退出, “d”表示删除, “m”表示修改, “c”表示统计各分数段人数, “p”表示打印. (以上功能程序主界面都有提示信息) 运行本程序会自动在C盘下创建score.txt文件(用户数据库文本)。 此文本路径可在程序中fpath db 'c:\score.txt'中查找修改。 如果出现未知错误时:本程序有一隐含功能:在主界面按“n”(new)可以初始化(清空)数据库。 默认参数: 学号(ID):默认4位,位数支持更改。(纯数字) 姓名(NAME):以内20位,范围支持更改。(纯字母或空格,且第一位不能为空格) 性别(SEX):1位,位数不能更改! (只能为1或0) 1:男 0:女 分数(SCORE):位数支持更改,请慎改!( 0 ~ 100 支持一位小数) 用汇编写的。不知道是不是你们所需的。
汇编——学生成绩管理系统
汇编大作业——学生成绩管理系统(带详细注释)
汇编语言:统计学生成绩小程序(增加了边界判断)
从键盘录入10个学生成绩(0-100),录入完毕自动统计各分段的学生数。如果录入的不是0-100,则报错并重新输入。而且,按下ESC直接结束程序。include 一套工具.mac data segment buf db 10 dup(?) w db 3 dup (?) s6 db ? s7 db ? s8 db ? s9 db ? show db "Please input ten ...
用汇编语言实现学生成绩统计分析
用汇编语言实现学生成绩统计分析,实验内容:编制一个程序,统计低于60分,60~69分,70~79分,80~89分,90~99分和100分的人数,并输出显示统计结果。1、成绩分等部分采用分支结构,统计所有成绩则用循环结构完成,显示统计结果采用DOS功能调用。2、统计学生成绩和显示统计结果两部分内容用子程序结构来完成。
汇编程序设计--学生成绩管理系统
学生成绩管理系统——汇编程序设计题目要求一个学生的信息包括姓名、班级、学号、成绩,其中成绩需要精确到1位小数。实现以下功能: (1) 可以录入学生成绩(十进制形式); (2) 可以按要求(如学号或成绩)进行排序显示; (3) 可以统计平均成绩; (4)可以统计不及格成绩、60~70、70~80、80~90、90~100各分数段的人数。主要数据结构:姓名、班级、学号、成绩各用一个数组来保存,学
用汇编实现10个学生成绩排序和分数段人数统计
;用汇编语言编写学生成绩统计程序:键盘输入学生成绩到SCORE中( ;0<=分数<=100,设有10个学生成绩分别是56,69,84,82,73,88,99,63,100,80) 。 ;编程将它们由大到小排序,存回到原来的SCORE变量中; ;并统计低于60分、60~69、70~79、80~89、90~99及100分的人数, ;分别存放在S5、S6、S7、S8、S9、S10单元中。
汇编:学生成绩管理系统
汇编:学生成绩管理系统 一.说明:       1. 这是一个学生成绩管理系统,其中        “i”表示插入,        “l”表示浏览,        “q”表示查询,        “e”表示退出,        “d”表示删除,        “m”表示修改,        “c”表示统计各分数段人数,        “p”表示打印.     (以上功能程
用单链表实现学生成绩管理
数据结构实验二:线性表综合实验 1、实验目的         巩固线性表的数据结构的存储方法和相关操作,学会针对具体应用,使用线性表的相关知识来解决具体问题。 2、实验内容       .建立一个由n个学生成绩的顺序表,n的大小由自己确定,每一个学生的成绩信息由自己确定,实现数据的对表进行插入、删除、查找等操作。分别输出结果。 3、代码    #include   using
基于JAVA的学生成绩管理系统的设计与实现
随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教学管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于Java与SQL server数据库技术建立一个高校成绩管理系统该系统为管理员、学生和教师提供了查询、修改、增加记录、删除等功能,功能比较落齐全,基本上能满足学生和老师的要求。