学生成绩管理程序.docx

上传人:b****6 文档编号:7007532 上传时间:2023-01-16 格式:DOCX 页数:31 大小:351.75KB
下载 相关 举报
学生成绩管理程序.docx_第1页
第1页 / 共31页
学生成绩管理程序.docx_第2页
第2页 / 共31页
学生成绩管理程序.docx_第3页
第3页 / 共31页
学生成绩管理程序.docx_第4页
第4页 / 共31页
学生成绩管理程序.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

学生成绩管理程序.docx

《学生成绩管理程序.docx》由会员分享,可在线阅读,更多相关《学生成绩管理程序.docx(31页珍藏版)》请在冰豆网上搜索。

学生成绩管理程序.docx

学生成绩管理程序

软件学院

微机原理课程设计说明书

学生成绩管理程序

 

作者:

苟鹏

学号:

******

专业:

软件技术

班级:

软件(3)班

指导教师:

***

答辩时间:

2012年7月2日

 

学生成绩管理程序

 

学号:

*****410

姓名:

苟鹏

 

摘要

本系统主要完成对学生成绩的管理,包括添加、修改、删除,等三个方面。

系统可以完成对各类信息的浏览添加、删除、修改等功能。

系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统会自动地完成学生成绩的修改。

查询功能也是系统的核心之一,在系统中主要根据学生姓名和学号进行查询,其目的都是为了方便用户使用。

 

前言

随着计算机科学技术的进步和发展,微型计算机的应用已经渗透到各个领域。

微型计算机原理是学习和使用微型计算机的必备基础,是设计和开发各类微机应用系统的关键。

信息在社会和经济的发展中所起的作用越来越为人们所重视。

信息资源的开发和利用,已成为衡量一个国家综合国力的重要标志之一。

在计算机的三大主要领域(科学计算、数据处理与过程控制)中,数据处理的比重约占70%左右。

在计算机高速发展的今天,它已经应用到了各个行业,当然,学校也不例外。

以前学校对学生的成绩是用人管理,而作为计算机应用的一部分,使用计算机对学生成绩进行信息管理,有着手工管理所无法比拟的优点,如:

查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学校对学生成绩管理的效率。

因此,开发一套学生成绩管理程序是有必要的。

 

 

一、微型计算机原理及应用课程设计内容

汇编语言是微型计算机原理及应用的基础,微机主机和接口所要实现的功能都要通过汇编语言来实现。

尽管汇编语言程序设计编程效率低,但其运行效率高、速度快。

因此掌握汇编语言是学好微机原理和接口设计的第一步。

设计一个学生成绩管理程序,实现以下功能:

1)各科成绩的录入、修改和删除;

2)按姓名查询每个学生各门课的成绩;

3)显示查询结果;

4)统计各分数段的人数;

5)打印学生成绩。

二、微型计算机原理及应用课程设计目的

1、学习用汇编实现数据的录入、修改和删除操作;

三、微型计算机原理及应用课程设计的要求

1、学习如何利用汇编语言进行数据处理;

2、查阅文献资料,一般在5篇以上;

3、完成算法设计和程序设计、调试;

4、撰写课程设计说明书;

5、做好答辩工作。

四、微型计算机原理及应用课程设计思路

整个程序采用主程序调用子程序的方法。

主程序完成菜单的显示,子程序完成一个独立功能的方法实现。

五、微型计算机原理及应用课程设计说明

5.1、操作说明

1、该程序除了源程序外,还需要有另外一个文件(在此程序中,该文件的文件名为score.txt),文件内容是通过编译一个专用生成文件的程序得到的。

程序运行与该文件的存放位置有关,即程序数据段中fname的值(“fnamedb”E:

\score.txt”””)应与文件score.txt的存放位置相一致。

如在本程序中,需将该文件放在E:

\下,或者是根据score.txt的存放位置改变程序数据段中fname的值。

