(档案管理)人事档案文件管理课程设计

上传人:管****问 文档编号:128315263 上传时间:2020-04-20 格式:DOC 页数:28 大小:216.50KB
返回 下载 相关 举报
(档案管理)人事档案文件管理课程设计_第1页
第1页 / 共28页
(档案管理)人事档案文件管理课程设计_第2页
第2页 / 共28页
(档案管理)人事档案文件管理课程设计_第3页
第3页 / 共28页
(档案管理)人事档案文件管理课程设计_第4页
第4页 / 共28页
(档案管理)人事档案文件管理课程设计_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《(档案管理)人事档案文件管理课程设计》由会员分享,可在线阅读,更多相关《(档案管理)人事档案文件管理课程设计(28页珍藏版)》请在金锄头文库上搜索。

1、 汇编语言程序设计课程设计 题目:人事档案文件管理 2013-11-26一 设计目的汇编语言课程设计是对所学课程内容全面、系统的总结、巩固和提高的一项课程实践活动。根据汇编语言的特点,选择相应的题目,在老师的指导下,由学生独立完成。课程设计要求同学们熟悉汇编语言的编程,BIOS中断调用、系统功能调用、磁盘数据的查询、存取、图形颜色的显示与调整等相关知识。通过课程设计,一方面提高运用汇编语言编程解决实际问题的能力,另一方面使同学们更深入的了解计算机系统内部的有关知识,为以后的学习和系统开发奠定良好的基础。二设计内容在文档中创建一个person.txt的文本文件,它包含id号、姓名、年龄、性别、电

2、话、通信地址等六项内容,先编写一项如下图界面的功能:实现如下功能:(1) i命令,实现数据输入,在末尾添加(2) f命令,实现数据查找,按名字进行查找(3) d命令,实现数据的删除,按名字进行查找删除。(4) o命令,实现数据的排序,按名字进行排序(5) l命令,实现数据的显示,(6) q命令,实现退出,并将数据重新写入三程序设计原理 (1)本次实验是模块化程序设计思想,通过一个主程序,调用其他模块的子程序, :文件打开,如果能打开文件便读取其中的内容,否则的话,便创建文件,接着执行以后的代码。 :宏的定义:实验中做了一个显示字符串的宏,方便以后显示各种字符串 :背景颜色的实现:通过调用int

3、 10h的功能,实现s草绿色的背景 :插入程序:通过查寻是否存在当前输入的id,如果不存在,则继续输入,如果存在则停止输入。输入的时候计算输入的字节,不足的用空格补充,并将输入的内容保存到内存里,当关闭文件时,保存到文件里,同时设置指针指向数据段的末尾。程序的框图如下: cmp al,I jnz error call inputY/N输入id输入 输入id进行检查,调用check函数,设置flag=bp,初始值设置bp=0,如果存在bp=0,否则bp=1; CheckY调用storid保存到stu中,BP=0?NY保存到数据段Y调用inputname输入名字调用inputsex输入性别输入年龄

4、调用inputold调用inputaddress输入地址调用inputphone,如果输入结束,通过回车键进入主页面。输入电话Ret结束 :显示程序,首先判断文件中是不是有内容,通过设置是一个全局count记录文件的个数,如果记录为零,则退出,返回主菜单,否则每次从内存中取60个字节。 到另一个缓存显示,用count计数,显示一次,count-; :查找模块 :首先提示用户输入想要查找的名字,调整指针,然后用字符串cmpsw比较名字,直到最后一个名字为止,若找到则显示,不存在,则提示; 程序框图:名字查找 关键代码:lea si,stu add si,10 ;指向记录第一个人的姓名 mov b

5、x,sinase10: lea di,_name ;存放待查人的姓名地址 mov cx,5 repe cmpsw 输入要查找的名字si-数据段第一个名字 di=输入的名字bp=0名字比较 Si移到下一个名字 找到名字Y si=指向学生信息头 N 输出学生信息Count-1 COUNT=0? N RET结束 Y:删除程序:通过名字进行查找,如果不存在就报错,如果存在多条记录进行提示,选择删除那条记录:Bp作为一个标志:BpBp1;有一条记录Bp3;有多调记录程序框图:名字删除rep movswRET结束sub stu1,60 sub count1,1Si=di下一个di=delbpdi=delb

6、x删除第bx个记录Bx=bx*2BP3?Bp1?查找名字相同的记录 N Y N YSiendaddr si=endaddr N Y :排序程序:若只有一条记录或者没有直接跳出,否则按照Ascii码排序,排序用冒泡排序算法:程序框图: endaddr-倒数第二个名字si-第一个名字swapped=0这里采用冒泡算法,从第一个数开始对相邻的两个数进行比较,如果次序不对,进行交换。从图中可以看出,为了提高效率,设置了一个标志位,每次进入外循环,就将标志位值零,在内循环每做一次交换,就将该标志位值1,在每次内循环结束后,可测试标志位是否是0,如果是0.则结束排序,否则在进行一次外循环。这种算法效率较高

7、一些。di-si的下一个名字Ax=di bx=si repe cmpsb Si=di? Ydisi NSwapped=1Si=ax Si=endaddrSwapped=0?N N Y结束ret :退出程序:打开文件,把数据段的内容读入文件,否则创建文件,同是根据count,写入最后一条记录,在末尾 ,关闭文件。四程序分工苏林东:模块的整合与颜色的调配,还有文件的建立与相关模块的制作吴威:输入模块和删除模块的制作,关闭文件的制作。曹锦峰:查询模块和排序模块的制作。五源程序及运行结果:(1)源程序: data segment HH DB 0,0,: MM DB 0,0,: SS1 DB 0,0 m

8、ess1 db id:,$ mess2 db name:,$ mess3 db old:,$ mess4 db sex:,$ mess5 db address:,$ mess6 db phone number:,$ mess7 db enter error!,0dh,0ah,$ mess8 db id,8 dup( ),name,5 dup( ),old ,sex , address ,5 dup( ),telphone,13,10,$ mess9 db student information in the table is:,13,10,$ mess10 db please enter th

9、e name:,13,10,$ mess11 db 13,10,OK,you are quit,welcome the next!,$ mess13 db sorry,create file is not success!,13,10,$ mess14 db No Records!,13,10,$ mess15 db sorry,the input is not found!,13,10,$ mess16 db Do you want to delete this messae(y/n)?,13,10,$ mess17 db please choose which one do you wan

10、t to delete(1,2.):,$ mess18 db Delete success!,13,10,$ mess19 db sorry,the id is same ,please input again!,13,10,$ mess20 db please press to paste next page,13,10,$ mess21 db Very good,the sort is sucessful!,13,10,$idpar label bytemaxilen db 10actilen db ?id db 10 dup(?) ;学号namepar label byte maxnlen db 10 actnlen db ? _name db 10 dup(?) ;姓名 oldpar label byte maxolen db 3 actolen db ? old db 3 dup(?) ;年龄sexpar label byte maxslen db 5 actslen db ? sex db

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号