1、1、问题描述 本次课程设计本组选择了生活中最常用的通讯录系统, 随着科学时代的发展 本组们的手机或者说智能手机更是进入家家户户成为本组们不可取代的一部分。 如下图,本组的手机的界面: 根据看到手机这个界面, 本组就想如果可以自己编写一个通讯录系统也是很 好的。于是本组便选择了这个题目,其他的组员也同意了本组想法。本个系统的 问题是要求设计一款通讯录,要求可以实现插入、删除、修改、查询等功能。但 是由于受到了手机分组的提,本组便多加入一个分组存储的功能。这样更加具体 更加方便管理查找联系人。 2、程序分析和设计(流程图、功能设计、界面设计等) 首先,想要设计一款通讯录,本组们要确定他所富含的所有
2、功能,再者是它 的操作界面。当然,流程图也是逻辑思路不能缺少的一部分,这样才能使本组们 有更加系统的逻辑思维。方便本组们编写各个部分的程序。 第一部分是介绍本组们界面设计,这一部分不止才用了一个界面,本组才用 了一级界面,二级界面、三级界面。这一点上,本组主要是参考了很多软件都有 界面变化。但是由于这一块本组也不是很熟悉,所以本组有参考一些相关书籍比 如数据结构(c 语言版) 。借助于现有书籍的程序代码,本组设计了界面。 /*-一级主菜单-*/ void menu() int i; int num1;/定义num1 printf(“t#通讯录#n“);/界面 printf(“n“); prin
3、tf(“n“); printf(“t*亲人:添加(1)t 删除(2)t 排序(3)t 修改(4)t 显示(5)t 查询(6)tn*朋 友:添加(7)t 删除(8)t 排序(9)t 修改(10)t 显示(11)t 查询(12)tn*同学添加(13)t 删 除(14)t 排序(15)t 修改(16)t 显示(17)t 查询(18)tn*同事:添加(19)t 删除(20)t 排 序(21)t 修改(22)t 显示(23)t 查询(24)t*n“);/菜单 printf(“n“); printf(“很高兴能为你服务,请输入你的选择(1_24): “); scanf(“%d“,/输入数字 for (i = 1; i next=NULL; /* 销毁线性表 */ 查询已有联系人 姓 名 查 询 手 机 号 码 查 询 电 话 号 码 查 询 void DestroyList(Address * while (q!=NULL) free(p); p=q; q=p-next; free(p); /* 向单链表中插入信息可以模拟成向通信录中添加联系人 及其详细信息的功能。 *