C语言课设电话簿管理系统.docx
《C语言课设电话簿管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课设电话簿管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
C语言课设电话簿管理系统
高级语言课程设计
任务书及说明书
设计题目电话簿管理系统
学院计算机与通信学院
专业、年级通信工程1班
学生杨智刚
学号____1416530101_
指导教师
时间2015年春季学期
1摘要……………………………………………………………3
2前言……………………………………………………………4
3正文……………………………………………………………5
3.1系统分析
3.2系统总体设计
3.3详细设计
3.4系统测试
4参考文献………………………………………………………16
5总结……………………………………………………………17
附录:
程序源代码
1摘要
本次课程设计采用C语言,开发了一个基本的电话簿管理系统,该系统具备了按联系人姓名查找并输出联系人信息,按联系人姓名查找并删除数据,输出全部联系人信息数据,对联系人的管理也可以更加方便快捷。
关键词:
C语言;课程设计;电话簿管理系统
2前言
随着交际能力的广泛性的提高,朋友的数量逐渐增多,但是在联系人管理方面总是出现联系人姓名、年龄等出现错误的诸多问题。
本文针对上述问题,采用软件工程的开发原理,根据软件流程过程规范,按照需求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个电话簿管理系统。
采用c语言作为开发工具,设计了这个电话簿管理系统,解决了联系人信息管理中存在的数据安全性、数据一致性等问题。
3、正文
3.1系统分析
3.3.1.设计要求
该设计要求以方便查找和管理联系人为背景,设计、开发一套“电话簿管理系统”软件。
通过该题目的设计过程,可以培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,针对c语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
得到软件工程的综合训练,提高解决实际问题的能力。
3.3.2设计任务
1、以电话簿管理业务为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型;
2、完成软件结构设计和算法设计;
3、完成系统的软件开发和测试工作
联系人信息包括:
姓名,年龄,性别,电话等。
设计“电话簿管理系统”,使之能提供以下功能:
1.系统以菜单方式工作;
2.联系人信息录入功能;
3.联系人信息浏览功能;
4.查询功能:
按姓名查询;
5.联系人信息的删除与修改。
3.2系统总体设计
一.流程图
二.总体数据结构
本系统采用结构体为主要数据结构,将联系人信息,包括:
姓名,年龄,性别,电话以结构体的形式存储在计算机中,并建立结构体数组。
/*手机通讯录结构定义*/
structfriends_list
{
charname[10];/*姓名*/
intage;/*年龄*/
charsex[5];/*性别*/
chartelephone[13];/*联系电话*/
};
intCount=0;/*全局变量记录当前联系人总数*/
3.3详细设计
(1)函数及参数说明
函数名new_friend
函数原型insert()
函数功能函数原型添加一组新数据并返回欢迎界面查看选项
参数说明:
无参数要求
函数名search_friend
函数原型search_name()
函数功能按姓名查找并返回欢迎界面查看选项
参数说明:
无参数要求
函数名update_friend
函数原型update_number()
函数功能修改联系人信息并返回欢迎界面查看选项
参数说明:
无参数要求
函数名delete_friend
函数原型delete()
函数功能按姓名查找并删除数据并返回欢迎界面查看选项
参数说明:
无参数要求
函数名show_friend
函数功能显示所有联系人并返回欢迎界面查看选项
参数说明:
无参数要求
(2)模块说明
模块一
voidnew_friend(structfriends_listfriends[])
{
structfriends_listf;
if(Count==50)
{
printf("通讯录已满!
\n");
return;
}
printf("请输入新联系人的姓名:
");
scanf("%s",f.name);
printf("请输入新联系人的年龄:
");
scanf("%d",&f.age);
printf("请输入新联系人的性别:
");
scanf("%s",f.sex);
printf("请输入新联系人的联系电话:
");
scanf("%s",f.telephone);
printf("\n");
friends[Count]=f;
Count++;
}
模块二
voidsearch_friend(structfriends_listfriends[],char*name)
{inti,flag=0;
if(Count==0)
{
printf("通讯录是空的!
\n");
return;
}
for(i=0;iif(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");
}
模块三
voidupdate_friend(structfriends_listfriends[],char*name)
{inti,flag=0;
if(Count==0)
{
printf("没有查询到!
\n");
return;
}
for(i=0;iif(strcmp(name,friends[i].name)==0)/*找到联系人*/
{
flag=1;
break;
}
if(flag)
{
printf("请输入年龄:
");
scanf("%d",&friends[i].age);
printf("请输入新联系人的性别:
");
scanf("%s",friends[i].sex);
printf("请输入电话号码:
");
scanf("%s",friends[i].telephone);
}
else
printf("无此联系人!
\n");
printf("\n");
}
模块四
voiddelete_friend(structfriends_listfriends[],char*name)
{inti,j,flag=0;
if(Count==0)
{
printf("没有查询到!
\n");
return;
}
for(i=0;iif(strcmp(name,friends[i].name)==0)/*找到联系人*/
{
flag=1;
break;
}
if(flag)
{
for(j=i;jfriends[j]=friends[j+1];
flag=0;
Count--;
}
else
printf("无此联系人!
\n");
printf("\n");
}
模块五
voidshow_friend(structfriends_listfriends[],char*name)
{
inti;
printf("姓名年龄性别电话号码\n");
for(i=0;i{
printf("\n");
printf("%23s",friends[i].name);
printf("%6d",friends[i].age);
printf("%11s",friends[i].sex);
printf("%22s\n",friends[i].telephone);
}
}
模块六
intmain(void)
{intchoice;charname[10];
structfriends_listfriends[50];/*包含50个人的通讯录*/
do
{
printf("*************************************\n");
printf("欢迎使用手机通讯录\n");
printf("*************************************\n");
printf("1----新建(Insert)4----删除(Delete)\n\n");
printf("2----查询(Search)5----显示(Show)\n\n");
printf("3----修改(Update)0----退出(Exit)\n\n");
printf("*********************************请选择功能*************************************");
scanf("%d",&choice);
printf("\n");
switch(choice)
{
case1:
new_friend(friends);break;
case2:
printf("请输入要查找的联系人名:
");
scanf("%s",name);
search_friend(friends,name);
break;
case3:
printf("请输入要修改的联系人名:
");
scanf("%s",name);
update_friend(friends,name);
break;
case4:
printf("请输入要删除的联系人名:
");
scanf("%s",name);
delete_friend(friends,name);
break;
case5:
printf("通讯录联系好友:
\n");printf("\n");
show_friend(friends,name);
break;
case0:
break;
}
}while(choice!
=0);
printf("谢谢使用通讯录功能!
\n");
return0;
}
3.4系统测试
1.欢迎界面
2.录入联系人信息
运行结果
3.联系人信息修改
运行结果