课程设计任务书
学生姓名: 专业班级: 计算机科学与技术
指导教师: 工作单位:计算机科学与技术学院
题目: 电话号码本编辑和查程序的设计与实现
初始条件:
理论:完成了《汇编语言程序设计》课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。
实践:完成了《汇编语言程序设计》的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
进一步理解和掌握较复杂程序的设计方法,掌握子程序结构的设计和友好用户界面的设计。具体的设计任务及要求:
1)建立一个可存放50项的电话号码表,每项包括人名及电话号码两部分;
2)程序可接受输入人名及相应的电话号码,并将他们加入电话号码表中;
3)凡有新的输入后,程序应按人名对电话号码表重新排序;
4)程序可接受需要查电话号码的人名,并从电话号码表中查出其电话号码,并显示出来。
5)程序采用子程序结构,结构清晰;
6)友好清晰的用户界面,能识别输入错误并控制错误的修改。
在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。
阅读资料:
1)《IBM—PC汇编语言程序设计实验教程》实验2.4
2)《IBM—PC汇编语言程序设计(第2版)》例6.11
时间安排:
设计安排一周:周1、周2:完成系统分析及设计。
周3、周4:完成程序调试,和验收。
周5:撰写课程设计报告。
指导教师签名: 2010年 1 月 14 日
系主任(或责任教师)签名: 2010年 1 月 14 日
1.设计内容及要求
1.1设计题目
电话号码本编辑和查程序的设计与实现
1.2设计要求
1.2.1建立一个可存放50项的电话号码表,每项包括人名及电话号码两部分;
1.2.2程序可接受输入人名及相应的电话号码,并将他们加入电话号码表中;
1.2.3凡有新的输入后,程序应按人名对电话号码表重新排序;
1.2.4程序可接受需要查电话号码的人名,并从电话号码表中查出其电话号码,并显示出来。
1.2.5程序采用子程序结构,结构清晰;
2.友好清晰的用户界面。
程序运行主界面
3.设计中使用的关键技术和方法
3.1设计中使用的关键技术
3.1.1硬件支持
我的程序中用到的数据结构是数组,数组的存储是在内存中,所以要用到硬件支持,我的数组在内存中的表示为
Null |
汇编语言指导书 Null |
.省略18个单元 |
.省略4个空字符 |
.省略7个单元 |
Null |
3.1.2 DOS系统功能调用(INT 21H)
由于在程序中需要大量的输入数据和输出记录所以要用到21中断,我所用到的中断总结如下:
AH | 功能 | 调用参数 | 返回参数 |
01 | 键盘输入并回显 | AL=输入字符 | |
02 | 显示输出 | DL=输出字符 | |
09 | 显示字符串 | DS:DX=串地址 | |
0A | 键盘输入到缓冲区 | DS:DX=缓冲区首地址 (DS:DX)=缓冲区最大字符串 | (DS:DX+1)=实际输入的字符数 |
4C | 带返回码终止 | AL=返回码 | |
3.2设计中使用的方法
记录的输入:由于每条记录是以字符串的形式输入的,所以在每次输入时采用将记录输入
到缓冲区然后输入到数组中的方式
记录存储的数据结构:OUTLINE DB 50 DUP(33 DUP(20H))表示最多有50条记录,用空字符初始化,每条记录的长度为33,前20个单元用来存储姓名,组后8个单元用来存储电话号码,中间有5个空格,。
输入的检查:每次输入一条记录时都要检查,采用每个字符一一的检测,姓名检测是否为字母,电话号码检测是否为数字
记录的排序:在打印时,要进行一次排序,排序我采用的是冒泡排序
菜单的跳转:每个操作之前都有一次提示选择,根据输入的操作序号运用跳转指令进行跳转。
4.设计方案说明
4.1选择程序的设计(流程图)
4.2姓名输入程序的设计(流程图)
4.3电话号码输入程序的设计(流程图)
4.4搜索程序的设计(流程图)
5.5排序程序的设计(流程图)
5.测试及评估
5.1选择程序的测试
5.1.1测试方法
选择程序是用来作为程序的菜单的程序,可选项有4个,一是输入,二是打印,三是搜索,四是退出,分别用四个数字1、2、3、4来表示,这个地方的测试主要是测试输入的选项是否是数字和输入的数字是否在1、2、3、4的范围之内,所以在运行的时候输入错误的选项时程序要报错。
5.1.2测试结果
测试选择子程序时输入5,由于5超出了操作可选范围所以应该报错。
程序报错,结果正确。
测试选择子程序时输入d,由于d不是数字所以程序应该报错。
程序报错,结果正确。
测试选择子程序时输入1,程序应该进入输入子程序。
程序进入输入子程序,结果正确。
5.2姓名输入程序的测试
5.2.1测试方法
姓名输入的测试包含两个部分,一个是输入记录时,另一个是搜索记录时,一般来说姓名应该是由字母组成的,也有的名字里带个别数字,为统一期间,采用全部是字母的方式,在输入姓名的时候在名字里夹杂一些数字,在错误输入的情况下程序应该报错。
5.2.2测试结果
在测试输入姓名子程序时输入he12,由于姓名中夹杂了数字程序应该报错。
程序报错,结果正确。
在测试输入姓名子程序时输入heruibin,输入正确程序应该进入电话号码输入子程序。
程序进入电话号码输入子程序,结果正确。
在测试搜索子程序的姓名输入时输入he12,程序应该报错
程序报错,结果正确。
5.3电话号码输入程序的测试
5.3.1测试方法
电话号码的测试,就是对输入的字符是否为数字的判断,一般电话号码都是由数字组成的,在测试的时候可以输入别的字符来测试。
5.3.2测试结果
在测试电话号码输入子程序时输入he123456,由于在号码里夹杂了字母,所以程序应该报错。
程序报错,结果正确。
在测试电话号码输入子程序时输入12345678,输入正确程序应该进入选择子程序。
程序进入选择子程序,结果正确。
5.4搜索程序的测试
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论