通讯录系统的设计与实现桂林电子科技大学 电信
通讯录系统的设计与实现桂林电子科技大学 电信
三班傅得耕
3.1 系统的需求分析 通讯录系统作为一个应用软件将为人民提供一个可以串联人与 人之间的信息的一个平台。根据系统界面的提示信息对通讯录进 行查询、初始化等操作。
系统功能需求分析描述如下 :
(1)创建联系人。
(2)显示所有联系人:显示可以进行的操作。
(3)删除联系人。
(4)查询: 根据姓名进行查询, 并可显示所有关于该人的信息。
(5) : 退出。
3.2 系统的设计
3.2.1 系统的总体设计 下面从系统的整体流程的功能模块、系统界面及数据结构进 行总体设计。
(1) 总体思想 本系统主要设计思想是实现通讯录系统信息的创建联系人、 删除、查找等主要功能。系统的设计方法是结构化实际方法,系 统用C语言进行开发用户可以清晰的了解联系人的情况。
(2)系统模块结构图 根据需求分析结果,通讯录系统可以分为五大模块 : 创建联 系人模块、显示功能模块、查找联系人功能模块、删除联系人模
块以及退出模块。
系统模块结构如图
㈡查询人物信息
进入此菜单功能模块,输入您要查询的图书的名字。
图书查询模块流程如图:
查询
查询系统
删除系统
3.4 源代码
#include #include #include
#define LEN sizeof(struct people) struct people
{
char name[10];
char address[50];
char postcode[7];
char phonenum[12]; struct people * next;
};
int n = 0, c;
static struct people * head; void insert();
void show();
void delete(char *);
void query(char *);
int main(int argc, char const *argv[])
{
struct people * peo;
char nam[10];
int i, choose = 0;
for (i = 0; i < 60; ++i)
{
printf("*");
1
printf("\n\t\t\t\t
通讯录 \n");
printf("\t\t\t1.
创建联系人 \n");
printf("\t\t\t2.
显示所有联系人 \n");
printf("\t\t\t3.
删除联系人 \n");
printf("\t\t\t4.
查找联系人 \n");
printf("\t\t\t5.
退出 \n\n");
for (i = 0; i < 60; ++i)
{
{
printf("*");
}
do
{
printf("\t\t\t 请选择功能 (1~5):\n"); printf("\n");
scanf("%d", &choose);
switch (choose)
{
case 1: insert(); break;
case 2: show(); break;
case 3: printf("\n 请输入要删除联系人的姓名 :");
scanf("%s", nam);
delete(nam);
break;
case 4:
printf("\n 请输入要查询联系人的姓名 :");
scanf("%s", nam);
query(nam);
break;
case 5:
exit(0);
break;
}
} while (1);
return 0;
}
void insert()
struct people * p1, *p2;
{
{
p1 = (struct people *)malloc(LEN); if (n == 0)
{
printf(" 姓名 :"); scanf("%s", &p1->name);
printf(" 地址 :"); scanf("%s", &p1->address);
printf(" 邮编 :"); scanf("%s", &p1->postcode);
printf(" 电话 :");
scanf("%s", &p1->phonenum); head = p1;
p1->next = NULL;
}
else {
p1 = head;
while (p1->next != NULL)
p1 = p1->next;
p2 = p1;
p1 = (struct people *)malloc(LEN); printf(" 姓名: ");
scanf("%s", &p1->name);
printf(" 地址: