选择系统功能
N插入
Y
调用i
sert
修改Y
菜单的显示
Y
agai
创建成功
NY
删除
N排名
Y
NN
分段Y
ESCY
调用modify
调用delete
调用show
调用cou
t
调用esc
文件内容显示:
f在文件查找的子程序会显示该生的学号,三门的成绩,该生的总分,平均分和该生成绩的排名情况,则在显示学生信息之前先处理数据,成绩和总分是按照三位数的处理,学号和名次是按照两位数处理的,总分是字类型,其他的是字节类型,所以必须要转换基址才能找到该生相对应的总分。文件的删除则是先找到该学生的信息,然后显示该生的成绩缓存区的地址的下一位,则显示的是空白。
开始
调用总分子程序
调用平均分子程序
N
学号存在
Y
按三位处理
输出三门成绩以si和
的比较输
出学生信息
开始
调用二位学号输入的子程序
N
学号存在
Y
地址相减
Y为0N
为零则ret
输出平均分
删除完成
需要扩展
显示内容为空
si指针依次下移2输出总分输出名次
Addsi1
循环删除之后内容
减1
结束
结束
总分和名次
f定义子程序sumproc
ear,先是从存放各科的缓存区移出数据,然后相加,采用循环,对用户输入的数据都是按照这个规则求出该生的总分;pi
gproc
ear是求出该生的平均分,把之前存放在zcbx的总分数据取出来,然后除以3;
开始
存储器清零cxsi
MovMcsi1
N
名次初值是1
循环开始
Y
movdxzcdi
总分进行比较Zcbx与Zcdi
大于或者等于Y
jgeco
ti
ueaddmcsi1
把学生个数给bx
名次为字节则si1
Si与ax比较为0Y
结束
NN
f六、遇到的问题及解决办法
问题:在编写程序时,不知道删除的程序应该如何实现,以及在创建文件时不知
道如何下手,然后老师提示是采用中断,我们需要自学中断,在设置光标和屏幕
显示也是采用中断,我自能自学课本的第九章内容,然后再写程序,在文件的删
除那里我卡住了研究好久也不知道怎么实现,最后我问了我同学,我们一起讨论
出的结果就是让屏幕不显示当前指针指向的内容,显示指针指向的一个内容即
可,这样就可以实现删除功能,删除功能就是删除该学号学生的成绩数据,使这
些数据全部清空则达到了删除文件的功能;
关键代码:此段代码时是实现数据段插入功能首先提示输入学号的语句,然后调
用shuru的宏定义,这个宏定义是接收键盘输入的两位数,然后处理成十进制输
出,比较符合实际,然后把
学生个数给bl,将输入的学生学号保存在xhbx
数组中,方便使用,然后判断该学号是否为第一次输入,是则跳转,假如不是第
一次输入,则提示用户该学号已经存在,需要重新输入,r