Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

База данных в виде массива структур

Автор:   •  Апрель 1, 2022  •  Лабораторная работа  •  728 Слов (3 Страниц)  •  306 Просмотры

Страница 1 из 3

Отчет по лабораторной работе №5 Вариант 20

Задание 1

Написать программу, работающую с базой данных в виде массива структур и выполняющую последовательный ввод данных в массив и последующую распечатку его содержимого.

Состав структуры:

  • Наименование микросхемы
  • Тип корпуса
  • Наименование изготовителя
  • Цена

Код программы

#include <stdio.h> #include <stdlib.h> #include <string.h>

#define MaxLenStr 80

#define CountElem 3

struct ELEM

{

char Name[MaxLenStr]; char Type[MaxLenStr];

char NameManufacturer[MaxLenStr]; float Price;

};

int main()

{

struct ELEM list[CountElem];

for (int i = 0; i < CountElem; i++)

{

printf("Введите данные %d-й схемы:\n", i+1); printf("Наименование схемы: ");

scanf("%s", &list[i].Name); printf("Тип схемы: "); scanf("%s", &list[i].Type); printf("Изготовитель: ");

scanf("%s", &list[i].NameManufacturer); printf("Цена: ");

scanf("%f", &list[i].Price);

}

printf("Список схем:\n");

for (int i = 0; i < CountElem; i++)

{

printf("        \n"); printf("Наименование схемы: %s\n", list[i].Name); printf("Тип схемы: %s\n", list[i].Type);[pic 1]

printf("Изготовитель: %s\n", list[i].NameManufacturer); printf("Цена: %f\n", list[i].Price);

printf("        \n");[pic 2]

}

system("pause"); return 0;

}

Пример работы программы

[pic 3]

Задание 2

Переписать программу п. 1, используя массив указателей на структуру и динамическое выделение памяти. Выполнить сортировку массива. Расположить записи в массиве в порядке возрастания цены.

Код программы

#include <stdio.h> #include <stdlib.h> #include <string.h>

#define MaxLenStr 80

#define CountElem 3

struct ELEM

{

char Name[MaxLenStr]; char Type[MaxLenStr];

char NameManufacturer[MaxLenStr]; float Price;

};

int main()

{

struct ELEM *list[CountElem];

for (int i = 0; i < CountElem; i++)

{

list[i] = malloc(sizeof(struct ELEM));

printf("Введите данные %d-й схемы:\n", i+1); printf("Наименование схемы: ");

scanf("%s", &list[i]->Name); printf("Тип схемы: "); scanf("%s", &list[i]->Type); printf("Изготовитель: ");

scanf("%s", &list[i]->NameManufacturer); printf("Цена: ");

scanf("%f", &list[i]->Price);

}

for (int i = 0; i < CountElem - 1; i++)

{

for (int j = (CountElem - 1); j > i; j--)

{

if (list[j - 1]->Price > list[j]->Price)

{

struct ELEM * tmp = list[j - 1]; list[j - 1] = list[j];

list[j] = tmp;

}

}

}

printf("Отсортированный список схем:\n"); for (int i = 0; i < CountElem; i++)

{

printf("        \n"); printf("Наименование схемы: %s\n", list[i]->Name); printf("Тип схемы: %s\n", list[i]->Type);[pic 4]

printf("Изготовитель: %s\n", list[i]->NameManufacturer); printf("Цена: %f\n", list[i]->Price);

printf("        \n");[pic 5]

}

system("pause"); return 0;

}

Пример работы программы

[pic 6]

Контрольные вопросы

  1. Перечислите правила описания структур.

Ответ: описание структуры начинается с ключевого слова struct и содержит список деклараций, заключенный в фигурные скобки {}. За словом struct может следовать имя, называемое тегом структуры. Тег дает название структуре данного вида и далее может служить кратким обозначением той части декларации, которая заключена в фигурные скобки.

...

Скачать:   txt (9.4 Kb)   pdf (145.2 Kb)   docx (45.1 Kb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club