汇编程序设计--学生成绩管理系统

本文详细介绍了使用汇编语言设计的学生成绩管理系统,涵盖了数据结构设计、程序结构说明以及遇到的BUG及其解决方案。系统能够录入成绩、排序、计算平均分和统计各分数段人数。主要数据结构包括姓名、班级、学号和成绩数组,使用SORTED数组存储排序后的下标。在实现过程中,针对成绩的小数部分进行了特殊处理。调试过程中发现并修复了函数调用栈、循环除法和变量类型等方面的问题。
摘要由CSDN通过智能技术生成

学生成绩管理系统——汇编程序设计

代码已开源:https://github.com/Kwongrf/Assemble-Student-grade-management-system.git

题目要求

一个学生的信息包括姓名、班级、学号、成绩,其中成绩需要精确到1位小数。实现以下功能:
(1) 可以录入学生成绩(十进制形式);
(2) 可以按要求(如学号或成绩)进行排序显示;
(3) 可以统计平均成绩;
(4)可以统计不及格成绩、60-70、70-80、80-90、90-100各分数段的人数。

主要数据结构:

姓名、班级、学号、成绩各用一个数组来保存,学生数小于等于100,相同下标的代表同一个学生的信息。
姓名要求长度小于等于10个字符,班级和学号都是讲用户输入的ASCII码转十进制储存在一个字中。
成绩处理稍微特殊一点,由于有一位小数,我在存的时候是把这个数扩大10倍再存的。及时没有小数也会乘以10,在输出的时候只要看最后一位是不是0就可以判断是不是整数了,小数就多输出一个小数点。在排序做比较和计算平均数,统计各分数段的时候这样也很方便,只需要在输出的时候除10并保留一位小数就行了。
SORTED数组中保存的是排序后的下标,在排序之后学生信息的顺序还是录入时候的数据,这样避免了大量的数据移动。只是在写程序的时候容易犯错。

NAME_ARR	DB 100 DUP (10 DUP (?))
CLASS_ARR	DW 100 DUP (?)
ID_ARR		DW 100 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值