我正在编写一个代码,如果输入的名称与列表中的名称不匹配,则会显示“找不到狗”。如果没有,则打印列表。
我的问题是多次打印“找不到狗”,而不只是打印一次。
代码:
void search (struct dog *list)
{
char name[NAME_LEN+1];
struct dog *p;
printf("Enter dog’s name: \n");
scanf("%s", name);
name[0] = toupper(name[0]);
for(p = list; p != NULL; p = p->next)
{
if(strcmp(name, p->dog_name) != 0)
{
printf("Dog not found.");
}
else
{
printf("\n");
printf("%d \t",p->number);
printf("%s \t",p->dog_name);
printf("%s \t",p->breed);
printf("%s \t",p->owner_last_name);
}
}
}