文档介绍:学生成绩管理系统设计实验
一、实验目的
1、熟悉汇编语言程序结构;
2、熟悉INT 21H的文件操作功能调用;
3、熟悉INT 21H的1、9号功能和INT 10H常用功能的使用方法;
4、掌握多子程序复杂问题程序设计方法;
5、掌握利用汇编语言实现字符串的输入输出程序设计方法;
6、了解多模块程序设计方法。
二、实验原理
我们把可以多次调用、具有通用性、能完成特定功能的程序段编写成的独立程序模块称为子程序。子程序是把一个程序划分成若干模块所用的主要手段,它便于独立设计、测试程序和编制程序文件。
实验内容
1、实验要求
设计一个学生成绩管理系统,要求完成文件建立、学生成绩录入、显示指定学号的学生记录、删除一个学生的记录、修改学生记录、返回等工作。学生成绩包括学号(XH)、姓名(XM)、数学(SX)、语文(YW)、外语(WY)字段。至少包括30名学生信息,每名学生学号字段为4个字符,姓名字段为15个字符(最大),每门成绩字段为3个字符(最大)。
程序设计步骤如下:
1、;
2、编写文件创建子程序create,实现在指定盘指定文件夹“d:\chengji\2009\”;
3、编写成绩录入子程序append,实现在指定文件尾部插入一个学生的成绩记录;
4、编写显示子程序display,实现按指定学号显示一个学生的记录;
5、编写修改子程序modify,实现按指定学号修改一个学生的记录字段(不需修改直接回车);
6、编写删除子程序,实现按指定学号、姓名删除一个学生的记录;
7、编译、链接、调试,。
程序流程图
3、程序代码
程序代码如下:
DATAS SEGMENT
MSG1 DB '1. Append a record$'
MSG2 DB '2. Display a record$'
MSG3 DB '3. Modify a record$'
MSG4 DB '4. Delete a record$'
MSG5 DB '5. Create file$'
MSG6 DB '6. Return DOS$'
MSGC DB 'Please input 1--6:$'
MSGE DB 'Error!$'
MSGC1 DB 'Please input filename:$'
MAXLEN DB 25
ACTLEN DB ?
STRING DB 25 DUP(?)
MAXLEN1 DB 25
ACTLEN1 DB ?
STRING1 DB 25 DUP(?)
PATHNM DB 'D:\chengji\2009\\',23 DUP(?)
PATH DB 'D:\chengji\2009\',00
MSGA1 DB 'Please input XH:$'
MSGA2 DB 'Please input XM:$'
MSGA3 DB 'Please input SX:$'
MSGA4 DB 'Please input YW:$'
MSGA5 DB 'Please input WY:$'
HANDLE DW ?
MSGXH DB 'Xuehao: $'
MSGXM DB 'Xingming: $'
MSGSX DB 'Shuxue:$'
MSGYW DB 'Yuwen: $'
MSGWY DB 'Waiyu: $'
BUFFER DB 2048 DUP(' ')
MSGRT DB 'Press any key to return!$'
DELSTR DB 33 DUP(' ')
DATAS ENDS
STACKS SEGMENT STACK
DB 256 DUP(?)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;********************************
;主程序
MAIN PROC FAR
S:;清屏
CALL CLS ;逐行输出提示信息
MOV AH,02H
MOV DH,9
MOV DL,30
INT 10H
MOV AH,9
LEA DX,MSG1
INT 21H
MOV AH,02H
MOV DH,10
MOV DL,30
INT 10H
MOV AH,9
LEA DX,