Код с комментариями
Fclose (out); // закрытия потока файла. Скриншот контрольных примеров. Struct _produkt { // структурный массив. Setlocale (LC_ALL, «RUS»); // локализация. Fprintf (out, «Цена: %.3f «, produkt. price); Int nomerserii; // серия выпуска (??). Printf («Введите № серии: «); Float price; // цена продукции. Scanf («%s», produkt. dataproizvodstva); Scanf («%s», produkt. nameprodukta); Scanf («%d… Читать ещё >
Код с комментариями (реферат, курсовая, диплом, контрольная)
#include // библиотеки.
#include.
#include.
#include.
#include.
int main (void) {.
char fname[20] = «bazapoductov.txt»; // имя создаваемого файла.
FILE *out;
int i, N; // переменные.
struct _produkt { // структурный массив.
char nameprodukta[22]; // переменная наименования продукции.
char dataproizvodstva[20]; // дата производства.
int srokgodno; // срок годности, указанный в днях (сколько осталось).
float price; // цена продукции.
int nomerserii; // серия выпуска (??).
};
struct _produkt produkt[100]; // записи могут формироваться до определенного «потолка» (в нашем случаи 100).
setlocale (LC_ALL, «RUS»); // локализация.
printf («Программа заполняет структуру: „“ Продукты» ««); // описание функционала прог-мы.
printf («Сколько вы хотите ввести записей? (Введите число) «); // спрашивает у пользователя кол-во вводимых записей.
scanf («%d», &N); // считывания числа с консоли.
for (i = 0; i < N; i++) // цикл, который будет предлагать пользователю вводить определенную информацию (будет происходить пока i меньше кол-ва желаемых пользователя.
{printf («Введите название продукта: «);
scanf («%s», produkt[i]. nameprodukta);
printf («Введите дату производства: «);
scanf («%s», produkt[i]. dataproizvodstva);
printf («Введите срок годности (сколько осталось в днях?): «);
scanf («%d», &produkt[i]. srokgodno);
printf («Введите стоимость товара: «);
scanf («%f», &produkt[i]. price);
printf («Введите № серии: «);
scanf («%d», &produkt[i]. nomerserii);
}.
if ((out = fopen (fname, «wt»)) == NULL) // цикл для создания файла, и вывод ошибки, если файл не сможет создаться.
{.
printf («Ошибка открытия для записи «);
}.
fprintf (out, «—Информация о продуктах— «); // записывается в файл.
for (i = 0; i < N; i++) // цикл для сохранения и записи в файл.
{.
setlocale (LC_ALL, «RUS»);
fprintf (out, «Наименование: %s «, produkt[i]. nameprodukta);
fprintf (out, «Дата производства: %s «, produkt[i]. dataproizvodstva);
fprintf (out, «Срок годности: %d «, produkt[i]. srokgodno);
fprintf (out, «Цена: %.3f «, produkt[i]. price);
fprintf (out, «№ серии продукта: %d «, produkt[i]. nomerserii);
}.
fclose (out); // закрытия потока файла.
for (i = 0; i < N; i++) {.
if (produkt[i]. srokgodno < 5).
{.
printf («———————————————————————————————- «);
printf («—Информация о продукте, срок годности которого меньше 5 дней— «); // вывод информации на поставленный вопрос.
printf («———————————————————————————————- «);
for (i = 0; i < N; i++) // цикл перебирает записи введенные.
{.
for (i = 0; i < N; i++) // внутри верхнего цикла, есть этот, который будет выводить наименование продкута, если его срок годности меньше 5 дней.
{.
produkt[i]. srokgodno < 5? // использована тернарная условная операция.
printf («Наименование: %s «, produkt[i]. nameprodukta) :
printf (««);
}.
}.
}.
if (produkt[i]. srokgodno > 5).
{.
printf («Продукции срока годности меньше 5 дней нет «);
} // сообщение, если не будет продукции, подходящей по условию.
}.
Скриншот контрольных примеров.