- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学生成绩管理系统
实验题目
设计学生成绩管理程序(3门课程),实现以下功能:
1.各科成绩的录入、修改和删除(10个学生,每人3门成绩,分别按学生存放。即学生编号*,语文成绩*,语文成绩名次,数学成绩*,数学成绩名次,英语成绩*,英语成绩名次,后面的三个单元存放该生总成绩、名次、平均成绩)带*号的为录入值
2.排序:
单科课程成绩排序(分数从高到低):结果放到每门成绩之后的名次单元中
总成绩排序(分数从高到低):结果放到每个学生后面的名次单元中
3查找:
查询某位同学某课程成绩及名次;总成绩及名次.
查询单科课程不及格同学名单
4.统计:
单科平均分
总成绩平均分
单科各分数段人数(60以下,60~70,70~80,80~90,90~100)
设计思路
数据定义。
每个学生记录由学生编号,语文成绩,语文成绩名次,数学成绩,数学成绩名次,英语成绩,英语成绩名次,总成绩、名次、平均成绩组成。
其它数据,单科平均成绩,总成绩平均分,单科各分数段人数。
学生编号=0 {数字字符串} 5
成绩=0 {数字字符串} 3
名次=1 {数字字符串} 2
分数段人数=5 { 数字字符串}5
索引表元素=无符号双字节数
所有成绩数据,语文成绩、数字成绩、英语成绩、总成绩、平均成绩,均采用上述成绩的定义;所有名次数据,均采用上述名次定义。
数据存储。
所有数据存储于文件中。每条学生记录占用70个字节,实际有效字节为24字节,记录最后两个字节是回车换行符,其余字节为空字符,学生记录从第0个字节开始存储。第1000个字节开始用以存储索引表。单科平均成绩,总成绩平均分,单科各分数段人数存储在所有学生记录之后的单元中。成绩数据,占用三个字节,排名数据占用两个字节,学号数据占用五个字节,各科分数段人数占用五个字节,有效字节不足时,在其后补上空字符,即0,如,成绩100存储为31H,30H,30H;90存为39H,30H,00H。
系统结构
系统分为四部分:插入记录、删除记录、数据处理和查询。结构图如下:
插入模块,包括建立成绩表、插入一条学生记录两个子模块。插入一条学生记录子模块,搜索可用单元,接收输入的记录,并写入文件。建立成绩表子模块,控制输入界面,并多次调用插入记录子模块,完成成绩的建立。
删除模块,包括学号查询匹配、删除处理子模块。学号设计为定长,长度为2字节,搜索以完全匹配的方式进行。删除处理,完成对索引表的修改。
数据处理模块,包括计算个人总分、平均分,计算单科平均分,成绩排名处理,统计各科分数段人数子模块,各子模块完成相应的功能,并把结果写入文件。
查询模块,完成数据的显示功能,包括查询某个学生个人记录,查询不及格名单,查询各科分数段人数及输出所有记录
算法设计。
所有数据在文件中的修改以覆盖的方式进行,因此将为每个数据分配固定长度的存储空间。根据以上数据的定义,数据写入文件前必须“规格化”,使其符合定义。从键盘输入学号、成绩数据到缓冲区,最后一个字符是0DH,且长度不等,需去掉回车符,补上空字符。
总分、平均分的计算。从文件中读出数据,需先转换成二进制数再进行计算,结果必须转换成符合格式的字符串写入文件。从字符串到数字的转换算法流程图如下:
STR表示从文件读出的符合格式的字符串。
第一个循环用以算出有效数字位数,作为第二个循环的循环次数。
第二个循环,AX作累加器,循环体是“乘10、加上数字”,循环结束算出其值
从数字转换成字符串,算法程序图:
程序采用索引表的方式,完成记录的删除、插入与查询;由于不要求学号有序,因而可以采用索引表,对记录和文件空间进行管理。其优点是管理较为简单,可以进行随机访问,能够满足插入删除的需求;缺点是难以实现学号有序。
索引表设计如下:记录最大容量设计为MAX, 链表长度为2*MAX+2个字节,即MAX+1个字长。最后一个字存放尾指针目前学生记录数目;空闲的位置值为0,否则为1.
学生的记录从第0个字节的位置开始存放,每70个字节为一条记录。程序初始化时,将索引表读取到缓冲区INDEX; 索引位置表LP与相应文件空间的指针FP换算方式是:
FP= (LP/2) * 70
例如,WORD PTR [INDEX+4] 值为1, 它所表示文件中开始指针值为140,长度为70字节的空间已经使用,即已经存有记录;否则表示空间可用。
遍历索引表,搜索全部记录:
从索引表第一个字开始,顺序扫描索引表。找到非0,将索引表位置LP转换成文件指针FP,读取数据,直到遇到0结束。转换成文件指针的宏定义是:
LOCATE MACRO BXREG
PUSH AX
PUSH BX
MOV AX,BXREG
MOV BX,2
您可能关注的文档
- 高中区域地理等高线.ppt
- 古代诗文阅读全国卷.pptx
- 光城域网技术.doc
- 焊接钢管的技术交底.pptx
- 杭州共识肝硬化患者胃食管静脉曲张出血预防和处理1.ppt
- 河北省唐山市开平区届九级下学期第二次模拟考试理科综合物理试题(图片版).doc
- 河北省-专接本机械设计基础真题及答案.doc
- 河北中基地产足球公园活动策划.ppt
- 湖南大学最美校园.docx
- 护士礼仪培训(较全面).ppt
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
文档评论(0)