您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 课设学生成绩管理系统
目录1.需求说明..............................................32.设计说明(简要的分析与概要设计).......................32.1开发平台与开发工具..................................32.2基本原理...........................................32.3数据结构...........................................42.4模块说明...........................................52.4.1数据的了录入....................................52.4.2打印以及记录的学生信息..........................62.4.3数据存档........................................62.4.4从文件中读取数据................................62.4.5查找并修改学生记录信息..........................62.4.6删除已经记录学生的信息..........................73.详细的算法描述........................................74源程序与执行结果(含测试方法和测试结果)...............74.1数据的录入.........................................84.2数据和显示.........................................84.3数据存档...........................................94.4从文件中读取......................................104.5查询并修改同学记录信息............................104.6删除记录..........................................115.使用说明.............................................115.1自我评价与总结...................................115.2本次课程设计的缺点和不足.........................126.参考教材.............................................127.附源程序.............................................12课程设计任务书学生姓名:娄俊凯专业班级:计算机0809指导教师:姚寒冰工作单位:计算机科学与技术学院题目:学生成绩管理初始条件:理论:完成了《汇编语言程序设计》课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。实践:完成了《汇编语言程序设计》的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)进一步理解和掌握较复杂程序的设计方法,掌握子程序结构的设计和友好用户界面的设计。具体的设计任务及要求:1)编写学生成绩信息管理程序,学生信息采用文件存储;2)要求能实现学生成绩信息的增、删、改、查;3)程序采用子程序结构,结构清晰;4)友好清晰的用户界面,能识别输入错误并控制错误的修改。在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。阅读资料:1)《IBM—PC汇编语言程序设计实验教程》实验2.42)《IBM—PC汇编语言程序设计(第2版)》例6.11时间安排:设计安排一周:周1、周2:完成系统分析及设计。周3、周4:完成程序调试,和验收。周5:撰写课程设计报告。指导教师签名:年月日系主任(或责任教师)签名:年月日学生成绩管理系统的设计1.需求说明用汇编语言编写一个学生成绩管理系统,实现基本的学生成绩管理,功能包括建立成绩档案,添加学生成绩记录(包括学号、姓名、语文、数学、英语、综合),每条记录能自动计算并显示总分、平均分。能按学号或姓名进行查询学生各科成绩,能修改学生的单科成绩,能删除某个学生的成绩记录,每条学生成绩记录包含学号、姓名、语文、数学、英语、综合、总分、平均分等信息,所有信息最终用文件保存。要求程序界面友好,有输入界输出提示,有菜单等。2.设计说明(简要的分析与概要设计)2.1开发平台与开发工具该程序使用基于DOS操作系统的16位实模式汇编语言编写,使用的编译器为微软的MASM5.0,调试工具为DOS下的debug.exe程序。2.2基本原理本程序使用了DOS系统功能调用(INT21H),程序中用到的系统功能调用如下:AH功能调用参数返回参数02显示输出DL=输出字符09显示字符串DS:DX=串地址字符串以‘$’符结束3C建立文件DS:DX=ASCIZ串地址成功:AX=文件代号CX=文件属性失败:AX=错误代码3D打开文件DS:DX=ASCIZ串地址AL=访问文件和共享方式0=读,1=写,2=读/写成功:AX=文件代号失败:AX=错误代码3E关闭文件BX=文件代号失败:AX=错误代码3F读文件或设备DS:DX=缓冲区首地址BX=文件代号CX=读取的字节数成功:AX=实际读取的字节数AX=0已到文件尾失败:AX=错误代码40写文件或设备DS:DX=缓冲区首地址BX=文件代号CX=写入的字节数成功:AX=实际写入的字节数失败:AX=错误代码2.3数据结构程序采用静态链表的方式来存储学生成绩信息,链表结点描述如下:StructNodeequ32;表达式赋值微操作equ{Node_nameequ0;类似defineNode_numequ12Node_mathsequ18Node_englishequ20Node_chineseequ22Node_othersequ24Node_totalequ26Node_avgequ28Node_nextequ30max_recordequ100max_menu_indexequ9}说明:结点大小为32字节,其中name占20字节,剩下的六个字段,每一个都是一个字,占两个字节。2.4模块说明该程序一共分为七大模块:分别完成数据的录入,打印录入的学生记录信息,存档,文件读取数据,查找同时进行修改(包括名字和各科成绩的修改,如果不需要修改,则按原来的相应输入),删除记录以及退出。各模块分别介绍如下:2.4.1数据的了录入数据的录入项目包括学生的学号、姓名,各科成绩(分别为数学、英语、语文、综合4科成绩)。数据录入后,程序自动计算出每位学生的平均成绩和总成绩。(1)姓名的输入方式首先利用09号系统调用,将字符串输入到内存缓冲区,然后用字符串传送指令将缓冲区中的字符串传送到记录结点。程序自动在输入的字符串后加上美元符号“$”,目的是方便使用系统调用将其输出。(2)成绩的输入方式为了方便输入,首先利用09号系统调用,让用户以10进制的形式输入成绩到内存缓冲区,然后调用子程序将字符串转换成二进制数值,并保存到记录中相应的字段里。2.4.2打印以及记录的学生信息打印出学生的信息包括学生的学号、姓名,各科成绩(分别为数学、英语、语文、综合4科成绩),以及总分和平均分。2.4.3数据存档文件格式采用二进制格式,即直接将内存中的数据复制到文件中而不经过任何转换。文件开头的两个字节表示文件中记录的总数,之后的每32个字节存储一条记录。文件的结构如下图所示:记录总数:2个字节记录1:20个字节记录2:20个字节……记录n:20个字节2.4.4从文件中读取数据由于该程序生成的文件为二进制格式,因此读取过程十分简单,是写入过程的逆过程:首先读取文件开头的两个字节,便知道了文件中记录的总数,然后循环读取之后的每一条记录。2.4.5查找并修改学生记录信息通过输入要查找学生的学号,并接着输入要修改学号为多少,因为一般情况下不会修改学生的姓名,所以接着并没有提示学生姓名的修改,直接提示各科成绩的修改,程序然后自动算出该生的总分和平均分。2.4.6删除已经记录学生的信息通过学号找到欲删除的学生记录,输入学号,成功删除该学生的成绩记录信息3.详细的算法描述添加记录:4源程序与执行结果(含测试方法和测试结果)程序共一个可执行文件,可以在DOS系统或者直接在Windows下运行,程序运行后在屏幕上显示主菜单,如下图所示:继续输入?依次输入各字段的值分配一个新结点返回图1.主菜单选择相应的菜单项可使用对应的功能,以下为各个功能模块的详细说明:4.1数据的录入在主菜单下选择“1”,进入记录输入模块,按照提示输入各字段的值,如下图所示:图2.输入数据4.2数据和显示在主菜单下选择“2”,进入记录输出模块。下图为添加了5条记录后打印的效果:图3.打印全部记录4.3数据存档在主菜单下选择“3”,将当前在内中的全部记录保存到文件中(c:\student.txt),如下图所示:图4.保存文件图5.C盘中保存的文件4.4从文件中读取在主菜单下选择“4”,将当前在内中的全部记录保存到文件中(c:\student.txt),如下图所示:图6:从文件中读取4.5查询并修改同学记录信息在主菜单下选择5,按相应提示输入正确信息,将学号为3的同学改为学号为5,并对其的成绩做修改,如下图所示:图7.查询修改图8.修改后学生成绩4.6删除记录在主菜单下选择6,输入学号2,将学号为2的学生成绩记录删去,如下图所示:图9.删除后的学生成绩记录5.使用说明程序的使用方法可参见上一节中介绍的测试方法,在此不再重复。5.1自我评价与总结通过为期一周的令人兴奋的课程设计实践活动,感觉很有收获。在此之前,大多数时候都在用高级语言编写程序,已经习惯了高级语言的方便灵活的语法形式。一下子突然转为用汇编语言进行程序设计,总是要经过一个很不习惯的适应过程。不过,这些是很有必要的。通过使用汇编语言,可以让我们更好地理解程序设计的本质和原理。对以后的学习和工作都带好很多好处。而且,这门语言也有它自己特点——高效。在特定场合,高级语言无法完成的任务,还是得靠它。这次在编写和调式汇编程序过程中体会最深的就是,没有好的工具,汇编程序的调式工作太困难了!这次使用的是微软的masm5.0编译工具,是DOS底下的编译工具,这倒还可以,但是没有其它可视化的调式工具,只能利用DOS底下的debug命令进行调式。程序稍微长一点的时候,调试起来就不是那么方便了,主要问题是在debug中虽然可以反汇编,但是反汇编后的源程序与自己写的不太一样了(符号常量和标号都变成了数字地址),不方便辨认当前调式程序对应于源代码中的哪一行。通过列表文件中的地址与源代码对应关系可以确认,只是不方便。5.2本次课程设计的缺点和不足(1)程序中不足的地方是:成绩都是用整数表示的,没有实现浮点运算;(2)查询和修改结合到一个功能上去了,使用起来不是较方便;(3)查询只能通过学号查询,没有实现学号或者通过姓名查询的选择;(4)打印所有已经录入学生的记录时界面不够完美,有待改正;(5)主菜单界面设计不够人性化,不够简单明了,缺少美观6.参考教材[1]沈美明、温冬婵等编著,IBM-PC汇编语言程序设计(第2版)。清华大出版社。2001年12月[2]《IBM—PC汇编语言程序设计实验教程》实验2.4[3]《IBM—PC汇编语言程序设计(第2版)》例6.117.附源程序;==学生成绩管理系统==;*******************************************************************************;EQUSTATEMENTSGOHEREStr
本文标题:课设学生成绩管理系统
链接地址:https://www.777doc.com/doc-5129951 .html