Создать массив структур, содержащий сведения о товарах - C (СИ)
Формулировка задачи:
С клавиатуры в массив структур ввести N записей с данными про товары, которые поступили на склад:
<Название товара>
,<Код>
,<Дата выпуска>
.<Код>
- долгое целое число,<Дата выпуска>
- символьный рядок видаДень.Месяц.Год
- все три элемента которого целые числа. процент товаров, которые поступили за последний год.Решение задачи: «Создать массив структур, содержащий сведения о товарах»
textual
Листинг программы
#include <stdio.h> #include <malloc.h> #define STR_SIZE 50 typedef struct { char name[STR_SIZE]; long int code; int date[3]; } Record; void init(Record *r) { printf("Enter name: "); scanf("%s", r->name); printf("Enter code: "); scanf("%ld", &r->code); printf("Enter day: "); scanf("%d", &r->date[0]); printf("Enter month: "); scanf("%d", &r->date[1]); printf("Enter year: "); scanf("%d", &r->date[2]); } void print(const Record *r) { printf("Name: %s\n", r->name); printf("Code: %ld\n", r->code); printf("Date: %d %d %d\n\n", r->date[0], r->date[1], r->date[2]); } int main(void) { int N, i; Record *r; printf("Enter N: "); scanf("%d", &N); r = malloc(sizeof(Record) * N); for (i=0; i < N; i++) { printf("\n#%d\n", i+1); init(&r[i]); } printf("\nResult:\n"); for (i=0; i < N; i++) print(&r[i]); free(r); return 0; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Определяется структура Record, которая содержит поля name, code и date
- Определяются функции init и print, которые работают со структурой Record
- В функции main считывается количество товаров N
- Выделяется память под массив структур Record с помощью функции malloc
- В цикле с помощью функции init заполняются поля структуры Record для каждого товара
- Выводится информация о каждом товаре с помощью функции print
- Выделяется память освобождается с помощью функции free
- Возвращается 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д