C语言课设--电话簿管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高级语言课程设计任务书及说明书
设计题目电话簿管理系统
学院计算机与通信学院
专业、年级通信工程1班
学生杨智刚
学号 ____ **********_ 指导教师
时间 2015 年春季学期
目录
1 摘要 (3)
2 前言 (4)
3 正文 (5)
3.1系统分析
3.2系统总体设计
3.3详细设计
3.4系统测试
4 参考文献 (16)
5 总结 (17)
附录: 程序源代码
本次课程设计采用C语言,开发了一个基本的电话簿管理系统,该系统具备了按联系人姓名查找并输出联系人信息,按联系人姓名查找并删除数据,输出全部联系人信息数据,对联系人的管理也可以更加方便快捷。
关键词:C语言;课程设计;电话簿管理系统
随着交际能力的广泛性的提高,朋友的数量逐渐增多,但是在联系人管理方面总是出现联系人姓名、年龄等出现错误的诸多问题。本文针对上述问题,采用软件工程的开发原理,根据软件流程过程规范,按照需求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个电话簿管理系统。采用c语言作为开发工具,设计了这个电话簿管理系统,解决了联系人信息管理中存在的数据安全性、数据一致性等问题。
3.1 系统分析
3.3.1.设计要求
该设计要求以方便查找和管理联系人为背景,设计、开发一套“电话簿管理系统”软件。
通过该题目的设计过程,可以培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,针对c语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。得到软件工程的综合训练,提高解决实际问题的能力。
3.3.2设计任务
1、以电话簿管理业务为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型;
2、完成软件结构设计和算法设计;
3、完成系统的软件开发和测试工作
联系人信息包括:姓名,年龄,性别,电话等。设计“电话簿管理系统”,使之能提供以下功能:
1.系统以菜单方式工作;
2.联系人信息录入功能;
3.联系人信息浏览功能;
4.查询功能:按姓名查询;
5.联系人信息的删除与修改。
3.2 系统总体设计
一.流程图
二.总体数据结构
本系统采用结构体为主要数据结构,将联系人信息,包括:姓名,年龄,性别,电话以结构体的形式存储在计算机中,并建立结构体数组。
/*手机通讯录结构定义*/
struct friends_list
{
char name[10]; /* 姓名 */
int age; /* 年龄 */
char sex[5]; /* 性别 */
char telephone[13]; /* 联系电话 */
};
int Count = 0; /* 全局变量记录当前联系人总数 */
3.3详细设计
(1) 函数及参数说明
函数名new_friend
函数原型 insert()
函数功能函数原型添加一组新数据并返回欢迎界面查看选项参数说明:无参数要求
函数名search_friend
函数原型 search_name()
函数功能按姓名查找并返回欢迎界面查看选项
参数说明:无参数要求
函数名update_friend
函数原型update_number()
函数功能修改联系人信息并返回欢迎界面查看选项
参数说明:无参数要求
函数名delete_friend
函数原型delete()
函数功能按姓名查找并删除数据并返回欢迎界面查看选项参数说明:无参数要求
函数名show_friend
函数功能显示所有联系人并返回欢迎界面查看选项
参数说明:无参数要求
(2 )模块说明
模块一
void new_friend(struct friends_list friends[ ])
{
struct friends_list f ;
if(Count == 50)
{
printf("通讯录已满!\n");
return;
}
printf("请输入新联系人的姓名:");
scanf("%s", );
printf("请输入新联系人的年龄:");
scanf("%d", &f.age);
printf("请输入新联系人的性别:");
scanf("%s", f.sex);
printf("请输入新联系人的联系电话:");
scanf("%s", f.telephone);
printf("\n");
friends[Count] = f;
Count++;
}
模块二
void search_friend(struct friends_list friends[ ], char *name)
{ int i, flag = 0;
if(Count == 0)
{
printf("通讯录是空的!\n");
return;
}
for(i = 0; i < Count; i++)
if(strcmp(name, friends[i].name) == 0) /* 找到联系人*/ {
flag=1;
break;
}
if(flag)
{
printf("姓名: %s\t", friends[i].name);
printf("年龄: %d\t", friends[i].age);
printf("性别: %s\t", friends[i].sex);
printf("电话: %s\n", friends[i].telephone);
}
else
printf("无此联系人!\n");
printf("\n");
}
模块三
void update_friend(struct friends_list friends[ ], char *name)
{ int i, flag = 0;
if(Count == 0)
{
printf("没有查询到!\n");
return;
}
for(i = 0; i < Count; i++)
if(strcmp(name, friends[i].name) == 0) /* 找到联系人*/ {
flag=1;
break;
}
if(flag)