C语言通讯录系统课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通讯录系统的设计与实现桂林电子科技大学电信三班傅得耕
3.1系统的需求分析
通讯录系统作为一个应用软件将为人民提供一个可以串联人与人之间的信息的一个平台。根据系统界面的提示信息对通讯录进行查询、初始化等操作。
系统功能需求分析描述如下:
(1)创建联系人。
(2)显示所有联系人:显示可以进行的操作。
(3)删除联系人。
(4)查询:根据姓名进行查询,并可显示所有关于该人的信息。
(5) :退出。
3.2系统的设计
3.2.1 系统的总体设计
下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。
(1)总体思想
本系统主要设计思想是实现通讯录系统信息的创建联系人、删除、查找等主要功能。系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解联系人的情况。
(2)系统模块结构图
根据需求分析结果,通讯录系统可以分为五大模块:创建联系人模块、显示功能模块、查找联系人功能模块、删除联系人模
块以及退出模块。
㈡查询人物信息
进入此菜单功能模块,输入您要查询的图书的名字。
图书查询模块流程如图:
3.3
创建
删除系统
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("*");
}
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("地址:");
scanf("%s", &p1->address);
printf("邮编:");
scanf("%s", &p1->postcode);
printf("电话:");
scanf("%s", &p1->phonenum);
p2->next = p1;
p1->next = NULL;
}
n += 1;
}
void show()