2、程序运行是,在出现的主菜单中,按1键后,将浏览学生的各科成绩;按i键后,将执行插入功能,可以插入新的学生成绩;按m键后,将输入需要修改的学生成绩,也包括不修改的科目;按d键输入要删除的学生的名字,将使其成绩全部变为0;按q键输入要查询的学生的姓名,将显示其各科成绩;按c键将显示按数学成绩分段的结果。

5.2、设计流程图

(a)List流程图

 

(b)Inser流程图

 

(C)Query流程图

 

(d)Modify流程图

 

(e)Count流程图

 

(f)主程序流程图

六、程序运行调试与结果

完整界面截图:

图1

图2

图3

图4

图5

七、设计体会与小结

通过这次的《微机原理与接口技术》课程设计,使我又学习了很多知识,而且是课堂上不容易学到的知识。

俗话说,“实践出真知”,课堂上学习到的理论知识,如果不转化为实践的话,始终都将是一纸空文,没什么大的价值。

而这次的课设,则给了我把理论转化为实践的机会,使我获益匪浅。

汇编语言与硬件联系比较紧密,通过对汇编程序设计的深刻理解,也在某种程度上帮助我对硬件的驱动与设计有了不少的认识,而且也渐渐能把软件与硬件的结合起来。

《微机原理与接口技术》是一门实用性很高,它不仅涉及到计算机的底层高效语言设计,还跟硬件有着紧密的联系。

而且微型计算机从诞生至今已有30余年,其应用已涉及各个领域。

与此同时,微机原理与接口技术也得到了飞速发展。

掌握微机原理与接口技术是对计算机及自动控制等专业人才的基本要求。

在以后的学习与工作中,我都将不断完善我在这方面的能力。

八、参考文献

[1]宋杰,汪志宏,江敏,微机原理与接口技术课程设计,机械工业出版社,2005.4

[2]周明德,微型计算机系统原理及应用习题集、习题解答与实验指导,清华大学出版社,2005.7

[3]张开成,微型计算机原理,西南师范大学出版社,2006.8

[4]沈美明,温冬婵,IBM-PC汇编语言程序设计第2版,清华大学出版社,2006.5

[5]戴梅萼,史嘉权,微型机原理与技术-习题、实验和综合训练题集,清华大学出版社,2009.4

致谢

感谢指导老师对我们的帮助和引导,指导老师对我们在程序调试过程中出现的问题提出来许多宝贵的更改方案和意见,给我们的编程带来了许多有益的帮助,并且从中我们学到了许多的知识,指导老师带给我们的帮助是我们的程序能够顺利的运行也使我们的程序更人性化、实用化、可靠化。

感谢学校提供良好的环境让我们编程。

感谢同学们的帮助和支持。

源代码

datasegment

mess1db'studentgrademanagementsystem',0ah,0dh,'$'

mess2db'thisismainmenu',0ah,0dh,'$'

mess3db'insert(i)pleaseinput:

',0ah,0dh,'$'

mess4db'modify(m)name:

',0ah,0dh,'$'

mess5db'delete(d)maths:

',0ah,0dh,'$'

mess6db'query(q)english:

',0ah,0dh,'$'

mess7db'count(c)chinese:

',0ah,0dh,'$'

mess8db'exit(e)',0ah,0dh,'$'

mess9db'**********************************************************$'

mess10db'nameMaEnCoCh',0ah,0dh,'$'

mess12db'list(l)',0ah,0dh,'$'

mess11db'maths<60<70<80<90<100',0ah,0dh,'$'

err1db'thereisnotthisstudent$'

err2db'fileclosewrong$'

fnamedb"e:

\score.txt"

buffer1db23dup(?

buffeerdb0ah,0dh,'$'

buffer2db30dup(?

buffer3db8dup('0')

countdb5

handledw?

deldb8dup('0')

xdb?

dataends

scorestruc

namesdb15dup('')

mathsdb0,0

englishdb0,0

computerdb0,0

chinesedb0,0

scoreends

showmacroaddrs

leadx,addrs

movah,9

int21h

endm

set_p1macroa

movah,2

movdh,a

movdl,36

movbh,0

int10h

endm

set_p2macro

movah,2

movdh,12

movdl,2

movbh,0

int10h

endm

set_p3macro

movah,2

movdh,1

movdl,30

movbh,0

int10h

endm

clearmacro;allscreen

moval,0

movcl,0

movch,0

movdh,24

movdl,79

movbh,7

movah,6

int21h

endm

clear1macro;lefescreen

moval,0

movbh,7

movch,4

movcl,36

movdh,10

movdl,79

movah,6

int10h

endm

clear2macro;downscreen

moval,0

movbh,7

movch,12

movcl,0

movdh,24

movdl,79

int10h

endm

newlinemacro

pushax

pushdx

movdl,0dh

movah,2

int21h

movdl,0ah

movah,2

int21h

popdx

popax

endm

show_itemmacroaddrs

localiloop,w10

pushbx

pushcx

movbx,0

iloop:

movdl,addrs[bx];displaychar

movah,2

int21h

incbx

cmpbx,15

jliloop

movcx,4

w10:

movdl,''

movah,2

int21h

movdl,''

movah,2

int21h

movdl,''

movah,2

int21h

movdl,addrs[bx]

movah,2

int21h

incbx

movdl,addrs[bx]

movah,2

int21h

incbx

loopw10

newline

popcx

popbx

endm

getinmacroaddrs,count2

localzeroit,lp,input_end,exit

pushbx

pushax

movbx,0

zeroit:

movaddrs[bx],''

incbx

cmpbx,15

jlzeroit

movbx,0

lp:

movah,1

int21h

cmpal,0ah

jzinput_end

cmpal,0dh

jzinput_end

movaddrs[bx],al

incbx

cmpbx,count2

jllp

input_end:

cmpal,0dh

jzexit

cmpal,0ah

jzexit

movah,7

int21h

jmpinput_end

exit:

popax

popbx

endm

codesegment

mainprocfar

assumecs:

code,ds:

data,es:

data

start:

movax,data

movds,ax

movah,0

moval,3

int10h

clear

showmess1

showmess2

showmess12

showmess3

showmess4

showmess5

showmess6

showmess7

showmess8

newline

showmess9

set_p3

w:

movah,7

int21h

cmpal,'i'

jnzn1

callinsert

jmpw

n1:

cmpal,'m'

jnzn2

callmodify

jmpw

n2:

cmpal,'d'

jnzn3

calldelete

jmpw

n3:

cmpal,'q'

jnzn4

callquery

jmpw

n4:

cmpal,'c'

jnzn5

callcot

jmpw

n5:

cmpal,'p'

jnzn6

callprint

jmpw

n6:

cmpal,'l'

jnzn7

calllist

jmpw

n7:

cmpal,'e'

jzexitf

jmpw

exitf:

movah,4ch

int21h

ret

mainendp

insertprocnear

pushax

pushbx

pushcx

pushdx

movdx,offsetfname

moval,2

movah,3dh

int21h

movbx,ax

clear1

set_p14

callget_rec

movcx,0;movefilepointertoend

movdx,0

moval,2

movah,42h

int21h

movcx,23;writefile

movdx,offsetbuffer1

movah,40h

int21h

movah,3eh

int21h

set_p3

popdx

popcx

popbx

popax

ret

insertendp

get_recprocnear

pushax

pushbx

getinbuffer2,15

movbx,0

movcx,15

continue:

moval,buffer2[bx]

movbuffer1[bx],al

incbx

loopcontinue

set_p15

getinbuffer2,2

moval,buffer2

movbuffer1[bx],al

incbx

moval,buffer2+1

movbuffer1[bx],al

incbx

set_p16

getinbuffer2,2

moval,buffer2

movbuffer1[bx],al

incbx

moval,buffer2+1

movbuffer1[bx],al

incbx

set_p17

getinbuffer2,2

moval,buffer2

movbuffer1[bx],al

incbx

moval,buffer2+1

movbuffer1[bx],al

incbx

set_p18

getinbuffer2,2

moval,buffer2

movbuffer1[bx],al

incbx

moval,buffer2+1

movbuffer1[bx],al

incbx

popbx

popax

ret

get_recendp

openfprocnear

movdx,offsetfname

moval,02

movah,3dh

int21h

movhandle,ax

ret

openfendp

queryprocnear

pushax

pushbx

pushcx

pushdx

clear1

clear2

movdx,offsetfname

moval,2

movah,3dh

int21h

movbx,ax

set_p2

getinbuffer1,15

leadx,mess10

movah,9

int21h

b:

movah,3fh

movcx,23

movdx,offsetbuffer2

int21h

leasi,buffer2

leadi,buffer1

movcx,15

c:

moval,byteptr[si]

cmpal,byteptr[di]

jnzb

incsi

incdi

loopc

mov[buffer2+23],'$'

show_itembuffer2

movah,3eh

int21h

popdx

popcx

popbx

popax

ret

queryendp

modifyprocnear

pushax

pushbx

pushcx

pushdx

clear1

set_p14

movdx,offsetfname

moval,2

movah,3dh

int21h

movbx,ax

movhandle,ax

callget_rec;contactisinbuffer1

read:

movdx,offsetbuffer2

movcx,23

movah,3fh

int21h

leasi,buffer2

leadi,buffer1

movcx,15

c5:

movdl,byteptr[si]

cmpdl,byteptr[di]

jnzread

incsi

incdi

loopc5

movbx,handle

movah,42h

moval,1

movcx,0ffffh

movdx,-23

int21h

movcx,23

movdx,offsetbuffer1

movah,40h

int21h

movah,3eh

int21h

jmpexit2

exit1:

set_p2

showerr1

exit2:

set_p3

popdx

popcx

popbx

popax

ret

modifyendp

deleteprocnear

pushax

pushbx

pushcx

pushdx

clear1

set_p14

movdx,offsetfname

moval,2

movah,3dh

int21h

movbx,ax

movhandle,ax

getinbuffer1,15;contactisinbuffer1

read5:

movdx,offsetbuffer2

movcx,23

movah,3fh

int21h

leasi,buffer2

leadi,buffer1

movcx,15

c6:

movdl,byteptr[si]

cmpdl,byteptr[di]

jnzread5

incsi

incdi

loopc6

movbx,handle

movah,42h

moval,1

movcx,0ffffh

movdx,-8

int21h

movcx,8

movdx,offsetdel

movah,40h

int21h

movah,3eh

int21h

jmpexit6

exit5:

set_p2

showerr1

exit6:

set_p3

popdx

popcx

popbx

popax

ret

deleteendp

listprocnear

pushax

pushbx

pushcx

pushdx

clear1

clear2

set_p2

showmess10

movdx,offsetfname

moval,2

movah,3dh

int21h

movbx,ax

again:

movdx,offsetbuffer1

movcx,23

movah,3fh

int21h

cmpax,0

jzp

show_itembuffer1

jmpagain

p:

movah,3eh

int21h

set_p3

popdx

popcx

popbx

popax

ret

listendp

printprocnear

pushax

callopenf

movcl,count

movch,0

read2:

movdx,offsetbuffer1

movcx,typescore

movah,3fh

int21h

movcx,23h

movbx,0

next:

movah,5

movdl,byteptrbuffer1[bx]

int21h

incbx

loopnext

movah,5

movdl,0dh

int21h

decx

cmpx,0

jnzread2

movbx,handle

movah,3eh

int21h

popax

ret

printendp

cotproc

pushax

clear2

set_p2

showmess11

movdx,offsetfname

movah,3dh

int21h

movbx,ax

movhandle,ax

read0:

movdx,offsetbuffer2

movcx,23

movah,3fh

int21h

movdl,[buffer2+15]

cmpdl,'6'

jlfive

cmpdl,'7'

jlsix

cmpdl,'8'

jlseven

cmpdl,'9'

jleight

inc[buffer3+4]

jmpquit

eight:

inc[buffer3+3]

jmpquit

seven:

inc[buf

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1