#include<stdio.h>
#include<conio.h>
#include<string.h>
struct books
{
char book_name[100];
char book_author[100];
int book_id;
};
void print(int j,book[j])
{
printf("The name of book %d is %s",j,book.book_name);
printf("\nThe author of book %d is %s",j,book.book_author);
printf("\nThe id of book %d is %d",j,book.book_id);
}
int main()
{
int b;
printf("Enter the number of books :");
scanf("%d",&b);
for(int i=1;i<=b;i++)
{
struct books book[i];
printf("Enter the details of book %d /n",i);
printf("Enter the book %d name:",i);
scanf("%s",&book[i].book_name);
printf("\n Enter the author of book %d :",i);
scanf("%s",&book[i].book_author);
printf("\n Enter the id of book %d :",i);
scanf("%d",&book[i].book_id);
}
printf("\n The details of the books you entered are given below:\n");
for(int j=1;j<=b;j++)
{
print(int j,book[j]);
}
getch();
return 0;
}
ERRor: -> [Error] «книга» не был объявлен в этой области в функции печати ... Как я могу изменить масштаб объекта STRUCT к глобальному? Я создаю библиотеку, такую как среда, и печатаю имя книги и ее детали, используя структуры. Но создаваемые объекты выходят за рамки scope.it, как в журнале ошибок. Помогите мне решить prblm.получения ошибок и помочь мне решить этот гр
Вообще, поставить символ новой строки в конце каждого 'Е()' заявление. Не ставьте его в начале; не оставляйте последнюю строку вывода без новой строки. Все остальное в стороне, выход не гарантируется на экране, пока вы не выведете новую строку (хотя функции ввода, такие как 'getch()' и 'scanf()' часто делают flush 'stdout' перед чтением любого ввода. –