学生通信录管理系统文档格式.docx
- 文档编号:13112304
- 上传时间:2022-10-05
- 格式:DOCX
- 页数:11
- 大小:16.26KB
学生通信录管理系统文档格式.docx
《学生通信录管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《学生通信录管理系统文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
3.2程序子程序及功能设计 4
3.3函数主要调用关系图 4
四.详细设计 4
4.1数据类型定义 4
4.2系统主要子程序详细设计 4
五.测试分析 6
六.源程序清单7
七.用户手册7
八.实验心得7
一、实验要求
纸制的通讯录已经不能满足人们的日常要求了,容易缺失,查
找困难等问题是纸制通讯录所不能克服的缺点。
“学生通讯录光缆系
统”是为了帮助老师同学或者其他一些需要使用通讯录的人员进行管理和分析的一种应用程序。
1.2、需求分析
1.输入数据建立通讯录。
2.查询通讯录中满足要求的信息。
3.插入新的通讯录信息。
4.删除不需要的通讯录信息。
5.查看所有的通讯录信息。
二、设计概要
2.1、 主界面的设计
为了实现学生通讯录的管理系统各功能的管理,设计一个含
有多个菜单的主控才担子程序以连接系统的各鸽子程序功能,
为方便用户使用本系统。
本程序的运行界面应该能让用户一目了然。
2.2、 存储结构的设计
本系统主要采用链表结构类型来表示存储在“学生通讯录管
理系统”中的信息。
其中包括链表的4个分量构成:
通讯录成
员学号/通讯录成员姓名/通讯录成员的电话号码/指向该结构体
的指针。
此外本系统还设置了一个全局的变量seat,表示通讯录中的成员序号。
2.3、系统的功能设计
本系统设置的5个子功能菜单,5个子功能的设计描述如下
1)建立通讯录系统。
可以一次输入多个成员的通讯录信息,建立通讯录,该功能的实现由creatIncreLink()函数实现。
2)插入通讯录记录。
每次可用插入一个成员的通讯录信息,如果要连续插入多个成员的信息必须选择多次选择该功能(局限性,可以进行改进)。
该功能由函数insretYouXu()函数实现。
3)查询通讯录记录。
两种方式来进行查询成员记录,一是按照学号查询,二是按照学生的姓名查询。
分别由searchNum()和searchName()函数实现
4)删除通讯录的信息,可以按照序号进行删除,按照学号进行删除,按照姓名进项删除。
分别是deleteElem()函数,delNum()函数和delName()函数实现。
5)显示通讯录的记录,可以查看所有通讯录中的记录。
该功能由printList()函数实现。
三、模块设计
3.1、模块设计
本程序主要包括两个模块:
主程序模块和链表操作模块。
3.2、程序子程序及其功能设计
本系统一共包括10个子程序,各程序的函数名和功能说明如下
(1)LinkListCreatIncreLink() //链表的创建
(2)deleteElem(LinkListL,inti) //从通讯录中按序号删除第i个元素
(3)delName(LinkListL,charn[]) //按姓名删除通
讯录记录
(4)delNum(LinkListL,intn) //按学号删除通讯录记录
(5)voidinsertYouXu(LinkListL,LinkListElem) //插入一条通讯录
(6)printList(LinkListL)为L的通讯录
(7)prior(LinkListL,LinkListp)
地址的前一个元素的地址
(8)searchName(LinkListL,charn[])讯录信息
(9)intsearchNum(LinkListL,intn)讯录
(10)voidmain()
//打印指针地址
//查找位于当前
//按姓名查找通
//按学号查找通
//主函数
函数的主要调用关系图:
四、详细设计
4.1、 数据类型的定义
本系统采用的链式结构存储通讯录结点。
结点定义如下:
TypdefstructLNode
{
intnumber;
doubletelemnum;
charname[20];
structLNode*next;
}LNode,*LinkList;
4.2、 系统主要程序详细设计
(1)建立链表的函数,主要用来建立通讯录。
LinkListcreatIncreLink()
{//创建一个存放通讯录成员的非递减有序表,返回头结点的地址
LinkListL=(LinkList)malloc(LEN);
L->
next=NULL;
LinkListp;
Intnum=1,number;
doubletelenum;
printf(“请输入学生学号、姓名和电话,建立通讯录,以‘-1’为结
束标志\n”);
printf(“请输入学生的学号%d:
”,num);
scanf(“%d”,&
number);
printf(“请输入姓名%d:
chartemp=getcahr();
gets(name);
printf(“请输入电话号码%d:
”,num);
scanf(“%1f”,&
telenum);
while(number>
=0)
P=(LinkList)malloc(LEN);
p->
number=number;
telenum=telenum;
strcpy(p->
name,name);
insertYouXu(L,P);
nmu++;
printf(“请输入学号%d:
”,num);
temp=gerchar();
gets(anme);
printf(“请输入电话号码%d:
elemnum);
}
return(L);
(2)显示链表中所有结点的信息,用于查看通讯录中的所有记录。
voidprintList(LinkListL)
{//打印头结点地址为L的通讯录
printf(“\n \n”);
printf(“ 学号姓名 电话号码\n”);
printf(“ \n);
linkListp=L;
intn=1;
if(L==NULL||L->
next==NULL)printf(“该通讯录中没有元素\n”);
//判断通讯录是否为空
else
printf(“ %2d%-9d”,n,p->
next->
printf(“%-5s%.0f\n”,p->
p=p->
next;
n++;
printf(“ \n”);
return;
五、测试分析
5.1、 通讯录的建立
在主菜单下,用户输入1并回车,然后按照提示建立通讯录,
分别输入通讯录成员的学号、姓名、电话号码,运行结果如下:
5.2、 插入通讯记录
在主菜单下,用户输入2并回车,可以插入一个新的通讯录成员信
息,依次输入学号、姓名和学号,运行结果如下图所示:
5.3、 查询通讯录
在主菜单下,用户输入3并按回车,可以按照两种方式开查询通讯录。
一种是按照学号查询,一种是按照姓名查询,可按照提示
操作,运行结果如下图所示:
5.4、 删除通讯记录
在主菜单下,用户输入4并回车,进行通讯记录的删除。
可以按
照三种方式删除信息,分别是:
序列号、学号和学生姓名。
运行结
果如下图所示:
5.5、 显示通讯录信息
在主菜单下,用户输入5并回车,可以查看通讯录中所有成员的
通讯信息,运行结果如下图所示:
六、 源程序清单
七、 用户手册
1)本程序执行文件为“学生通讯管理系统.exe”。
2)进入本系统后,随即显示系统主菜单界面。
用户可以在该界面输入各子菜单前对应的数字并按回车键,执行相应的子菜单命令。
3)本系统没有提供直接修改通信录的功能,可以通过删除和插入来
完成修改的内容。
、
八、 试验心得
该试验主要的知识点是线性表的顺序存储以及链式存储的考察,其中线性表的主要内容极为突出,改试验用于删除、插入等功能的
实现都是通过线性表的链式存储来完成的,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 通信 管理 系统