求大神解释c语言通讯录管每理系统中我下面写的每一步函数的意思

intDelete_a_record(Personper[],intn)//删除函数{chars[20];inti=0,j;printf("\t请输入想删除记录中的名字:... int Delete_a_record(Person per[],int n) //删除函数
{
char s[20];
int i=0,j;
printf("\t请输入想删除记录中的名字:");
scanf("%s",s);
while(strcmp(per[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return(n);
}
for(j=i;j<n-1;j++)
{ strcpy(per[j].score,per[j+1].score);
strcpy(per[j].num,per[j+1].num);
strcpy(per[j].name,per[j+1].name);
strcpy(per[j].adds,per[j+1].adds);
}
printf("\t\t\t已经成功删除!\n");
return(n-1);
}

  谢谢大神,麻烦一下再帮帮我翻译一下这两块程序的每一 步含义,不胜感激
展开
 我来答
君上沙夏
2013-07-16 · TA获得超过484个赞
知道小有建树答主
回答量:182
采纳率:50%
帮助的人:121万
展开全部
int Delete_a_record(Person per[],int n) //删除函数
{
char s[20]; 定义字符数组用于接受名字
int i=0,j; 定义变量
printf("\t请输入想删除记录中的名字:");
scanf("%s",s); 接收名字
while(strcmp(per[i].name,s)!=0&&i<n) i++; 调用系统函数strcmp比较字符串大小
if(i==n) 判断是否有此人存在
{
printf("\t通讯录中没有此人!\n");
return(n);
}
for(j=i;j<n-1;j++) 如果存在就将从他以后的每一个值付给前一个达到删除目的
{ strcpy(per[j].score,per[j+1].score);
strcpy(per[j].num,per[j+1].num);
strcpy(per[j].name,per[j+1].name);
strcpy(per[j].adds,per[j+1].adds);
}
printf("\t\t\t已经成功删除!\n");
return(n-1);
}
来自:求助得到的回答
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器每转输出60(我们用老板没有说)个脉冲,五线制。其中两根为电源线,三根为脉冲线(A相、B相、Z)。电源的工作电压为 (+5~+24V)直流电源。光... 点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
百度网友455632d898
2013-07-16 · TA获得超过275个赞
知道小有建树答主
回答量:804
采纳率:0%
帮助的人:339万
展开全部
第一步,先查找到这个人的通讯录有没有。没有的就返回;
第二步,找到以后,就要删除。由于数据是用数组存储的。所以要把后面的数据往前面挪,覆盖要输出的记录。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式