ВУЗ:
Составители:
Рубрика:
5
printf(“Введите год издания книги: “);
scanf(“%d”,&lib.year);
После этого в соответствующие поля будет записана введенная с
клавиатуры информация и хранится в единой переменной lib. Однако по
условиям задачи необходимо осуществлять запись не по одной, а по 100
книгам. В этом случае целесообразно использовать массив структур типа book,
который можно задать следующим образом:
struct book lib[100];
В этом случае программу ввода и хранения информации по книгам можно
записать в виде:
Листинг 1. Инвентарный перечень книг.
#include <stdio.h>
struct book {
char title[100]; //наименование книги
char author[100]; //автор
int year; //год издания
};
int main()
{
int cnt_book = 0, ch;
struct book lib[100];
do
{
printf(“Введите наименование книги: “);
scanf(“%s”,lib[cnt_book].title);
printf(“Введите автора книги: “);
scanf(“%s”,lib[cnt_book].author);
printf(“Введите год издания книги: “);
scanf(“%d”,&lib.year);
printf(“Нажмите q для завершения ввода: ”);
cnt_book++;
}
while(scanf(“%d”,ch) == 1 && cnt_book < 100);
return 0;
}
Данный пример показывает удобство хранения информации по книгам. Тот
же алгоритм в общем случае можно реализовать и без структуры, но тогда
пришлось бы использовать два двумерных массива символов и один
одномерный массив для хранения года издания. Несмотря на то, что формально
такая запись была бы корректной с точки зрения языка
С, но менее удобна в
обращении. Графически массив структур можно представить в виде таблицы, в
которой роль столбцов играют поля, а роль строк элементы массива структур.
Страницы
- « первая
- ‹ предыдущая
- …
- 3
- 4
- 5
- 6
- 7
- …
- следующая ›
- последняя »