当前位置:首页 > 数据结构课程设计报告 城市链表 学生通讯录管理系统
数据结构课程设计报告
(8)searchName( LinkList L,int n) //按姓名查找通讯录记录 (9)int searchNum( LinkList L,int n) // 按学号查找查找通讯录记录
(10) void main( ) //主函数。设定界面的颜色和大小,调用链表操作模块 3.函数主要调用关系图
本系统10个子程序之间的主要调用关系如图2-5所示。图中数字是各函数的编号。 图2-5 系统函数调用关系图如下所示:
四、详细设计 1.数据类型定义
本系统采用链式结构存储通讯录结点。结点定义如下: typedef struct LNode {
int number; double telenum; char name[20]; struct LNode *next;
}LNode,*Linklist;
2.系统主要子程序详细设计
(1)建立链表的函数,主要用来建立通讯录。 Linklist createIncreLink()
{//创建一个存放通讯录成员的非递减有序表,返回头结点地址
Linklist L=(Linklist)malloc(LEN); L->next=NULL;
5
数据结构课程设计报告
Linklist p; int num=1,number; double telenum; char name[20];
printf(\请输入学生学号、姓名和电话号码,建立通讯录,以'-1'为输入结束标志\\n\
printf(\请输入学号 %d: \
scanf(\
printf(\请输入姓名 %d: \
char temp=getchar();
gets(name);
printf(\请输入电话号码 %d: \scanf(\while(number>=0) {
p=(Linklist)malloc(LEN); p->number=number;
p->telenum=telenum;
strcpy(p->name,name); insertYouXu(L,P); num++;
printf(\请输入学号 %d: \
scanf(\
printf(\请输入姓名 %d: \
temp=getchar(); gets(name);
printf(\请输入电话号码 %d: \ }
(2)显示链表中所有结点的信息,用查看通讯录所有的记录。
6
scanf(\} return(L);
数据结构课程设计报告
void printList(LinkList L) { //打印头结点地址为L的通讯录 }
五、测试分析
系统运行主界面如图2-3所示。各子功能测试运行结果如下。 1. 通讯录的建立
在主菜单下,用户输入1并回车,然后按照提示建立通讯录,分别输入通讯录成员的学号,姓名,电话号码,运行结果如图2-6所示。
printf(\printf(\ printf(\
----------------\\n\
姓名
电话号码\\n\
学号
----------------\\n\
LinkList p=L; int n=1;
if(L==NULL || L->next==NULL) printf (\该通讯录中没有元素\\n\ //判断通讯录是否为空 else
while(p->next !=NULL) { }
printf(\ --------------------\\n\return ;
printf(\
- %-9d\
printf(\%-5s %.0f\\n\p=p->next; n++;
7
数据结构课程设计报告
图2-6通讯录的建立 2. 插入通讯录记录
在主菜单下,用户输入2并回车,可以插入一个新的通讯录成员的信息,依次输入学号,姓名和电话号码,运行结果如图2-7所示。
图2-7 插入通讯录 3 .查询通讯录记录
在主菜单下,用户输入3并回车,可以按照两种方式查询通讯录。一种是按学号查询,另一种方式是按姓名查询。可按照提示操作,运行结果如图2-8所示。
8
共分享92篇相关文档