学籍管理系统文档

本文档详细介绍了学籍管理系统的常量定义、数据结构、变量定义和函数功能,包括学生信息的输入、显示菜单、处理用户选择等功能,并记录了在开发过程中遇到的跳转表问题及其解决方案。
摘要由CSDN通过智能技术生成

KelvinMao Blog
TECHNOLOGY,LIFE AND THINKING
MAY 28, 2018KELVINMAO
学籍管理系统文档
Part1 常量定义
1.常值定义
MAX_NAME_LEN 最大姓名长度
MAX_CLASS_LEN 最大班级编号长度
MAX_ID_LEN 最大学号长度
MAX_SCORE_LEN 最大成绩长度
MAX_STACK_SIZE 最大栈空间
MAX_BUFFER_SIZE 缓冲区最大空间
MAX_STU_BUFFER_SIZE 学生实例缓冲区最大空间
2.常字符串定义
BANNER_WORD 欢迎使用的提示
FUNC1_WORD 功能1:输入学生姓名的提示
FUNC2_WORD 功能2:列出全部学生信息的提示
FUNC3_WORD 功能3:按成绩排名
FUNC4_WORD 功能4:按学号排名
FUNC5_WORD 功能5:计算平均分
FUNC6_WORD 功能6:统计成绩区间内人数
FUNC7_WORD 功能7:退出系统
INPUT1_WORD 功能1输入提示信息
INPUT11_WORD 功能1第一项提示信息
INPUT12_WORD 功能1第二项提示信息
INPUT13_WORD 功能1第三项提示信息
INPUT14_WORD 功能1第四项提示信息
CHOICE_ERROR_MSG 输入选项不合法的提示信息
3.地址表定义
TABLE_HINT_STRING 用于将提示信息传递到显示函数中
TABLE_POINTERS 用于向子程序中传递指针寄存器
TABLE_CMP_STRING 用于比较两字符串时传递参数
4.系统调用定义
CR 定义回车
LF 定义换行
IN_AND_OUT 接收输入并回显
DISP_CHAR 显示一个字符
DISP_STR 显示一个字符串
RETURN 返回操作系统
STR_TO_BUF 从键盘读取字符串并写入缓冲区
Part2 数据结构及定义

  1. Student
    类型:Struc
    作用:描述一个学生的结构体,包含学生姓名,班级,学号,成绩
    Part3 变量及其定义
    1.OPTION1:
    用户在第一个菜单界面下输入的选项
    2.BUFFER
    输入字符串的缓冲区
    包含缓冲区最大长度、缓冲区实际容量及缓冲区存放的字符串

3.STU_NAME_TMP
临时存放输入的学生姓名
4.STU_ID_TMP
临时存放输入的学生学号
5.STU_SCORE_TMP
临时存放输入的学生成绩
6.STU_CLASS_TMP
临时存放输入的学生班级
Part4 函数定义
1.PUTS
作用:在屏幕上显示一行字符串并换行

参数:

TABLE_HINT_STRING
返回值:无

2.DISPLAY_MENU
作用:在屏幕上显示菜单 参数:

TABLE_HINT_STRING
返回值:无

3.CHOICE_INPUT
作用:接受用户输入的选项,并判断是否是合法选项

参数:无

返回值:无

4.INPUT
作用:供用户输入学生信息

参数:无

返回值:无

5.ADD_INTO_BUF
作用:将临时存储学生信息的结构体加入到全局的学生缓冲区中

参数:Student

返回值:无

6.PUTS
作用:在屏幕上显示一行字符串

参数:

TABLE_HINT_STRING
返回值:无

运行截图
输入学生信息
image

列出所有学生
image

按成绩排名
image

按学号排名
image

计算平均分
image

划分成绩区间
image

编写过程中的问题
1.跳转表
跳转表没有跳到case,跳到了cs:0000,输入选项之后不断重新显示菜单

image

image

跟踪发现跳转表地址应该是DS:0146,但最后跳转表的地址变为DS:9146,发现是BX寄存器(BH)的值造成了影响,于是将BH置为0,问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值