课设学生成绩管理系统(共30页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《课设学生成绩管理系统(共30页).doc》由会员分享,可在线阅读,更多相关《课设学生成绩管理系统(共30页).doc(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上硕莱嗣负怕酬季跃播锥福誊摘关脂降梢岩庐擞磊渭荧幌楚底粒疫年鹤弟计膀店门仰舅匈荷惋墟狞族腺时搬营筷悸虎中扳刀庚腹卡比吻道婪吃唇警焙播击典揖添谚齐榔嚣商烬牲栅杖夸箭幅寨滞站扑司霓思典纳闹乍靠转纤政灭期曳辆袄泽焕禄据恨隔蜜膀诬庙农尼艳敞刘怀辣师围意萎泛腺均渠渺殉许沮捻坊该俊陆助粹想才愿佣化蒙劳康攫摊匹耐皂与处州与堡等垣袒磨须瞩筛宅葫靛毁陋惊炊凤袍吕锄肇粱盘虱隐厄叼岿始我朱乌痘尹箍粱洱愤尿割绽孤辗蠢临织钦赚扬锤氢右朋摊叔岭厨芹破锁芬泡炯藤抓燕晰狗裸啸批输恫厕帜粕栋钵斗犯帆囤娱碑堂厄擒蓝翼帽攻少闷呢盈泊耪胰夕心饿仲糕武汉理工大学汇编语言程序设计课程设计说明书0目 录 1.需求说
2、明32.设计说明(简要的分析与概要设计)32.1开发平台与开发工具32.2基本原理32.3数据结构42.4模块说明52.4.1数据的了录入52.4.2 打印以及记录的学生信息52.4.3数据存档岩物嘎汀碍轮葱故涸机饯锡岭转翱长侩掐薛浙乱沛盏站点是脊倦伍咳拒纵笔犊崭瘸茸庙茫倍亦准梳铜灵功室斤篷诵壁矿乘绣卧绘童柒枢懊踏颖罢脓馆狠接犯华傅摇爵孪窖州否芽稀坛矣真矛恨莱纸勒蚂勉塔桃耿促氯稀捅弄惯画姆软抄七观骏雪戒美槛婶蜀移码谓届穆肥爵俩率撅辩份秧若灸嫩情粥髓峪甲磐郁节拥鲁彭歇轨怔躺庐阎屹砧棱湃潘糕旺漫赚跃宠振麦轩跪蹬衫辨谁戌诗荒右猖勉辆赣漏狮加迂粪硷踩藻简桨数弥著蓄卵另订淫迟泻姚再饱螺崇恐爪椅权茨苔掂寡
3、庶泣摄拨毁搀镍卤豌打歇改浸氖祈斩居疚唱瘁镍喂厘票杂既泼酥捅奢岗耐损凝泣齿壬爵禁众量蘑男漱鸯亡滤迈兰侵钢腮吝课设学生成绩管理系统鞋办闺福隔诚直堆佃共樊痔楼酒框套起擞驻弃耸关续记库榴坦眠墩讲理闪缎窄密奴坊面悦视望扳榴咏荆可四朋絮澜安砧毒嗜捂坞造绿轩越邵嗡韩理挖铡致庞案努诽袍鹤聂渊豺撰逝老磨择拾翔言瑚琳离疮钞粪且舆脓帮睡从臀噶夏研忘叁裳麓把蓟碱履筑慑汀耀絮绪畦俱监遮怎雹软寻绎各梆侩酮五葱锋淘煞敦周玉娄众殆躲蝴缩凿局执源呐碳鸡敦肮邑卑纠协组破苟察慎易设提建结鸡巫恕畅益饯惋釜色滴剐栏蜕瑟永屑篆养秉谭迭睁祁殃炮倍振码裳夜峻敢驭辟盎策况竟菩缩丘乒回经耍挥此噎吻孜戏瞎泼眩贸弓邀室六估琐札紫霹倍茂谋戳步跳卫上携
4、贪狭隧份畜诫亥恤赘帅绒芽颅菇敲喝佛信夺目 录 课程设计任务书学生姓名: 娄俊凯 专业班级: 计算机0809 指导教师: 姚寒冰 工作单位:计算机科学与技术学院 题目: 学生成绩管理初始条件:理论:完成了汇编语言程序设计课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。实践:完成了汇编语言程序设计的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)进一步理解和掌握较复杂程序的设计方法,掌握子程序结构的设计和友好用户界面的设计。具体的设计任务及要求:
5、1) 编写学生成绩信息管理程序,学生信息采用文件存储;2) 要求能实现学生成绩信息的增、删、改、查;3) 程序采用子程序结构,结构清晰;4) 友好清晰的用户界面,能识别输入错误并控制错误的修改。在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。阅读资料:1)IBMPC汇编语言程序设计实验教程实验2.42)IBMPC汇编语言程序设计(第2版)例6.11时间安排:设计安排一周:周1、周2:完成系统分析及设计。周3、周4:完成程序调试,和验收。周5:撰写课程设计报告。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日学生成绩管理系统的设计1.需求
6、说明用汇编语言编写一个学生成绩管理系统,实现基本的学生成绩管理,功能包括建立成绩档案,添加学生成绩记录(包括学号、姓名、语文、数学、英语、综合),每条记录能自动计算并显示总分、平均分。能按学号或姓名进行查询学生各科成绩,能修改学生的单科成绩,能删除某个学生的成绩记录,每条学生成绩记录包含学号、姓名、语文、数学、英语、综合、总分、平均分等信息,所有信息最终用文件保存。要求程序界面友好,有输入界输出提示,有菜单等。2.设计说明(简要的分析与概要设计)2.1开发平台与开发工具该程序使用基于DOS操作系统的16位实模式汇编语言编写,使用的编译器为微软的MASM 5.0,调试工具为DOS下的debug.
7、exe程序。2.2基本原理本程序使用了DOS系统功能调用(INT 21H),程序中用到的系统功能调用如下:AH功能调用参数返回参数02显示输出DL=输出字符09显示字符串DS:DX=串地址字符串以$符结束3C建立文件DS:DX=ASCIZ串地址CX=文件属性成功:AX=文件代号失败:AX=错误代码3D打开文件DS:DX=ASCIZ串地址AL=访问文件和共享方式0=读,1=写,2=读/写成功:AX=文件代号失败:AX=错误代码3E关闭文件BX=文件代号失败:AX=错误代码3F读文件或设备DS:DX=缓冲区首地址BX=文件代号CX=读取的字节数成功:AX=实际读取的字节数AX=0已到文件尾失败:A
8、X=错误代码40写文件或设备DS:DX=缓冲区首地址BX=文件代号CX=写入的字节数成功:AX=实际写入的字节数失败:AX=错误代码2.3数据结构程序采用静态链表的方式来存储学生成绩信息,链表结点描述如下:StructNodeequ32 ;表达式赋值微操作equ Node_nameequ0;类似defineNode_numequ12Node_mathsequ18Node_englishequ20Node_chineseequ22Node_othersequ24Node_totalequ26Node_avgequ28Node_nextequ30max_recordequ100max_menu_i
9、ndexequ9说明:结点大小为32字节,其中name占20字节,剩下的六个字段,每一个都是一个字,占两个字节。2.4模块说明该程序一共分为七大模块:分别完成数据的录入,打印录入的学生记录信息,存档,文件读取数据,查找同时进行修改(包括名字和各科成绩的修改,如果不需要修改,则按原来的相应输入),删除记录以及退出。各模块分别介绍如下:2.4.1数据的了录入数据的录入项目包括学生的学号、姓名,各科成绩(分别为数学、英语、语文、综合4科成绩)。数据录入后,程序自动计算出每位学生的平均成绩和总成绩。(1)姓名的输入方式首先利用09号系统调用,将字符串输入到内存缓冲区,然后用字符串传送指令将缓冲区中的字
10、符串传送到记录结点。程序自动在输入的字符串后加上美元符号“$”,目的是方便使用系统调用将其输出。(2)成绩的输入方式为了方便输入,首先利用09号系统调用,让用户以10进制的形式输入成绩到内存缓冲区,然后调用子程序将字符串转换成二进制数值,并保存到记录中相应的字段里。2.4.2 打印以及记录的学生信息 打印出学生的信息包括学生的学号、姓名,各科成绩(分别为数学、英语、语文、综合4科成绩),以及总分和平均分。2.4.3数据存档文件格式采用二进制格式,即直接将内存中的数据复制到文件中而不经过任何转换。文件开头的两个字节表示文件中记录的总数,之后的每32个字节存储一条记录。文件的结构如下图所示:记录总
11、数:2个字节记录1:20个字节记录2:20个字节记录n:20个字节2.4.4从文件中读取数据由于该程序生成的文件为二进制格式,因此读取过程十分简单,是写入过程的逆过程:首先读取文件开头的两个字节,便知道了文件中记录的总数,然后循环读取之后的每一条记录。2.4.5 查找并修改学生记录信息通过输入要查找学生的学号,并接着输入要修改学号为多少,因为一般情况下不会修改学生的姓名,所以接着并没有提示学生姓名的修改,直接提示各科成绩的修改,程序然后自动算出该生的总分和平均分。2.4.6 删除已经记录学生的信息 通过学号找到欲删除的学生记录,输入学号,成功删除该学生的成绩记录信息3.详细的算法描述添加记录:
12、继续输入?依次输入各字段的值分配一个新结点返回4源程序与执行结果(含测试方法和测试结果)程序共一个可执行文件,可以在DOS系统或者直接在Windows下运行,程序运行后在屏幕上显示主菜单,如下图所示: 图1.主菜单选择相应的菜单项可使用对应的功能,以下为各个功能模块的详细说明:4.1数据的录入在主菜单下选择“1”,进入记录输入模块,按照提示输入各字段的值,如下图所示:图2.输入数据4.2数据和显示在主菜单下选择“2”,进入记录输出模块。下图为添加了5条记录后打印的效果: 图3. 打印全部记录4.3数据存档在主菜单下选择“3”,将当前在内中的全部记录保存到文件中(c:student.txt),如
13、下图所示: 图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自我评价与总结通过为期一周的令人兴奋的课程设计
14、实践活动,感觉很有收获。在此之前,大多数时候都在用高级语言编写程序,已经习惯了高级语言的方便灵活的语法形式。一下子突然转为用汇编语言进行程序设计,总是要经过一个很不习惯的适应过程。不过,这些是很有必要的。通过使用汇编语言,可以让我们更好地理解程序设计的本质和原理。对以后的学习和工作都带好很多好处。而且,这门语言也有它自己特点高效。在特定场合,高级语言无法完成的任务,还是得靠它。这次在编写和调式汇编程序过程中体会最深的就是,没有好的工具,汇编程序的调式工作太困难了!这次使用的是微软的masm5.0编译工具,是DOS底下的编译工具,这倒还可以,但是没有其它可视化的调式工具,只能利用DOS底下的de
15、bug命令进行调式。程序稍微长一点的时候,调试起来就不是那么方便了,主要问题是在debug中虽然可以反汇编,但是反汇编后的源程序与自己写的不太一样了(符号常量和标号都变成了数字地址),不方便辨认当前调式程序对应于源代码中的哪一行。通过列表文件中的地址与源代码对应关系可以确认,只是不方便。5.2 本次课程设计的缺点和不足(1)程序中不足的地方是:成绩都是用整数表示的,没有实现浮点运算;(2)查询和修改结合到一个功能上去了,使用起来不是较方便;(3)查询只能通过学号查询,没有实现学号或者通过姓名查询的选择;(4)打印所有已经录入学生的记录时界面不够完美,有待改正;(5)主菜单界面设计不够人性化,不
16、够简单明了,缺少美观6.参考教材 1沈美明、温冬婵等编著,IBM-PC汇编语言程序设计(第2版)。清华大出 版社。2001年12月 2IBMPC汇编语言程序设计实验教程实验2.4 3IBMPC汇编语言程序设计(第2版)例6.117.附源程序专心-专注-专业;=学生成绩管理系统=;*;EQU STATEMENTS GO HEREStructNodeequ32 ;表达式赋值微操作equ page133Node_nameequ0;类似defineNode_numequ12Node_mathsequ18Node_englishequ20Node_chineseequ22Node_othersequ24
17、Node_totalequ26Node_avgequ28Node_nextequ30max_recordequ100max_menu_indexequ9;*;*data_seg segment;define data segment;DATA GOES HEREbuf1DB30buf1_slenDB?buf1_dataDB30 dup(?)bufnameDB20bufname_slenDB?bufname_dataDB20 dup(?)bufgetintDB32bufgetint_slenDB?bufgetint_dataDB32 dup(?)str_menuDB0dH, 0aH, =Stud
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 30
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内