1、1 班级通信录管理系统班级通信录管理系统 1 1 需求说明需求说明 1.11.1 实验要求实验要求 1.1.1建立通讯录,添加一个同学的通信记录,删除一个同学的通信记录,修改一个同学 的通信记录,查询一个同学的通信记录,显示所有同学的通信记录,能根据姓名或宿舍号 进行排序。 1.1.2通信记录包括学号、姓名、电话号码、宿舍号等信息,所有信息最终用文件保存。 1.21.2 功能简述功能简述 1.2.1 1.2.1 建立通信录建立通信录 运行程序后,程序自动建立固有的通讯录。 1.2.21.2.2 添加通信记录添加通信记录 进入“添加“界面,根据提示,依次添加同学的通信记录条目。添加成功,后显示操
2、作 成功信息。 1.2.31.2.3 删除通信记录删除通信记录 进入“删除“界面,依据姓名删除信息。输入姓名后,显示该同学的所有信息,并显示 操作成功。删除后,返回主菜单。 1.2.41.2.4 查询通信记录查询通信记录 进入“查询“界面,询问用户按姓名或学号查找学生记录。待用户正确输入已存有的 用户姓名或学号后,按回车键后显示所有匹配该信息的学生记录。若输入信息错误或是无 该用户没记录,则显示操作错误。 1.2.51.2.5 显示所有通信记录显示所有通信记录 进入“显示“界面,将通讯录中所有同学的通讯记录分行显示出来,每行中同学的不同 信息间隔表示。 1.2.61.2.6 根据姓名进行排序根
3、据姓名进行排序 排序时,显示排序子菜单,按照姓名中字母的升序对记录进行排序。 2 1.2.71.2.7 保存通讯记录保存通讯记录 将填写好的同学通讯记录写入到固定文件中。 1.2.81.2.8 退出班级通信录管理系统退出班级通信录管理系统 选择该功能选项后,退出班级通信录管理系统,关闭文件,返回 DOS。 2 2 设计说明设计说明 2.1 2.1 程序流程图设计程序流程图设计 Select Insert Modify Delete Write Show Esc Back 入口 主界面 选择功能 查 询 界 面 添 加 界 面 修 改 界 面 删 除 界 面 写 入 文 件 显 示 所 有 记
4、录 退 出 系 统 结束 3 2.22.2 各功能之间的关系各功能之间的关系 2.2.12.2.1 用户输入信息用户输入信息 在选择 Insert 选项后,进入 adder 子程序,需要用户依次输入姓名、学号、宿舍号、 电话号码,输入信息分别存入 manelist、studlist、dormlist、telelist 数组中。 2.2.22.2.2 搜索同学记录搜索同学记录 建立 selectbyname 和 selectbystud 子程序,在 select 子程序中灵活调用,利用相关信息 搜索与关键字匹配的同学记录。同时,可以把搜索这个功能提取出来,实现代码的共享。 其中,搜索按关键字的类
5、型不同可分为按姓名搜索和按学号搜索。 2.2.32.2.3 关键字的匹配关键字的匹配 selectbyname 和 selectbystud 子程序中都需要进行关键字匹配和比较,故把比较关键字 的大小提取出来在 strCmp 子程序中实现,方便进行搜索和排序。 2.32.3 文档的处理文档的处理 在用户进入班级通信录管理系统时, 若要将输入的信息用文件保存, 用户可选择 Write to file 选项,将缓冲区和文档中的所有记录显示出来。用户退出后,关闭文件。 3 3 详细的算法设计详细的算法设计 3.13.1 主程序的设计主程序的设计 start: mov ax,data mov ds,a
6、x mov es,ax call cshdata menu1: call clear call displaytitle mov ah,01h int 21h cmp al,1 jz sel cmp al,2 jz adde cmp al,3 jz modi cmp al,4 jz del cmp al,5 jz dis 4 cmp al,7 jz wrt cmp al,8 jz out1 jmp menu1 sel: call clear call select jmp back adde: call clear call adder jmp back modi: call clear call modify jmp back del: call clear call delete jmp back dis: call clear call disdata jmp back wrt: call clear call write back: lea dx,ba