Опрацювання структур
Автор: Галина Петрук • Март 16, 2023 • Лабораторная работа • 3,353 Слов (14 Страниц) • 119 Просмотры
ХМЕЛЬНИЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
Факультет Інформаційних технологій
Кафедра інженерії програмного забезпечення
Лабораторна робота № 10
з дисципліни «Основи програмування»
на тему:
«Опрацювання структур»
Виконав:
студент 1 курсу, групи ІПЗ-22-1, варіант 3 ______________ Д. О. Горбатюк
(підпис)
Перевірив: ______________ Г. І. Прокопчук
(підпис)
Хмельницький – 2022 р.
Мета роботи. Вивчити основні способи оголошення та ініціалізації структур; отримати навики опрацювання структур, в т. ч. з використанням вказівників.
Завдання.
Задача №1 Відомості про продані товари (не менше п’яти найменувань товарів) за день: назва, ціна, кількість. Значення елементів структур масиву задати ініціалізацією. Вивести ці відомості у вигляді таблиці. Знайти сумарну виручку магазину за кожний вид товару та вивести таблицю з доданим полем «вартість». Вивести також: а) перелік найменувань товару, продана кількість яких не менша заданого числа; б) назву товару, за який магазин отримав найбільшу виручку; в) сумарну виручку за день. | Задача №2 Розв’язати цю саму задачу, розмістивши масив структур у динамічній пам’яті. Кількість найменувань товарів ввести з клавіатури. Значення елементів структури вводити з клавіатури. |
Хід роботи
Задача №1.
Програмний код
#include <conio.h>
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
#include <string.h>
void line(int);
struct spisok {
char name[30];
int price;
int kilk;
int vurych;
} tovar[] = {
{"Телефон", 7900, 3, 0},
{"Телевiзор", 20000, 1, 0},
{"Блендер", 3000, 4, 0},
{"Мiкрофон", 5000, 2, 0},
{"Навушники", 100, 5, 0}
};
void line(int n)
{
int i;
for(i=0;i<n;i++)
printf("-");
printf("\n");
return;
}
int main()
{
int i, n, p_max, j=0;
int sum = 0;
int kol = sizeof(tovar) / sizeof(struct spisok);
setlocale(0, ".1251");
line(41);
printf("| НАЗВА | ЦIНА | КIЛЬКIСТЬ |\n");
line(41);
for (i = 0; i < kol; i++)
printf("|%14s|%9iгрн|%6i штук|\n", tovar[i].name, tovar[i].price, tovar[i].kilk);
line(41);
printf("\n");
for (i = 0; i < kol; i++)
{
tovar[i].vurych = tovar[i].price*tovar[i].kilk;
}
line(53);
printf("| НАЗВА | ЦIНА | КIЛЬКIСТЬ | ВИРУЧКА |\n");
line(53);
for (i = 0; i < kol; i++)
printf("|%14s|%9iгрн|%6i штук|%8iгрн|\n", tovar[i].name, tovar[i].price, tovar[i].kilk,tovar[i].vurych);
...