struct library{
int id;
int qty;
char name[50];
};
int SearchBookID(const struct library b[],int SearchID,int start,int end)
{
if(start<end && b[start].id == SearchID)
{
printf("%s %d %d",b[start].name,b[start].id,b[start].qty);
return 1;
}
else
{
SearchBookID(b,SearchID,end,start++);
}
}
void main()
{
int choice;
char ans;
int SeID;
printf("Welcome to the Library.\n");
do
{
printf("Please choose an option:\n");
printf("1.Insert a book\n");
printf("2.Delete a book by ID\n");
printf("3.Search a book by ID\n");
printf("4.Search a book by name\n");
printf("5.Display all books (sorted by name)\n");
printf("6.Display all books (unsorted)\n");
scanf("%d",&choice);
switch (choice){
case 1:
break;
case 2:
break;
case 3:
printf("please enter book ID:");
scanf("%d",&SeID);
SearchBookID(struct library b[],SeID,0,50);
break;
case 4:
break;
case 5:
break;
case 6:
break;
default:
printf("Invalid Choice. Please try again.\n");
break;
}
printf("do you want to choose another option?(y/n) ");
scanf(" %c",&ans);
}while(ans == 'y');
}
Я продолжаю получать эти две ошибки, и я не понимаю почему, особенно ошибка «слишком мало аргументов». Я попытался определить структуру как глобальную переменную с помощью typedef, но ошибка все еще сохраняется, и когда я добавляю дополнительные аргументы в функцию, она все еще говорит «слишком мало аргументов». Кто угодно может помочь.