Создать массив структур, содержащий сведения о товарах - 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;
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы
  2. Определяется структура Record, которая содержит поля name, code и date
  3. Определяются функции init и print, которые работают со структурой Record
  4. В функции main считывается количество товаров N
  5. Выделяется память под массив структур Record с помощью функции malloc
  6. В цикле с помощью функции init заполняются поля структуры Record для каждого товара
  7. Выводится информация о каждом товаре с помощью функции print
  8. Выделяется память освобождается с помощью функции free
  9. Возвращается 0, чтобы указать, что программа успешно завершилась

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5
Похожие ответы