用C语言怎么实现个人通讯录管理系统-创新互联
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

这篇文章将为大家详细讲解有关用C语言怎么实现个人通讯录管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
主框架:

1、函数声明
关于这里的函数声明,主要是为了可以清楚的了解整个系统的功能,这里不做过多介绍。还有结构体链表的创建,贯穿了各个功能代码部分,必不可少。
2、联系人的添加
这部分主要涉及联系人的姓名、地址、电话、QQ号和邮箱(当然需要其他功能可自行添加),考虑到数组操作不便前提下,使用链表的尾插法,通过不断开创新的结点,然后不断将新的结点的地址指向尾结点,使尾结点不断后移,而新创的结点时按照添加的先后顺序进行连接(参考下图可快速理解,此图片来源于网络),当然其中某些项的条件限制也是必不可少的。比如:电话、QQ号、邮箱

int Addpeo() //添加联系人
{
int t,n,a;
char flag='y'; //仅作为第一次执行条件
ptcs p=head,q;
while(flag!='n'&&flag!='N') //判断是否继续添加
{
q=(ptcs)malloc(sizeof(pcs)); //申请内存
p->next=q; //赋予下一个节点
p=q;
q->next=NULL; //尾结点地址赋空值 ,尾插法
printf("\n\t请输入:\n");
printf("\t\t姓名:");
scanf("\t\t%s",q->chat.name);
printf("\t\t地址:");
scanf("\t\t%s",q->chat.add);
printf("\t\t手机号:");
scanf("\t\t%s",q->chat.tel);
do
{
n=0; //仅做记录
if(strlen(q->chat.tel)!=11) //计算手机号的长度 ,判断是否输入规范
{
n=1;
printf("\t\t您输入的手机号格式不存在,请重新输入:");
scanf("\t\t%s",q->chat.tel);
}
else
{
for(t=0;t<11;t++)
{
if(q->chat.tel[t]<'0'||q->chat.tel[t]>'9')
{
n=1;
printf("\t\t您输入的手机号格式不合理,请重新输入:");
scanf("\t\t%s",q->chat.tel);
break;
}
}
}
}while(n);
//输入QQ号
printf("\t\tQQ号:");
scanf("\t\t%s",q->chat.tecent);
do
{
n=0;
if(strlen(q->chat.tecent)>10) //以10位QQ号为准,判断是否符合规范
{
n=1;
printf("\t\t您输入的QQ号格式不存在,请重新输入:");
scanf("\t\t%s",q->chat.tecent);
}
else
{
for(t=0;t<10;t++)
{
if(q->chat.tecent[t]<'0'||q->chat.tecent[t]>'9')
{
n=1;
printf("\t\t您输入的QQ号格式不合理,请重新输入:");
scanf("\t\t%s",q->chat.tecent);
break;
}
}
}
}while(n);
//输入邮箱
printf("\t\tEmail:");
scanf("\t\t%s",q->chat.email);
do
{
//判断邮箱 @符号输入规范(这里不限定邮箱号码位数)
a=0;
for(t=0;q->chat.email[t]!='\0';t++)
{
if(q->chat.email[t]=='@')
a++; //@数为1
}
if(a!=1)
{
printf("\t\t输入的邮箱格式不合理,请重新输入:");
scanf("\t\t%s",q->chat.email);
}
}while(a!=1); //是否输入@ ,为1则终止循环
printf("\n\t是否继续添加?(Y/N)");
scanf("\t%c",&flag);
}
return 0;
} 本文题目:用C语言怎么实现个人通讯录管理系统-创新互联
转载源于:http://www.jxjierui.cn/article/dsiche.html


咨询
建站咨询
