资源描述:
《班级通信录管理系统汇编课程设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、班级通信录管理系统1需求说明1.1实验要求1.1.1建立通讯录,添加一个同学的通信记录,删除一个同学的通信记录,修改一个同学的通信记录,查询一个同学的通信记录,显示所有同学的通信记录,能根据姓名或宿舍号进行排序。1.1.2通信记录包括学号、姓名、电话号码、宿舍号等信息,所有信息最终用文件保存。1.2功能简述1.2.1建立通信录运行程序后,程序自动建立固有的通讯录。1.2.2添加通信记录进入“添加"界面,根据提示,依次添加同学的通信记录条目。添加成功,后显示操作成功信息。1.2.3删除通信记录进入“删除"界面,依据姓名删除信息。输入姓名
2、后,显示该同学的所有信息,并显示操作成功。删除后,返回主菜单。1.2.4查询通信记录进入“查询"界面,询问用户按姓名或学号查找学生记录。待用户正确输入已存有的用户姓名或学号后,按回车键后显示所有匹配该信息的学生记录。若输入信息错误或是无该用户没记录,则显示操作错误。1.2.5显示所有通信记录进入“显示"界面,将通讯录中所有同学的通讯记录分行显示出来,每行中同学的不同信息间隔表示。1.2.6根据姓名进行排序排序时,显示排序子菜单,按照姓名中字母的升序对记录进行排序。1.2.7保存通讯记录将填写好的同学通讯记录写入到固定文件中。1.2.8
3、退出班级通信录管理系统选择该功能选项后,退出班级通信录管理系统,关闭文件,返回DOS。2设计说明2.1程序流程图设计入口主界面选择功能SelectInsertModifyDeleteWriteShowEsc退出系统显示所有记录写入文件删除界面查询界面添加界面修改界面Back结束2.2各功能之间的关系2.2.1用户输入信息在选择Insert选项后,进入adder子程序,需要用户依次输入姓名、学号、宿舍号、电话号码,输入信息分别存入manelist、studlist、dormlist、telelist数组中。2.2.2搜索同学记录建立se
4、lectbyname和selectbystud子程序,在select子程序中灵活调用,利用相关信息搜索与关键字匹配的同学记录。同时,可以把搜索这个功能提取出来,实现代码的共享。其中,搜索按关键字的类型不同可分为按姓名搜索和按学号搜索。2.2.3关键字的匹配selectbyname和selectbystud子程序中都需要进行关键字匹配和比较,故把比较关键字的大小提取出来在strCmp子程序中实现,方便进行搜索和排序。2.3文档的处理在用户进入班级通信录管理系统时,若要将输入的信息用文件保存,用户可选择Writetofile选项,将缓冲区
5、和文档中的所有记录显示出来。用户退出后,关闭文件。3详细的算法设计3.1主程序的设计start:movax,datamovds,axmoves,axcallcshdatamenu1:callclearcalldisplaytitlemovah,01hint21hcmpal,'1'jzselcmpal,'2'jzaddecmpal,'3'jzmodicmpal,'4'jzdelcmpal,'5'jzdiscmpal,'7'jzwrtcmpal,'8'jzout1jmpmenu1sel:callclearcallselectjmpback
6、adde:callclearcalladderjmpbackmodi:callclearcallmodifyjmpbackdel:callclearcalldeletejmpbackdis:callclearcalldisdatajmpbackwrt:callclearcallwriteback:leadx,backstr;返回主菜单提示语“Pleaseenter6tobacemainmenu!”movah,09hint21hmovah,01hint21heasi,choicemov[si],alcmpal,'6'jzmenu1;输入
7、6,返回主菜单callclearjmpbackout1:movah,4chint21hmainendp;主函数结束codeendsendstart3.2学生记录的数据结构namelistdb20dup(20dup(0))studlistdb20dup(20dup(0))dormlistdb20dup(20dup(0))telelistdb20dup(20dup(0))newnamedb20dup(0)newstuddb20dup(0)newdormdb20dup(0)newteledb20dup(0)cntdb1dup(0)cntse
8、lectdb1dup(0)choicedb1dup(0)enterdb0dh,0ah,'$'blankdb'$'disnamedb'Name:$'disstuddb'Stud:$'disdormdb'Dorm:$'dis