c语言,要怎么改下面的错误cannot convert parameter 2 from 'char' to 'const char *'
voiddel_student(structstudent_liststu[],charname){inti,j,h;charnames;printf("请输入要删除的学...
void del_student(struct student_list stu[],char name)
{
int i,j,h;
char names;
printf("请输入要删除的学生的姓名:");
scanf("%d",&names);
for(i=0;i<max;i++){
if (strcmp(stu[i].name,names)==0)break;
else printf("\n您输入的姓名不存在,请重试!\n");
}
printf("你要删除的学生信息为:\n1.删除2.取消");
printf("%d%s%s%d%d%s%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].grade,stu[i].department,stu[i].specialty);
scanf("%d",&h);
if(h==2) ;
if(h==1){
for(j=i;j<max;j++){
stu[j]=stu[j+1];
printf("删除成功!\n");
}
max--;
}
} 展开
{
int i,j,h;
char names;
printf("请输入要删除的学生的姓名:");
scanf("%d",&names);
for(i=0;i<max;i++){
if (strcmp(stu[i].name,names)==0)break;
else printf("\n您输入的姓名不存在,请重试!\n");
}
printf("你要删除的学生信息为:\n1.删除2.取消");
printf("%d%s%s%d%d%s%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].grade,stu[i].department,stu[i].specialty);
scanf("%d",&h);
if(h==2) ;
if(h==1){
for(j=i;j<max;j++){
stu[j]=stu[j+1];
printf("删除成功!\n");
}
max--;
}
} 展开
1个回答
展开全部
代码结构就有问题.
1 如果names在函数内输入, 那么参数names有什么用处
2 stu结构体中name应该是字符串吧, 那么 不管是name还是names 都应该是字符串.
3 输入char型怎么可以用%d
大致改了一下 你看看吧
void del_student(struct student_list stu[])
{
int i,j,h;
char names[100];
printf("请输入要删除的学生的姓名:");
scanf("%s",names);
for(i=0;i<max;i++){
if (strcmp(stu[i].name,names)==0)break;
}
if(i==max)
printf("\n您输入的姓名不存在,请重试!\n");
else
{
printf("你要删除的学生信息为:\n1.删除2.取消");
printf("%d %s %s %d %d %s %s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].grade,stu[i].department,stu[i].specialty);
scanf("%d",&h);
if(h==1){
for(j=i;j<max;j++){
stu[j]=stu[j+1];
printf("删除成功!\n");
}
max--;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询