fflush(stdin);
for(int nima = 0; num[nima]; nima++)
{
if (num[nima]48 || num[nima]57)
{
flag = 0;
break;
}
}
if(flag==1)
break;
}
n=atoi(num);
printf("请输入记录:\n"); /*提示输入记录*/
printf("姓名单位电话手机关系邮箱QQ\n");
printf("--------------------------------------------------------------------------\n");
for(i=0;in;i++)
{
scanf("%s%s%s%s%s%s%s",t[i].name,t[i].units,t[i].tele,t[i].m_ph,t[i].rela,t[i].email,t[i].qq);/*输入记录*/
fflush(stdin);
for(int k=0;k=19;k++)
{
if((t[i].tele[k]='a't[i].tele[k]='z' )|| (t[i].tele[k]='A't[i].tele[k]='Z'))
{
printf("电话输入错误!请重新输入联系人信息\n");
i--;
break;
}
if((t[i].m_ph[k]='a't[i].m_ph[k]='z' )|| (t[i].m_ph[k]='A't[i].m_ph[k]='Z'))
{
printf("手机输入错误!请重新输入联系人信息\n");
i--;
break;
}
if((t[i].qq[k]='a't[i].qq[k]='z' )|| (t[i].qq[k]='A't[i].qq[k]='Z'))
{
printf("QQ输入错误!请重新输入联系人信息\n");
i--;
break;
}
}
printf("--------------------------------------------------------------------------\n");
}
return n;/*返回记录条数*/
}
/*显示记录,参数为记录数组和记录条数*/
void list(ADDRESS t[],int n)
{
int i;
system("cls"); /*清屏*/
printf("\n\n************************************************************************\n");
printf("姓名单位电话手机关系邮箱QQ\n");
printf("--------------------------------------------------------------------------\n");
for(i=0;in;i++)
printf("%-10s%-14s%-12s%-12s%-10s%-12s%-14s\n",t[i].name,t[i].units,t[i].tele,t[i].m_ph,t[i].rela,t[i].email,t[i].qq);
if((i+1)%10==0)/*判断输出是否达到10条记录*/
{
printf("按任意键显示下一页\n"); /*提示信息*/
getch();/*按任意键继续*/
}
printf("*********************************结束***********************************\n");
}
/*查找记录*/
void search(ADDRESS t[],int n)
{
char s[20];/*保存待查找姓名字符串*/
int i;/*保存查找到结点的序号*/
system("cls"); /*清屏*/
printf("请输入待查找姓名:\n");
scanf("%s",s); /*输入待查找姓名*/
i=find(t,n,s); /*调用find函数,得到一个整数*/
if(in-1)/*如果整数i值大于n-1,说明没找到*/
{
printf("未找到!!!\n");
getch();
}
else
print(t[i]);/*找到,调用显示函数显示记录*/
}
/*显示指定的一条记录*/
void print(ADDRESS temp)
{
system("cls"); /*清屏*/
printf("\n\n************************************************************************\n");
printf("姓名单位电话手机关系邮箱QQ\n");
printf("--------------------------------------------------------------------------\n");
printf("%-10s%-14s%-12s%-12s%-10s%-12s%-14s\n",temp.name,temp.units,temp.tele,temp.m_ph,temp.rela,temp.email,temp.qq);
printf("*********************************结束***********************************\n");
getchar();
}
/*查找函数,参数为记录数组和记录条数以及姓名s */
int find(ADDRESS t[],int n,char *s)
{
int i;
system("cls"); /*清屏*/
for(i=0;in;i++)/*从第一条记录开始,直到最后一条*/
{
if(strcmp(s,t[i].name)==0)/*记录中的姓名和待比较的姓名是否相等*/
return i;/*相等,则返回该记录的下标号,程序提前结结束*/
}
return i;/*返回i值*/
getch();
}
/*删除函数,参数为记录数组和记录条数*/
int Delete(ADDRESS t[],int n)
{
char s[20];/*要删除记录的姓名*/
char ch;
int i,j;
system("cls"); /*清屏*/
printf("请输入待删除的姓名:\n"); /*提示信息*/
scanf("%s",s);/*输入姓名*/
i=find(t,n,s); /*调用find函数*/
if(in-1)/*如果in-1超过了数组的长度*/
printf("未找到!!!\n"); /*显示没找到要删除的记录*/
else
{
print(t[i]); /*调用输出函数显示该条记录信息*/
printf("确定删除?(Y/N)\n");/*确认是否要删除*/
scanf("%c",ch);/*输入一个整数0或1*/
if(ch=='y' || ch=='Y')/*如果确认删除输入y*/
{
for(j=i+1;jn;j++)/*删除该记录,实际后续记录前移*/
{
strcpy(t[j-1].name,t[j].name); /*将后一条记录的姓名拷贝到前一条*/
strcpy(t[j-1].units,t[j].units); /*将后一条记录的单位拷贝到前一条*/
strcpy(t[j-1].tele,t[j].tele); /*将后一条记录的电话拷贝到前一条*/
strcpy(t[j-1].m_ph,t[j].m_ph); /*将后一条记录的手机拷贝到前一条*/
秒懂生活扩展阅读
- 为什么做的PPT中缺少点设计感
- C语言中如何输入坐标
- 汉语言专业想考研有哪些方向
- 网络与新媒体专业的主干课程
- 服装设计助理面试内容
- 摄影学校学习有哪些课程
- c语言中如何强制转换实数类型
- 落花生教学设计思路怎么说 落花生教学设计
- 无人超市设计 超市设计
- 申请外观设计专利的条件有哪些